Xvfb

使用 xfreerdp 和 Xvfb 的多個監視器

  • October 5, 2021

我正在嘗試在單個 Xvfb 上啟動具有多個螢幕的 X 伺服器,如下所示:

Xvfb :50 -screen 0 1792x1120x24 -screen 1 1792x1120x24

並啟動將使用這兩個螢幕的 RDP 連接:

DISPLAY=:50; xfreerdp /w:1792 /h:1120 /monitors:0,1 /multimon /u:... /p... /v:...

這樣不行,xfreerdp 程序崩潰了。我嘗試了一些組合/span和監控數字/multimon:force,但沒有任何效果。當我在一台顯示器和一台 Xvfb 螢幕上嘗試相同的操作時,它可以工作。我也不明白如何在 xfreerdp 中設置每個螢幕/監視器的解析度,因為我只有 /w 和 /h 中的一個。

xfreerdp /monitor-list在用一兩個螢幕啟動 Xvfb 後也嘗試過。用一個螢幕啟動 Xvfb 後,監視器列表正確列印了它。但是有兩個 xvfb 螢幕,監視器列表什麼也沒列印。

感謝您的任何答案甚至提示!

我已經設法xfreerdp通過使用Xvnc伺服器(的一部分tigervnc-server)而xrandr不是Xvfb

Xvnc :50 -screen 0 1600x600x24 &
DISPLAY=:50
xrandr --setmonitor screen0 800/400x600/300+0+0 VNC-0
xrandr --setmonitor screen1 800/400x600/300+800+0 none
xfreerdp /multimon:force /monitors:0,1 /u:... /p... /v:...

啟動將使用這兩個螢幕的 RDP 連接…DISPLAY=:50

X 螢幕不是監視器。您通常有一個帶有多個監視器的 X 螢幕(通過在不同的監視器上顯示單個幀緩衝區的不同部分)。顯示器相對較新(它們帶有xrandr擴展程序),而螢幕相當舊,今天很少使用。螢幕總是有不同的幀緩衝區,但可以共享一個 X 伺服器連接。但基本上沒有 X 應用程序是以實際使用不同螢幕的方式編寫的。

您的第一個 Xvfb 螢幕位於:50.0,您的第二個螢幕位於:50.1,並且:50是 的縮寫:50.0,因此xfreerdp以所述方式開始只會使用第一個螢幕。

所以你需要xfreerdp在客戶端機器上使用多個螢幕,我不知道是否xfreerdp能做到這一點。至少我沒有看到任何用於配置它的選項。

什麼/multimon是查看與單個顯示器/螢幕相關聯的監視器(即,你得到什麼xrandr)。但Xvfb -screen不是這樣設置的。

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