SSH 服务器超时 localhost 并重新分配会中断 X11 输出

SSH 服务器超时 localhost 并重新分配会中断 X11 输出

我通过 SSH 在远程服务器上运行 python 脚本,但最后我要求它使用 pyplot 保存图形,这需要 X 服务器处于活动状态。由于它运行了很长一段时间,我一直在使用“screen”命令并保留它,然后当我回来时恢复。问题在于,恢复的屏幕会尝试输出到我第一次连接时 SSH 使用的任何 X 显示(例如 localhost:15.0),但通常当我返回本地计算机或服务器已为我分配一个不同的计算机时(例如 localhost:22.0),因此代码会中断,因为它找不到任何地方可以输出。

有什么方法可以阻止此超时或设置我希望在 SSH 会话中使用哪个显示?我尝试使用 -X 和 -Y 连接,但没有变化?

谢谢!

答案1

首先,您可能最好只使用其他一些绘图库,例如 matplotlib,它不需要 X 帧缓冲区。

如果您绝对必须使用 pyplot,请尝试在远程端启动 Xvfb(虚拟 X 服务器)并将 $DISPLAY 变量指向它而不是转发的 X 显示。这样它就可以毫无问题地在屏幕内运行。

相关内容