如何从命令行运行 GUI 应用程序?

如何从命令行运行 GUI 应用程序?

我需要从命令行启动一个 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

相关内容