有没有办法通过 ssh 在远程机器上打开窗口?
我知道 ssh -X 会重定向到我的本地远程窗口,但是有没有办法在远程机器上打开该窗口并在断开连接后保持其活动状态(以本地登录用户的身份打开它)?
问题是我已经将 amule.conf 文件更改为熟悉的(因为他找不到 .aMule/Incoming,你知道,我不得不更改主目录路径)amule 应该重新启动(他已经在桌面上打开了它)。
我只知道如何终止应用程序,然后让它在我的本地获得 X(这将与我的连接关闭:不酷)或让守护进程(amuled)在后台运行,但是,如果我启动守护进程,当他尝试再次打开 amule 时,他将收到“进程已在运行”错误(如果他没有看到窗口,他会认为它已关闭),我会接到另一个电话......
有没有办法打开它并让它进入他的桌面?
答案1
你的问题确实不太清楚。你为什么不让你的朋友自己打开窗口呢?无论如何,是的,可以ssh
进入远程计算机并打开该远程计算机当前正在运行的 X 服务器上显示的图形窗口。
您需要告诉您的朋友允许您访问。这可以通过允许每个人连接到他的 X 服务器来实现:
$ xhost + access control disabled, clients can connect from any host
或者特别允许您:
$ xhost + si:localuser:eddieferetro localuser:eddieferetro being added to access control list
在这两种情况下,他都需要从现有的 X 会话运行这些命令。然后,他可以通过运行相同的命令(但替换
+
为:)来再次关闭它-
:$ xhost - si:localuser:eddieferetro localuser:eddieferetro being removed from access control list
或者再次阻止所有外部访问:
$ xhost - access control enabled, only authorized clients can connect
一旦他完成这些操作,您就可以正常 ssh,导出变量
DISPLAY
并运行将出现在他的 X 会话中的 GUI 命令(我将其用作eog
示例):eddie@local$ ssh eddie@remote eddie@remote$ export DISPLAY=:0 eddie@remote$ eog
为了使此窗口在您注销后继续存在,您可以这样运行它
nohup
:eddie@remote$ nohup eog &现在您可以毫无问题地退出。