![每个监视器有多个 X 显示器](https://linux22.com/image/1493928/%E6%AF%8F%E4%B8%AA%E7%9B%91%E8%A7%86%E5%99%A8%E6%9C%89%E5%A4%9A%E4%B8%AA%20X%20%E6%98%BE%E7%A4%BA%E5%99%A8.png)
我正在为一个目标系统开发软件,该系统有 3 个显示器,每个显示器一个:localhost:0.0
,,localhost:0.1
localhost:0.2
虽然目标系统有 3 个显示器,但我的开发系统只有 2 个。为了使软件在开发系统(缺少预期的显示器)上运行,所有窗口都放置在localhost:0.0
其适当的显示器上,因此可以在开发系统上进行测试。
有时我真的需要使用 3 个显示器进行测试,以确保每个显示器都显示其应显示的内容。如果我在 Windows 系统上,我可以以提供 3 个窗口的模式运行 X 服务器,每个窗口都是一个单独的显示器:0.0
、0.1
和0.2
,然后我使用带有 X-forwarding 的 ssh。很好。我有什么办法可以在 Linux 系统上做类似的事情吗?
我使用的 Linux 系统恰好是一台红帽服务器,我可以从 Windows 计算机获取远程桌面。
有没有办法在一个显示器上运行单独的 X 显示?最好为每个 X 显示设置单独的窗口,但这并不是必需的。
在寻找答案的过程中,我发现了多个东西,如果我理解了它们(或者我甚至确信他们在谈论同一件事),它们可能会有所帮助。
这是我尝试过的一种解决方案:这里有一个关于超级用户的问题,标题为“多个 X 实例”,开头是“我可以通过startx -- :1
...运行多个 X 实例”。我试过了,但得到了 PAM 身份验证错误。谷歌搜索只找到了一群人,他们只有在从 root 用户 su 到另一个用户后才会遇到这个问题,但我甚至没有 root 访问权限。不确定这是否是我想要的。
我发现的另一个来源:如何运行多个 X 显示器,这是另一个超级用户问题,询问“我希望运行两个 X 显示器,一个在 alt + F7 处,另一个在 alt + F8 处。我该怎么做?” 可以使用xinit
或来回答startx
。
startx
/这xinit
件事是我遇到的最有希望的线索。如果这是我需要的,而我做得不对,我可以单独提出一个关于它们的问题。
答案1
您可以使用巢最多支持 3 个屏幕。只需运行
Xnest -scrns 3 :1
您将获得 3 个窗口,每个窗口在 X11 客户端看来都像一个显示器上的真实屏幕一样。
-scrns int 此选项指定在嵌套服务器中创建的屏幕数。对于每个屏幕,Xnest 将创建一个单独的顶层窗口。每个屏幕都由客户端显示名称规范中点后的数字引用。例如,xterm -display :1.1 将打开一个 xterm(1) 客户端...
您无需以 root 身份运行Xnest
,也无需下载(如果您有权访问 rpm 存储库)。请执行
yumdownloader xorg-x11-server-Xnest
你应该得到 rpm 文件,你可以使用
rpm2cpio thefilewegot.rpm | cpio -civd ./usr/bin/Xnest
然后你可以运行这个usr/bin/Xnest :1 ...