不使用 Xinerama 的多个 X 屏幕

不使用 Xinerama 的多个 X 屏幕

在 Ubuntu 12.04 中,是否有某种方法可以在单独的 X 屏幕之间移动 Windows?2 个 GPU 上有 3 个显示器,使用 Twinview 不是一个选项。Xinerama 允许我在所有显示器之间拖动窗口,但这也意味着我失去了所有硬件加速。

我不指望能够在屏幕之间拖动窗口并让它们同时占据两个显示器,但一定有某种方法可以在程序运行时传输它。目前,我甚至不知道如何在启动时选择要使用的显示器。

有什么指点吗?

答案1

如果您使用多个 X 屏幕(即您有显示器:0.0:0.1等),则无法在它们之间移动窗口。窗口绑定到 X 屏幕,因为屏幕可能具有不兼容的像素格式,或者硬件可能无法在屏幕之间共享资源。Xinerama、RandR 和 TwinView 都是通过将多个监视器合并为一个逻辑屏幕来解决此问题而设计的。

我知道 Sun 对 Gnome 2.x 进行了大量的工作以确保它在此配置下能很好地工作,并且从一个屏幕的面板启动的应用程序会导致该应用程序在同一屏幕上打开,但如果您遇到麻烦,那么其中的一些功能可能从那时起就已经损坏了。

有些应用程序(如 Nautilus)应该具有开箱即用的多屏幕功能,但大多数应用程序一次只能在一个屏幕上运行。您可以通过传递自定义显示字符串来强制应用程序在特定的 X 屏幕上启动。例如,要在第二个屏幕上启动 Firefox,您可以运行以下命令:

firefox --display :0.1

也许创建一些带有类似命令的自定义启动器会有所帮助?

相关内容