如何恢复屏幕?

43

假设我有许多屏幕打开,我想使用'screen -r'恢复到特定的屏幕会话。 当我执行'screen -r'时,我会得到以下内容: 有几个适合的屏幕:

12670.pts-8.b-dev03 (Detached)
23662.pts-9.b-dev03 (Detached)
502.pts-1.b-dev03   (Attached)
19972.pts-1.b-dev03 (Detached)
9414.pts-24.b-dev03 (Attached)
16607.pts-1.p-dev03 (Detached)
3015.pts-2.b-dev03  (Detached)
14313.pts-18.b-dev03    (Attached) 
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
我如何恢复它们中的一个,比如最后一个附加的文件。 我尝试过 -
screen -r 14313.pts-18.b-dev03
 There is a screen on:
14313.pts-18.b-dev03    (Attached)
There is no screen to be resumed matching 14313.pts-18.b-dev03.
1个回答

58
由于仍然存在一个附加到14313.pts-18.b-dev03的screen会话,因此措辞有些不够准确。您不能简单地“恢复”非分离会话。您需要在附加到此会话时使用-x选项,并使用第二个screen实例(或者替代地先分离现有会话)进行附加: -x
  Attach to a not detached screen session. (Multi display mode).
$ screen -xr 14313

如果您希望分离第一个会话,则执行以下操作:

-d -r

  Reattach a session and if necessary detach it first.
$ screen -dr 14313

我的非分离式屏幕的先前实例会发生什么?我实际上希望恢复先前的会话,以便我可以看到进度。 - Vansh Khurana
在多显示器模式下,两个会话都是活动的并且具有写访问权限(因此您可以与两个实例进行交互并在所有连接的实例中查看输出),除非您使会话为只读(然后第二个实例只能观看)。因此,您可以像平常一样继续使用-xr,如果您分离第二个实例,则第一个实例将保持在那里并保持连接状态。但是,如果您希望分离第一个会话,则可以使用-dr(请参阅manpage)。 - Adrian Frühwirth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接