我需要从命令行启动一个 GUI 程序,该程序已通过 SSH 连接到一台机器上。我不需要与它交互或查看窗口,只需让它运行即可。当我尝试启动它时,我得到了:
ubuntu@ip-35-163-23223429-46:~/photoscan-pro$ ./photoscan.sh
photoscan: cannot connect to X server
我需要做什么吗?我使用的是 Ubuntu 12.04。谢谢!
答案1
在脚本中,在应用程序启动之前,添加以下行:
export DISPLAY=:0.0
这告诉程序它必须在 ID 为:0.0 的 DISPLAY 中运行,而不是在被调用的终端中运行,后者(据我所知)指的是 TTY7。
换句话说,将其发送到图形环境。您也可以在本地使用它,从虚拟 tty 启动桌面上的程序。例如,当 compiz 崩溃并且没有菜单或图标来重新启动它时,我会使用它:
export DISPLAY=:0.0 && compiz --replace