问题:
我有一台 Linux 服务器,我通过 ssh 连接它。它运行良好,而且 X-forwarding 运行良好(在本地网络中)。
现在我想在 wine 下运行一个服务器程序。因为它是一个 Windows 应用程序,它不能在命令行上运行,所以我必须通过 x-forwarding 启动它。到目前为止没有问题,运行良好。
我的问题是我使用 X-forwarding 连接到目标计算机,如下所示:
ssh ip.of.target.computer -X
然后我开始
gnome-session
从 ssh 终端。Gnome 加载,我可以通过 wine 启动图形服务器应用程序。但是当我想从 X-forwarding 注销时,会关闭 gnome-session(和服务器 X-window-application)...
我如何登录、启动 X-window 应用程序,然后在不关闭 X-window 应用程序的情况下注销 ssh?
答案1
您可能会发现该-N
选项很有用:
-N Do not execute a remote command. This is useful for just for‐ warding ports (protocol version 2 only).
和/或-T
选项:
-T Disable pseudo-tty allocation.
这样您就不会得到 shell 提示符。
尝试将其与 结合起来disown
。
ssh <host> -X -N -T &
disown %<number>
其中<number>
是运行命令后打印在括号中的数字ssh
。
例如:
$ ssh -X -N -T myserver&
[1] 10317
$ disown %1
它将ssh
与外壳和窗口分离,因此您可以关闭窗口并ssh
继续运行。
答案2
您可以在远程机器上运行 X 并使用 x11vnc 远程管理正在运行的应用程序。