X11

VNC-Server 作為虛擬 X11 顯示器擴展螢幕

  • September 11, 2017

從目前正在執行的 X11 會話中,我想提供/執行一個VNC伺服器,以便它在我的系統中顯示為第二個“虛擬”監視器——也就是說,我可以使用它來定位它xrandr,並將視窗拖到它上面。

如果有的話,我怎麼能做到這一點?

編輯:來自 OP 評論中的更多資訊:“也在這裡問過,沒有答案。”

tl;dr:強制將 gfx 卡的“虛擬”輸出設置為顯示模式,然後使用x11vnc.


您可以做到這一點,但有幾個先決條件:

  • 具有多頭功能的顯卡(= 可以渲染多個“桌面”表面)。這是當今最多的卡片。
  • x11vnc,一個成熟的軟體( x11vnc ),用於將 X11 表面(以及其他)導出到VNC客戶端。

如今,大多數消費卡都可以呈現幾種不同的輸出。在顯示的 5 個中,我的可以做 3 個xrandr(eDP1,HDMI

$$ 12 $$,DP$$ 12 $$).

  • 在我的範例中,從xrandr中選擇一個未使用的輸出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 客戶端。

引用自:https://unix.stackexchange.com/questions/156412