gtk-警告**:运行仅命令行脚本时无法打开显示

gtk-警告**:运行仅命令行脚本时无法打开显示

我正在尝试通过 ssh -Y 和 tmux 在服务器 (Ubuntu 14.04.5 LTS) 上运行几个计算密集型 python 脚本。只要我不关闭 ssh 连接,这就可以正常工作。如果我关闭连接,当前正在运行的脚本将正常完成,但之后启动的所有脚本都会出现错误

gtk-警告**:无法打开显示:localhost:10.0

这些脚本是命令行专用的,但可能出于某种原因使用的库需要显示。如果我断开连接,显示就会消失(我的假设)。有没有办法解决这个问题(最好没有 root 访问权限),也许有办法欺骗 ubuntu 认为有显示,而实际上没有?

编辑:

  • 我首先连接到 vpn,然后通过 ssh 进入服务器(使用 -Y 标志)
  • 我正在努力奔跑这个脚本每次循环使用不同的参数。它使用matplotlib.use('Agg')matplotlib,所以不应该是问题 (?) 我想不出其他问题了。
  • echo $DISPLAYlocalhost:10.0在错误之前返回。如果我从另一台计算机连接,它会返回localhost:13.0。如果我让原始计算机上的终端保持打开状态,它仍会返回,localhost:10.0但是如果我打开一台新计算机,它现在也会返回localhost:13.0
  • X11-Forwarding 工作正常,我可以运行迄今为止尝试过的任何桌面应用程序。问题是断开连接/注销后启动的脚本。

答案1

尝试设置 DISPLAY 变量:

export DISPLAY=localhost:10.0

然后执行你的命令。

相关内容