在后台运行 xterm 并退出

在后台运行 xterm 并退出

从 hostA (我的 Linux 桌面),我通过 ssh 进入 hostB :

$ ssh hostB -X
$ (nohup xterm &)
$ (nohup xterm &)
$ exit   
## i don't get my prompt back

xterm 窗口显示在 hostA 上,但我通过 ssh 连接到 hostB 的终端没有向我返回提示。

如果我按 Control+C,我会收到提示,但 2 个 xterm 窗口已关闭。

有没有办法在另一台主机的后台运行 xterm 并释放原始终端?

谢谢

- 安德鲁

答案1

-X 选项打开通过 ssh 连接运行的 X11 隧道。仅当 ssh 连接打开时,隧道才能存在。

要执行您要求的操作,您需要将 ssh 本身置于后台,而不涉及交互式会话。

至少有两种方法可以做到这一点。一种是设置 ssh 连接共享,这将允许您在后台打开 ssh,然后使用共享连接启动多个 ssh 会话。 ssh 手册页有这方面的详细信息。

更简单的方法是在后台打开 ssh 只是为了打开两个 xterm 会话:

ssh -n -X hostB sh -c "xterm&xterm" &

-n选项告诉 ssh 不要使用 stdin,这允许将其放置在后台。如果ssh需要密码,可以省略最后的&,输入密码,然后挂起放到后台。

相关内容