使用BASH脚本,我需要在启动时启动一个GUI应用程序,以便稍后可以通过RDP或VNC连接并查看应用程序的运行情况。 例如,脚本将在引导时运行,并启动给定的基于GUI的分析应用程序。 在任何时候,我都需要RDP / VNC来查看应用程序的进度并与之交互。
到目前为止,我在运行EC2的Ubuntu Server 12.04.1上使用LXDE。
两种不同的方法取决于基于GUI的应用程序是否需要在启动后运行:
X11Forwarding ,则可以通过SSH隧道按需启动应用程序,从而X11Forwarding 。 然后就像ssh -X user@host 'gui-app'一样简单, 啊,我们可以做到这一点的夫妇。 你实际上有两个我看到的问题。
问题1:如何在启动时启动bash脚本?
答1a:作为根,做一个暴发户的脚本,看新贵的文档 。
答案1b:选项2作为没有root权限的用户。 创build一个每5分钟运行一次的cron作业来检查以确保bash脚本尚未运行,如果不是,则启动该进程。
问题2:如何在VNC / RDP中启动应用程序?
答案2:RDP得不到很好的支持。 VNC不是很安全,但是如果你坚持的话。 一次手动启动vnc服务器,设置密码。 这也将为configuration创build.vnc目录。 现在编辑.vnc / xstartup并添加程序/ bash脚本的启动。
回到答案1a + b,你应该添加启动vncserver作为你的启动,而不是脚本本身。 vncserver的启动将会启动应用程序一次。
cron的例子:
*/5 * * * * pgrep -u $USER vncserver > /dev/null || vncserver -geometry 1024x768
以上脚本的里程不一。 随意添加更多的冗长。
新贵会起作用,而远程GUI访问的唯一另外一件事就是xRDP。 以下是安装和configuration的链接: http : //www.1337admin.org/linux/ubuntu/installing-rdp-server-on-ubuntu-13-10/