答案1
tl;dr:强制将显卡的“虚拟”输出设置为显示模式,然后将其导出x11vnc
。
您可以实现这一目标,但有一些先决条件:
- 具有多头功能的显卡(= 可以渲染多个“桌面”表面)。这是现在最多的卡片。
x11vnc
、成熟的软件(x11vnc)将 X11 曲面(除其他外)导出到虚拟网络控制器客户。
如今,大多数消费卡都可以呈现多种不同的输出。我的可以执行 5 个中的 3 个xrandr
(eDP1、HDMI[12]、DP[12])。
选择一个未使用的输出兰德尔,在我的例子中
HDMI2
。选择 vnc 客户端屏幕的分辨率,然后生成一个模式:
$ 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
xrandr --newmode "1920x1080_60" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
将例如置于该模式下,然后附加到(主屏幕)
HDMI2
的右侧eDP1
xrandr --addmode HDMI2 1920x1080_60 --output HDMI2 --mode 1920x1080_60 --right-of eDP1
现在使用 导出它
x11vnc
,选择适当的偏移量:x11vnc -display :0 -clip 1920x1080+1600+0
<other options>
注意:向该命令添加所需的加密/身份验证/其他选项。
现在使用 VNC 客户端连接到您的“虚拟监视器”。 (或修改上述命令以连接到“监听”VNC 客户端。
答案2
看这个答案能够使用 VIRTUAL1 而不是 HDMI2 等实际输出,并且能够像任何其他物理显示器一样在桌面环境屏幕设置中对其进行管理(选择分辨率、安排桌面几何形状、克隆或扩展)。