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

标签 linux user-interface ssh terminal x11

我已经通过 ssh 连接到远程机器。我启用了 X11 转发 (ssh -X) 并启动了一个 GUI 程序。

程序需要 5 分钟来设置执行一些处理,但实际处理需要 1-2 小时。我不想在程序运行时流式传输数据。我什至不想再看到该程序,因为它在完成时会生成文件作为输出,我可以直接对它们进行 scp。

那么我怎样才能退出 ssh session 但让程序在机器上运行呢?终端中的 CRTL+C?

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

最佳答案

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

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

关于linux - 使用正在运行的 GUI 程序退出 ssh -X session ,但让程序在远程主机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572458/

相关文章:

linux - SLURM:在另一个节点中运行程序

java - JFXButton 看起来在启动后立即被单击

java - 使用事件将 Java 中的 GridLayout 从水平更改为垂直。

amazon-web-services - Amazon EC2 小型实例没有响应

java - 将 Eclipse 远程调试器连接到转发的本地端口时,Cloud Foundry 应用程序的远程调试失败

javascript - 将数据从 Python 脚本发送到浏览器(在 Linux 上的 xserver 下)

java - 如何在 Linux 中软终止进程?

c - 从 gui 前端启动控制台应用程序

layout - Excel 宏 - 宏运行时的屏幕

bash - 创建一个脚本,该脚本使用dd和netcat写入本地镜像文件以覆盖远程服务器上的硬盘驱动器