VNC-Server作为虚拟X11显示器扩展屏幕问题

VNC-Server作为虚拟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,我遇到了同样的问题,即 xrandr 命令未显示 VIRTUAL1。

然后我就跟着本说明,重用空输出,例如 HDMI-2,效果很好,但是:

  • Gnome(和 xrandr)无法将空输出识别为已连接,并且不会显示虚拟监视器以在扩展桌面或克隆中安排位置。每次在其他输出中连接新的物理监视器时,它都有很大的概率会损坏。

  • 更糟糕的是,由于 gnome-shell(以及下面的嘀咕)不将新的虚拟监视器视为复合帧缓冲区中可视区域的一部分,因此它没有正确重新绘制,并且窗口在移动时会撕裂,甚至会在其后面留下永久的动画痕迹关闭窗口后,即使重新启动 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”选项,可以通过 VIRTUAL1 输出执行推荐的 xrandr 命令,并且可以轻松地将 x11vnc 附加到它。然后,可以在 Gnome 屏幕设置中管理 VIRTUAL1 输出:更改分辨率、移动以排列桌面显示器几何形状、选择克隆或扩展。当 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 -显示: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 客户端连接,并享受您的新显示器!

相关内容