如何恢复无法分离的屏幕?


8

我使用屏幕屏幕视觉控制台。要分离屏幕,我需要先按Ctrl+,A然后D再关闭会话但又不分离它。它出现(Attached)screen -list

eduard@eduard-X:~$ screen -list
There are screens on:
        4561.pts-46.eduard-X   (30.03.2015 14:48:51)   (Attached)
        4547.pts-46.eduard-X   (30.03.2015 14:48:33)   (Detached)
        4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
        3995.pts-30.eduard-X   (30.03.2015 14:30:01)   (Detached)

如果我尝试还原它,屏幕将显示没有屏幕可恢复:

eduard@eduard-X:~$ screen -r 4329
There is a screen on:
        4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
There is no screen to be resumed matching 4329.

我还能恢复未正确拆下的屏幕吗?


2
请复制并粘贴文本,而不要使用图形。
Celada 2015年

@Celada我添加了文字而不是屏幕截图
Eduard Florinescu

Answers:


12

当然可以

screen -d -r

您可以选择其中分离并通过查找PID(或全名)与重新安装照常屏幕screen -list

screen -d -r 12345

8

您应该使用名称创建屏幕。

$ screen -S foo

$ screen -list
There are screens on:
        16994.foo       (03/30/15 14:05:13)     (Detached)
        20082.q (12/17/14 18:06:44)     (Detached)
        11008.w (11/12/14 10:52:43)     (Detached)
        1199.irc        (11/12/14 01:34:40)     (Detached)

然后,您可以使用

$ screen -dr foo

(它将附加到16994.foo,分离任何其他进程)或

$ screen -x i

(它将附加到1999.irc,它将与另一个进程共享屏幕)

我觉得命名屏幕很重要。


6

在我使用的帖子中建议了一条评论之后:

screen -x <session id>

在手册页中:screen -x

-x 附加到未分离的屏幕会话。(多显示模式)。屏幕拒绝从自身内部附着。 但是,当级联多个屏幕时,不会检测到循环。照顾自己。

我还研究了我发现此选项的其他用途,“ 使用屏幕进行远程交互” 说明您可以从多个终端连接,这是一种远程控制台共享系统,实际上您可以在共享环境中远程查看和键入。

在教学生或与同事一起布置东西时可以使用此功能。

您可以尝试通过两个具有相同屏幕ID(screen -x 4329)的不同终端连接到同一屏幕。您在其中键入的内容可以在另一方看到,反之亦然。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.