Как я могу возобновить экран, который мне не удалось отсоединить?

8

Я пользуюсь экраном Screen Visual Consoles . Чтобы отсоединить экран, мне нужно нажать 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 Я добавил текст вместо скриншотов
Эдуард Флоринеску

Ответы:

12

Конечно, с

screen -d -r

Вы можете выбрать, какой экран отсоединять и подключать, как обычно, найдя pid (или полное имя) с помощью screen -list.

screen -d -r 12345
Celada
источник
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, который поделится экраном с другим процессом)

Называть экраны важно, я чувствую.

oPless
источник
6

После комментария, предложенного в посте, который я использовал:

screen -x <session id>

Со страницы руководства : screen -x

-x Прикрепите к неотсоединенному сеансу экрана. (Режим мультидисплея). Экран отказывается прикреплять изнутри себя. Но при каскадном подключении нескольких экранов петли не обнаруживаются; Береги себя.

Также, немного изучив другие варианты использования этой опции, « Использование экрана для удаленного взаимодействия» объясняет, что вы можете подключаться с нескольких терминалов, своего рода удаленной системы общего доступа к консоли, которую вы практически можете видеть и вводить удаленно в общей среде.

Это может быть использовано при обучении студентов или настройке вещей с коллегой.

Вы можете попробовать подключиться к одному и тому же экрану с двух разных терминалов с одинаковым идентификатором экрана ( screen -x 4329). То, что вы вводите в одном, можно увидеть в другом, и наоборот.

Эдуард Флоринеску
источник