由于一些服务器问题,我最终得到了两个屏幕会话,每个会话都有几个窗口。我在两个会话中都有长时间运行的任务,并且不想仅仅为了摆脱其中一个屏幕会话而中止其中一个任务。
是否可以连接屏幕会话,以便我最终得到一个包含两个会话中所有窗口的单个屏幕会话?或者是否可以手动将各个窗口从一个屏幕会话传输到另一个屏幕会话?
答案1
据我所知,使用屏幕这是不可能的,但你可以使用reptyr
将程序重新分配到新终端。
以下是有关使用 reptyr 的一些有用指南:
- 将正在运行的进程附加到新终端-- 您可能想阅读本文,它应该可以帮助您将程序分配到屏幕
- 更改进程的控制终端
您还可以考虑使用稍微不那么复杂的grab.c
。
答案2
正如已经回答的那样,没有办法单独使用屏幕。
您还可以重新绑定一个会话的转义字符,从而再次拥有完整的功能(无需打开另一个到服务器的 ssh 会话并分离其中一个会话 - 我知道,这有点神秘)。
点击Ctrl-A :
这将使您进入命令模式(如果您没有更改默认值)并输入以下内容:escape ^Tt
。这将更改一个会话的转义字符,将其设置为Ctrl-T
并让另一个会话保留Ctrl-A
转义字符,从而能够再次向两个会话发送命令。