X11 在自动化测试期间停止渲染,同时切换到不同的运行级别

X11 在自动化测试期间停止渲染,同时切换到不同的运行级别

我正在对应用程序运行自动测试,同时记录桌面以供将来分析。

我正在标准的 Ubuntu Linux 设置中工作。

我希望能够在这些测试运行时切换到另一个用户以继续执行其他任务。

Ctrl当我使用不同的虚拟控制台切换到另一个用户时,登录并使用 startx 启动第二个 x11 会话,在+ Alt+上运行的 X11 服务器的屏幕录制F7仅记录黑屏。

我发现这是因为 X11 屏幕缓冲区在非活动运行级别上停止渲染。

X11 保留的哪些配置设置将在离开该虚拟控制台时保持渲染?

修补和构建 X11 不是可取的,但可以接受。

答案1

不要在显示给您的硬件的 X 服务器上运行测试。在 X 服务器中运行它们,该服务器“显示”到虚拟帧缓冲区,该缓冲区只是一块内存,例如Xvfb。 Xvfb 通常用于测试 GUI 应用程序例如网络浏览器

如果您的应用程序需要与硬件功能紧密配合(例如,因为它需要 3D 加速),则这将不起作用。但如果是这种情况,当 X 服务器不渲染时,您的应用程序将无法工作。

相关内容