首页 文章

gnu screen:重新连接所有以前分离的会话

提问于
浏览
9

我在单个 screen 会话中有几个窗口,然后我想分离我的会话 . 这没有问题 .

但我无法找到一种方法来恢复我之前分离的会话中的所有窗口 . 我可以看到我可以通过ID恢复其中一个 .

但是,如何在其中的所有窗口中重新连接相同的会话环境?

Updated:

如果我键入screen -d -r,这就是说:

There are several suitable screens on:
    21074.pts-7.atx (05/29/2010 02:26:32 PM)    (Attached)
    3420.pts-3.atx  (05/29/2010 12:16:41 AM)    (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

我怎样才能重新连接所有这些?

2 回答

  • 19

    screen -d -r : Reattach a session and if necessary detach it first.

    这将重新连接您的旧会话,将其所有窗口 . 如果您的会话仍然附加,它将在将其附加到当前终端之前将其分离 . 例如,当您将屏幕会话保存在另一台计算机上的ssh终端中时,这非常有用 .

  • 1

    要重新连接 all 以前分离的会话,我使用这个小脚本 .

    #!/bin/sh
    for line in `screen -ls | grep Detached |  awk '{print $1}'`; do
       xdotool key control+shift+t type "screen -r $line"
       xdotool key KP_Enter
    done
    

    "control+shift+t" 碰巧是我的终端中用于打开新标签的快捷方式,它可能是您的不同捷径 .

相关问题