De alguna manera, logré cerrar una ventana de pantalla sin que la pantalla lo 'notara', por lo que la sesión todavía está marcada como attached
. Esto me impide volver a unirme a esta sesión. ¿Que puedo hacer?
me@iupr-serv8:~$ screen -r
There are several suitable screens on:
25028.pts-19.XXX-serv8 (01/05/2012 07:15:34 PM) (Attached)
24658.pts-19.XXX-serv8 (01/05/2012 07:11:38 PM) (Detached)
24509.pts-19.XXX-serv8 (01/05/2012 07:10:00 PM) (Detached)
18676.pts-5.XXX-serv8 (01/02/2012 06:55:33 PM) (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
me@XXX-serv8:~$ screen -r 25028
There is a screen on:
25028.pts-19.XXX-serv8 (01/05/2012 07:15:33 PM) (Attached)
There is no screen to be resumed matching 25028.
[actualizar]
Al final descubrí que la sesión no se perdió, pero el ID de la primera sesión sí 0
. La segunda sesión que tiene la ID 1
.
terminal
gnu-screen
Framester
fuente
fuente
-d -r
opciones juntas forzarán adjuntar esa sesión.screen -x
para poder adjuntar desde múltiples ubicaciones a la vez. Por supuesto, si accidentalmente cierra una ventana, parece que-d -r
es mejor mantener las cosas ordenadas.Hay una pantalla en:
1234.somescreensession (adjunto)
No hay una pantalla para reanudar que coincida con 1234.somescreensession.
Aquí hay una manera simple de recuperar esa sesión de pantalla.
fuente
Experimenté el mismo problema después de que mi conexión ssh se cerró inesperadamente con el mensaje
Write Failed: broken pipe
mientras tenía una sesión de pantalla adjunta. Sin embargo, no pude volver a conectar mi sesión de pantalla con ninguno de los comandos anteriores. Tenga en cuenta que uso la siguiente versión:Aparentemente, todavía hubo una instancia de
sshd
ejecución, lo que me impidió separar y volver a conectar la sesión. Después de identificar laPID
instancia apropiada desshd
ykill
pude volver a conectarlascreen -r
.Solo para información: Definitivamente encontrará más de un
sshd
demonio, uno corresponderá a su inicio de sesión actual y otro perteneciente a lascreen
sesión obsoleta (de hecho, podría haber varios otros ensshd
ejecución que pertenecen a varios otrosscreen
).fuente
Algunas veces las pantallas múltiples se ejecutan en segundo plano.
Pueden ser reanudados por:
Para obtener la pantalla, primero ejecute
screen -R
, luego verá todos los PID en ejecución de la pantalla, luego de eso reanudaráscreen -r [pid]
.fuente