使用正在运行的GUI程序退出ssh -X会话,但让程序在远程主机上运行

s5s*_*s5s 11 linux x11 ssh terminal user-interface

我有ssh-ed到远程机器.我启用了X11转发(ssh -X),我已经启动了一个GUI程序.

该程序需要5分钟设置进行一些处理,但实际处理需要1-2个小时.我不想在程序运行时传输数据.我甚至不想再看到程序,因为它在完成时会生成文件作为输出,我只能scp它们.

那么如何退出ssh会话但让程序在机器上运行呢?终端的CRTL + C?

编辑:有关答案,请参阅下面的评论.

syn*_*tel 10

长话短说 - 如果不对运行方式进行一些修改,就无法做到这一点.GUI应用程序要求X服务器目标接受它的GUI更新 - 如果您使用本地X服务器执行此操作,那么它将要求(1)连接打开(2)您实际处理更新.

解决这个问题的方法是使用类似Xvfb的东西- 这是托管虚拟 X服务器的无头方式.除了维基百科页面上提供的示例之外,似乎经常使用此机制的人是Selenium用户.