¿Cómo hacer que la pantalla -R se adjunte a la sesión separada más joven?

16

Estoy usando la pantalla en Debian Lenny, y me gustaría usar la -Ropción. De man screen:

   -R   attempts  to  resume  the  youngest  (in  terms  of creation time)
        detached screen session it finds.  If successful, all  other  com‐
        mand-line  options  are  ignored.   If no detached session exists,
        starts a new session using the specified options, just  as  if  -R
        had  not been specified.

Sin embargo, cuando lo ejecuto, screen -Ren realidad no se adjunta a la sesión separada más joven. En cambio, se queja de que hay "varias pantallas adecuadas" y que necesito elegir una de ellas.

¿Me estoy perdiendo de algo? ¿Cómo hago que esto funcione como se anuncia?

Wim Coenen
fuente
1
Note: Time-based session selection is a Debian addition.==> ¿está utilizando el valor predeterminado screende Debian o compiló uno usted mismo?
JanC
@ Jan Claeys: Primero probé el binario de Debian lenny, luego construí la pantalla desde la última fuente en git: //git.savannah.gnu.org/screen.git. El comportamiento fue el mismo.
Wim Coenen

Respuestas:

18

Intenta usarlo screen -RR.

Ejemplo:

$ screen -ls
There are screens on:
    5958.pts-3.sys01    (08/26/2010 11:40:43 PM)    (Detached)
    5850.pts-1.sys01    (08/26/2010 11:40:35 PM)    (Detached)
2 Sockets in /var/run/screen/S-sdn.

Tenga en cuenta que la pantalla 5958 es la más joven. Usar se screen -RRconecta a la pantalla 5958. Las -RRopciones se explican un poco más en la documentación de -d -RR.

   -d -RR  Reattach a session and if necessary detach or  create  it.  Use
           the first session if more than one session is available.

Otro truco que uso a menudo es usar -Spara darle a la pantalla una etiqueta / etiqueta. Luego puede volver a adjuntar usando esa etiqueta sin tener que recordar lo que estaba sucediendo en cada pantalla si la lista se vuelve difícil de manejar.

Ejemplo (pantallas de inicio para vim y curl):

$ screen -dm -S curl
$ screen -dm -S vim 
$ screen -list

There are screens on:  
    11292.vim       (08/27/2010 12:02:53 AM)        (Detached)
    11273.curl      (08/27/2010 12:01:42 AM)        (Detached)

Nota: La -dmopción solo se usó para iniciar una pantalla separada

Y luego, en una fecha posterior, puede volver a conectarse fácilmente utilizando la etiqueta curl.

# screen -R curl
David Narayan
fuente
¿No es screen -D -RRmejor que screen -d -RR?
niutech
Para ahorrar tiempo en la tecla Mayús screen -rr, también funciona.
Fmstrat
0

Uso screen -R en gnome-terminal y, como dijiste, si se ejecutan 2 sesiones al mismo tiempo, entonces gnome-terminal se cierra inmediatamente.

Lo resolví corriendo

sh -c "screen -R || screen -D -RR"

esto funciona tal como lo esperabas.


fuente
o simplemente "screen -RR" como lo sugiere David: D