通过SSH在远程计算机上运行GUI应用


10

我想在我的Ubuntu计算机上运行GUI应用程序,但是它应该由Debian服务器上使用SSH的Shell脚本启动。

这可能吗?


1
似乎对您要执行的操作有些困惑。您是否要在远程主机上运行GUI程序,但GUI窗口出现在本地主机上?还是您正在尝试在本地运行应用程序(并使窗口在本地显示),但是是否已远程触发它?
2011年

@pkaeding好,如果有两种解释,两者都有用,那么您可以同时回答。你知道吗?已经有人评论要求重新解释其中的一种解释“亚历山大写道”已经有一段时间了,但是也许您仍然记得您是否能够从ssh启动TeamViewer。如果您可以分享更多有关执行此操作的详细信息,我们将不胜感激。感谢” <---所以,如果你知道,并回答了两个,它可能已经帮助他和其他人。
barlop

Answers:


4

这样的事情应该起作用:

#on your desktop 
xhost + #not secure, make sure your X isn't listening on any tcp ports.
echo 'export DISPLAY=:0; x-command-you-want &' > ~/run-command
chmod +x ~/run-command
#on your server
ssh user@desktop '~/run-command'


0

是的,这是可能的。您只需要通过SSH连接转发X流量。例如,这样连接:

debian-computer:$ ssh -X username@ubuntu-computer

然后,只需从SSH提示符下启动应用程序即可。GUI窗口将出现在您的debian框中(您已在本地登录)。所有处理将由远程计算机(Ubuntu之一)完成。

请注意,这仅在本地计算机上运行X窗口服务器时才有效。如果您安装的是台式机linux / unix,并且您也可以在Mac OS和Windows上安装X服务器,但默认情况下未安装X服务器,肯定会是这种情况。


他希望服务器在桌面上运行GUI程序,也就是服务器连接到桌面并执行该程序。
OneOfOne 2011年

0

感谢您的回复。同时,我尝试了其他一些操作,其中之一是建立与Ubuntu计算机的SSH连接,并在该计算机上运行脚本。

在该脚本的第一行中,我定义了EXPORT显示。玩家现在知道他应该使用什么显示。

再次感谢。


你好 已经有一段时间了,但是也许您仍然记得是否能够从ssh启动TeamViewer。如果您可以分享更多有关执行此操作的详细信息,我们将不胜感激。谢谢。
亚历山大·切尔托夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.