¿Cómo puedo reanudar una pantalla que no logré separar?

8

Yo uso la pantalla Pantalla consolas visuales . Para separar una pantalla, necesito presionar Ctrl+ Aseguido de, Dpero en algún momento se cierra una sesión sin separarla. Aparece como (Attached)en 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)

Si intento restaurarlo, la pantalla responde que no hay pantalla para reanudar:

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.

¿Puedo reanudar una pantalla que no separé correctamente?

Eduard Florinescu
fuente
2
Copie y pegue texto en lugar de usar gráficos.
Celada
@Celada Agregué texto en lugar de capturas de pantalla
Eduard Florinescu

Respuestas:

12

Claro con

screen -d -r

Puede elegir qué pantalla separar y volver a conectar como de costumbre al encontrar el pid (o el nombre completo) con screen -list.

screen -d -r 12345
Celada
fuente
8

Deberías estar creando pantallas con nombres.

$ 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)

Luego puede volver a colocar pantallas con

$ screen -dr foo

(que se adjuntará a 16994.foo, separando cualquier otro proceso) o

$ screen -x i

(que se adjuntará a 1999.irc, que COMPARTIRÁ la pantalla con otro proceso)

Nombrar pantallas es importante, creo.

oPless
fuente
6

Después de un comentario sugerido en la publicación que utilicé:

screen -x <session id>

Desde la página de manual : screen -x

-x Adjuntar a una sesión de pantalla no separada. (Modo de visualización múltiple). La pantalla se niega a adjuntar desde su interior. Pero cuando se conectan varias pantallas en cascada, no se detectan bucles; Cuídate.

También investigando un poco descubrí otros usos para esta opción, Usar la pantalla para la interacción remota explica que puedes conectarte desde múltiples terminales, una especie de sistema remoto para compartir consolas, prácticamente puedes ver y escribir de forma remota en un entorno compartido.

Esto se puede usar al enseñar a los estudiantes o al configurar cosas con un colega.

Puede intentar conectarse a la misma pantalla desde dos terminales diferentes con la misma identificación de pantalla screen -x 4329. Lo que escribe en uno se puede ver en el otro y viceversa.

Eduard Florinescu
fuente