我试图在单个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中的一个。
在用一两个屏幕启动Xvfb之后,还尝试使用xfreerdp /monitor-list。在用一个屏幕启动Xvfb之后,监视器列表正确地打印了它.但是有了两个xvfb屏幕,监视器列表就什么都不打印了。
谢谢你的回答,甚至暗示!
发布于 2021-10-05 07:59:59
通过使用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:...发布于 2021-10-04 07:08:43
启动一个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
复制相似问题