远程运行 X 应用程序,在远程主机上运行 GUI

远程运行 X 应用程序,在远程主机上运行 GUI

我有一台安装了 Ubuntu + 图形桌面的计算机,我经常运行 OpenGL 应用程序只是为了捕获屏幕和制作视频。我只关心生成的视频,但要创建 OpenGL 上下文,我需要打开一个窗口,因此我有一个可以从打开窗口的终端运行的程序,使用 OpenGL 渲染内容并将像素数据发送到ffmpeg 过程来制作视频并且它可以工作。现在,我想通过 ssh 远程运行这个视频生成器,但是当我远程运行该程序时,窗口创建失败。我想这与 X 有关,假设我想在我连接的机器上获得一些图形输出或类似的东西,我对此不太了解。我只是想让它制作视频,我不关心看到窗口,理论上它应该能够打开远程计算机中的窗口,就像我在本地运行脚本时一样。我应该设置一些环境变量(例如 DISPLAY)来使其远程工作吗?

答案1

您需要将该DISPLAY变量设置为 GUI 会话(X、Wayland 或 Mir)在主机上运行的变量。

您可以使用该who命令查看 GUI 会话正在哪个显示器上运行(假设您已经在另一个会话中登录到远程主机的 GUI)。

另一种解决方案是使用 VNC 或 SPICE 连接到远程主机以获得完整桌面。

相关内容