我有一台安装了 Ubuntu + 图形桌面的计算机,我经常在其中运行 OpenGL 应用程序来捕获屏幕并制作视频。我只关心生成的视频,但要创建 OpenGL 上下文,我需要打开一个窗口,所以我有一个程序可以从打开窗口的终端运行,使用 OpenGL 渲染内容并将像素数据发送到ffmpeg 过程来制作视频并且它可以工作。现在,我想通过 ssh 远程运行这个视频生成器,但是当我远程运行程序时,窗口创建失败。我想这与 X 有关,假设我想在我连接的机器中获得一些图形输出或类似的东西,我对此知之甚少。我只是想让它做视频,我不在乎看到窗户,理论上,它应该能够像我在本地运行脚本时一样打开远程机器中的窗口。我应该设置一些环境变量,如 DISPLAY 以使其远程工作吗?
您需要将该
DISPLAY
变量设置为 GUI 会话(X、Wayland 或 Mir)在主机上运行的那个。您可以使用该
who
命令查看您的 GUI 会话正在哪个显示器上运行(假设您已经在另一个会话中登录到远程主机的 GUI)。另一种解决方案是使用 VNC 或 SPICE 连接到远程主机以获取完整桌面。