XServer:后台活动的 xserver 会话

XServer:后台活动的 xserver 会话

我需要运行一些程序,在单独的 xserver 会话中通过 xlib 库进行屏幕捕获。所以,我启动我的 ubuntu 14 和originxserver 会话(让我们这样称呼它),然后我运行

startx some-program

运行此命令后,会出现黑屏,在这个黑屏上我看到我的程序,它按预期工作。没关系 - 这就是我需要的。

然而,首先我想使用我的计算机,其次我必须在 N 个单独的 xserver 会话中运行 N 个这样的程序。问题是,当我尝试origin按 ctrl+alt+f7返回会话时,某些程序继续工作,但其屏幕截图变成简单的黑色矩形(没有任何内容)。

我如何在单独的 xserver 会话中启动我的某个程序并让它运行,因为我仍在使用该会话?

答案1

我在 xorg 邮件列表中得到了答案:

以这种方式使用它几乎是不可能的:由于某些历史原因,不活动的服务器停止绘制。嗯,不仅仅是历史性的:这是一种合理的方法,可以避免浪费资源来绘制看不见的东西。

但是,您可以启动虚拟 X 服务器(如标准 Xvfb),并利用它就好。

您甚至可以尝试通过 x2x 或 x11vnc 或 x2godesktopsharing 等方式与该服务器上的程序进行交互,但是,通常交互体验比控制台服务器差。

此外,将不提供硬件 3D 加速。目前它也仅适用于活动控制台。如果您需要它,您可以尝试使用一些窗口服务器,例如 xpra,但是,它并不完美(过去所有实现它的尝试 - Xgl、AIGLX 也不完美)。

相关内容