bla*_*lah 5 command-line shell networking vnc
在我的远程机器上,(由另一个进程)创建了一个 xterm/shell。我可以通过 VNC 完全访问该 shell。但我真的想在我的本地机器上使用文本模式 shell。
如何从本地控制现有的远程 shell?我无法创建新的外壳,这就是重点。但是我对现有的远程 shell 具有非特权访问权限。
您应该在 中启动 shell screen,tmux以便它们可以轻松地重新连接到新终端中。
这是通过screen以下步骤完成的:
在某处启动 shell(例如在 VNC 中):
screen -S myshell
在其他地方重新连接 shell(例如使用 SSH 的新终端):
screen -x myshell
虽然强烈建议使用上述方法,但它们不足以控制现有shell。为此,您将需要一些额外的技巧。
重新附加现有 shell(不是使用screen或启动的tmux)的一种方法是使用reptyr。
来自reptyr的网站:
reptyr 是一个实用程序,用于获取现有正在运行的程序并将其附加到新终端。通过 ssh 启动了一个长时间运行的进程,但必须离开并且不想中断它?只需启动一个屏幕,使用reptyr 抓取它,然后终止 ssh 会话并回家即可。
您可以简单地使用进程 ID (PID) 并告诉 reptyr 重新附加它:
reptyr PID
Run Code Online (Sandbox Code Playgroud)