VNC-сервер как виртуальный монитор X11 для расширения экрана

VNC-сервер как виртуальный монитор X11 для расширения экрана

Я пытался следоватьэтот Создать виртуальный экран на моем дисплее, чтобы я мог показать его на удаленном мониторе с помощью VNC-клиента

но когда я пытаюсь добавить свой режим, xrandr --addmode VIRTUAL1xrandr сообщает мне, что у меня нет такого вывода

вот мой текущий вывод дляxrandr -q

Screen 0: minimum 8 x 8, current 4224 x 1080, maximum 16384 x 16384                                               
VGA-0 connected 1024x768+0+312 (normal left inverted right x axis y axis) 304mm x 228mm                           
   1024x768      60.00*+  75.03    70.07                                                                          
   800x600       75.00    72.19    60.32    56.25                                                                 
   640x480       75.00    72.81    59.94                                                                          
   640x350       70.07                                                                                            
DVI-D-0 connected 1280x1024+2944+56 (normal left inverted right x axis y axis) 376mm x 301mm                      
   1280x1024     60.02*+                                                                                          
   1024x768      75.03    75.03    70.07    60.00                                                                 
   800x600       75.00    72.19    60.32    56.25  
   640x480       75.00    72.81    59.94  
HDMI-0 connected primary 1920x1080+1024+0 (normal left inverted right x axis y axis) 531mm x 298mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93 

после небольшого чтения я не смог найти способа создать виртуальный вывод для расширенного экрана моего виртуального рабочего стола.

как добавить новый «виртуальный экран», чтобы можно было транслировать его с помощью VNC на удаленный монитор?

Мне удалось создать новый дисплей и подключиться к нему с помощью VNC, но я не могу расширить этот дисплей до того, который я уже использую.

решение1

Используя Fedora 26, я столкнулся с той же проблемой: VIRTUAL1 не отображался командой xrandr.

Затем я последовалэта инструкция, чтобы повторно использовать пустой выход, например HDMI-2, и это работало довольно хорошо, но:

  • Gnome (и xrandr) не распознает пустой вывод как подключенный и не показывает виртуальный монитор для упорядочивания позиции на расширенном рабочем столе или клоне. Каждый раз, когда новый физический монитор подключается к другому выводу, он имеет высокую вероятность поломки.

  • Хуже всего то, что поскольку gnome-shell (и mutter под ним) не считают новый виртуальный монитор частью видимой области в композитном фреймбуфере, он не перерисовывается должным образом, а окна разрываются при перемещении, оставляя за собой постоянный анимированный след, даже после закрытия окна, даже после перезапуска x11vnc они все еще там.

Затем я последовал за гидом вэта ссылка, и после недолгих проб и ошибок с фиктивным драйвером я обнаружил, что это не обязательно, и достаточно добавить информацию о драйвере "intel" в файл в каталоге /etc/X11/xorg.conf.d, чтобы активировать выходы VIRTUAL1 и VIRTUAL2 и заставить gnome-shell распознавать их как допустимые выходы. (Я также заметил, что имена выходов немного изменились, например, с "eDP-1" на "eDP1") Кроме того, я добавил опцию "TearLess", установив ее в значение true, чтобы драйвер перерисовывался, когда этого не делает композитный менеджер.

~# vi /etc/X11/xorg.conf.d/01-dummy-monitor.conf
Section "Device"
        Identifier      "Configured Video Device"
    Driver "intel"         #CHANGE THIS
    Option "TearLess"   "1"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

После перезапуска сеанса GDM, выбрав опцию "Gnome on Xorg" в раскрывающемся списке входа, рекомендуемые команды xrandr могут быть выполнены через выход VIRTUAL1, и x11vnc может быть легко подключен к нему. Затем выход VIRTUAL1 может управляться в настройках экрана Gnome: изменять разрешение, перемещать для упорядочивания геометрии мониторов рабочего стола, выбирать клонирование или расширение. И все будет работать, пока запущен x11vnc и подключен ваш любимый просмотрщик VNC.

Определите режимы разрешения экрана вашего устройства и подключите их к выходу VIRTUAL1:

## For Samsung Galaxy Tab 10.1
~$ cvt 1280 752
# 1280x752 59.83 Hz (CVT) hsync: 46.72 kHz; pclk: 77.75 MHz
Modeline "1280x752_60.00"   77.75  1280 1344 1472 1664  752 755 765 781 -hsync +vsync
~$ xrandr --newmode "1280x752_60.00"   77.75  1280 1344 1472 1664  752 755 765 781 -hsync +vsync
~$ xrandr --addmode VIRTUAL1 1280x752_60.00

## For monitor HD 1920x1080
~$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
~$ xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
~$ xrandr --addmode VIRTUAL1 1920x1080_60.00

Результат виден в настройках экрана xrandr и Gnome:

~$ xrandr
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080     60.00*+
   1400x1050     59.98
   1600x900      60.00
   1280x1024     60.02
   1280x960      60.00
   1368x768      60.00
   1280x720      60.00
   1024x768      60.00
   1024x576      60.00
   960x540       60.00
   800x600       60.32    56.25
   864x486       60.00
   640x480       59.94
   720x405       60.00
   640x360       60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP2-1 disconnected (normal left inverted right x axis y axis)
DP2-2 disconnected (normal left inverted right x axis y axis)
DP2-3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 connected 1280x752+1920+330 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x752_60.00  59.83*
   1920x1080_60.00  59.96
VIRTUAL2 disconnected (normal left inverted right x axis y axis)

Теперь вы можете легко подключить x11vnc к виртуальному монитору:

  • если вы используете пароль VNC:

    ~$ x11vnc -display :0 -clip xinerama1 -usepw -xrandr -forever -nonc -noxdamage -repeat

  • если вы хотите использовать аутентификацию GDM/XDM:

    ~$ x11vnc -display :0 -clip xinerama1 -xauth /var/lib/gdb/:0.Xauth -xrandr -forever -nonc -noxdamage -repeat

Подключитесь с помощью VNC-клиента и наслаждайтесь новым монитором!!

Связанный контент