如何控制现有的远程 shell?

如何控制现有的远程 shell?

在我的远程计算机上,已创建 xterm/shell(由另一个进程)。我可以通过 VNC 完全访问该 shell。但我真的想在本地计算机上使用文本模式 shell。

如何从本地 shell 控制现有的远程 shell?我无法创建新的外壳,这就是重点。但我对现有远程 shell 具有非特权访问权限。

答案1

你应该启动 shellscreen或者tmux因此它们可以轻松地重新连接到新终端。

这是通过screen以下步骤完成的:

  1. 在某处启动 shell(例如在 VNC 中):

    screen -S myshell

  2. 在其他地方重新连接 shell(例如使用 SSH 的新终端):

    screen -x myshell

虽然强烈推荐上述方法,但它们不足以控制现存的壳。为此,您将需要一些额外的技巧。

重新附加现有 shell(不是使用screen或启动的tmux)的一种方法是使用reptyr

来自reptyr网站:

reptyr 是一个实用程序,用于获取现有正在运行的程序并将其附加到新终端。通过 ssh 启动了一个长时间运行的进程,但必须离开并且不想中断它?只需启动一个屏幕,使用reptyr 抓取它,然后终止 ssh 会话并回家即可。

您可以简单地使用进程 ID (PID) 并告诉 reptyr 重新附加它:

reptyr PID

相关内容