在 Ubuntu 中通过 SSH 启动桌面上的程序

在 Ubuntu 中通过 SSH 启动桌面上的程序

我使用 SSH 登录到我的 Ubuntu 11.04 机器,我需要启动一个程序 - 但它是一个在 WINE 下运行的 Windows GUI 程序。

我如何从 SSH 终端启动程序,以便它在桌面上打开,然后在我退出 SSH 后保持打开状态。

答案1

从远程机器启动图形程序的一般方法:

  1. 在目标机器上运行xhost +。(您需要从终端或登录脚本执行此操作。)

  2. 从远程客户端,通过 SSH 进入目标机器并运行,nohup program &其中“程序”就是您在目标机器上运行的程序。

答案2

如果您希望该程序转发至您的显示器,请连接ssh -X

但是我猜您想在远程显示器上启动该程序?

  1. 用于screen保持程序打开。

  2. 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

相关内容