在没有 X11 的 CI 服务上运行 GUI 应用程序

Aar*_*nke 10 x11 user-interface continuous-integration headless github-actions

我有一个 GUI 应用程序,我想通过 GitHub Actions 设置测试。我已经进行了设置,以便 GitHub Actions 在 Ubuntu 上编译应用程序,但现在我想做的是运行应用程序几秒钟并测试它是否崩溃。但目前无法启动,因为没有安装X11服务器。

有没有办法可以安装虚拟 X11 服务器,以便应用程序运行?我不关心实际显示的内容,我只是希望应用程序能够打开,而不会因缺少 X11 服务器而失败。

或者,有没有办法安装虚拟 Wayland 服务器?该应用程序也可以在 Wayland 上运行。

FrB*_*rge 7

您可以尝试Xvfb项目中的xvfb-run。它在完全兼容的 X Window 服务器下启动您的应用程序,无需任何硬件(您甚至可以在您的应用程序中运行 x11vnc 并通过 VNC 连接到服务器,但我相信目前这不是您的情况)。就个人而言,我使用 xvfb-run 来构建独立的无屏幕 X.org 感知包,例如,当包需要在制作文档时拍摄自身快照时。

$ xvfb-run x.org_application_binary
Run Code Online (Sandbox Code Playgroud)


Mei*_*wjn -1

是的,这是可能的。只需使用您的 X11 环境创建一个 Docker 映像并在其中部署您的应用程序即可。

或者,您也可以只在计算机上安装 X11。确保在每次运行时都执行此操作,因为环境总是完全重置:

sudo apt-get install xorg openbox
Run Code Online (Sandbox Code Playgroud)

  • 即使安装了X11,它也说没有显示。我需要一个虚拟显示器或其他东西。`错误:X11 显示不可用错误:无法打开显示:错误:无法创建 DisplayServer,所有显示驱动程序均失败。` (3认同)
  • 问题涉及到没有显示/视频硬件的环境,因此需要使用特殊的虚拟X服务器,例如Xvfb (2认同)