在后台运行 GUI 应用程序并稍后重新连接

在后台运行 GUI 应用程序并稍后重新连接

有没有办法在后台运行 Gui 应用程序 (X11),这样如果我断开连接,我可以再次恢复正在运行的应用程序?

我在 Windows 上使用 SmarTTY 连接到远程 CentOS。当我运行 Gui 应用程序(例如 gnome-help)时,它会启动 Xming 服务器并显示其窗口。

即使我断开、崩溃或关闭 ssh 连接,我也想保持它运行。这样我以后就可以继续运行应用程序。

我尝试过“屏幕”和“&”以及两者的组合,但都不起作用。当 SSH 连接关闭时,我无法再次连接到 GUI 应用程序。

- 编辑 -

正如安东所回答的

  1. 在远程系统(例如 CentOS)上安装 VNC 服务器和 VNC 查看器。
  2. 远程启动VNC服务器Xvnc -localhost :13
  3. 启动 VNC Viewer,以便它通过 X 本地显示(例如在 Windows 上)
  4. 设置显示export DISPLAY=:13
  5. 启动 GUI 应用程序,它将显示在 VNC 查看器中

答案1

X 应用程序需要一个屏幕才能正常连接(如果您通过ssh使用-X本地屏幕进行连接)。你可以做的是使用XVNC并为您的 X 应用程序创建一个要连接的虚拟屏幕,然后在重新登录后,使用 vncviewer 观察该虚拟屏幕上发生的情况。此功能与使用screentmux用于终端会话的方式类似。

您可以通过以下方式启动 Xvnc:

  Xvnc -localhost -SecurityTypes=None :13

13 是一个唯一的数字。在启动 X 应用程序之前,您可以使用此数字设置 DISPLAY 环境变量。

在启动过程中,Xvnc 会告诉您使用哪个端口进行连接(在我的例子中是 5913)。如果您没有指定,-localhost您可以使用 vnc 查看器直接通过网络连接,而无需首先使用 ssh 登录(这当然取决于您的防火墙,您应该使用密码保护的连接而不是-SecurityTypes=None

在基于 Debian 的系统上,您可以从软件包中安装 Xvncvnc4server

相关内容