我使用 SSH 登录到我的 Ubuntu 11.04 机器,我需要启动一个程序 - 但它是一个在 WINE 下运行的 Windows GUI 程序。
我如何从 SSH 终端启动程序,以便它在桌面上打开,然后在我退出 SSH 后保持打开状态。
答案1
从远程机器启动图形程序的一般方法:
在目标机器上运行
xhost +
。(您需要从终端或登录脚本执行此操作。)从远程客户端,通过 SSH 进入目标机器并运行,
nohup program &
其中“程序”就是您在目标机器上运行的程序。
答案2
如果您希望该程序转发至您的显示器,请连接ssh -X
。
但是我猜您想在远程显示器上启动该程序?
用于
screen
保持程序打开。DISPLAY
使用正在运行的 X-Session 的正确用户和变量启动程序。
例如:
xterm -display :1000.0
或者:
DISPLAY=:1000.0 xterm
这也适用于 Wine。
答案3
确保您已sshd
设置以允许 X11 转发。
然后,只需正常启动您的 GUI(nohup
如果您希望它在您注销后运行)它就会出现在您的机器上。
编辑:如果您希望从图标运行此命令(请参阅评论),那么您可以将图标命令别名为
ssh [email protected] 'nohup MyProgram &'
或者只需在远程主机上创建一个小型 shell 脚本(名为 ~/bin/runme.sh),其中包含以下内容:
#!/bin/sh
nohup MyProgram & 2>&1 $HOME/.nohupp.log
并调用
ssh [email protected] ~/bin/runme.sh