Come rendere lo schermo -R allegato alla sessione più giovane staccata?


16

Sto usando lo schermo su Debian Lenny e vorrei usare l' -Ropzione. Da 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.

Tuttavia, quando corro screen -R, in realtà non si attacca alla sessione distaccata più giovane. Invece, si lamenta che ci sono "diversi schermi adatti" e che devo sceglierne uno.

Mi sto perdendo qualcosa? Come faccio a farlo funzionare come pubblicizzato?


1
Note: Time-based session selection is a Debian addition.==> stai usando il default screendi Debian o ne hai compilato uno tu stesso?
JanC

@Jan Claeys: ho provato prima il binario Debian lenny, quindi ho creato lo schermo dall'ultima fonte su git: //git.savannah.gnu.org/screen.git. Il comportamento era lo stesso.
Wim Coenen,

Risposte:


18

Prova a usare screen -RR.

Esempio:

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

Lo schermo 5958 è il più giovane. L'uso si screen -RRcollega allo schermo 5958. Le -RRopzioni sono in qualche modo ulteriormente spiegate nella documentazione di -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.

Un altro trucco che uso spesso è quello di utilizzare -Sun tag / etichetta per lo schermo. Quindi puoi ricollegare utilizzando quel tag senza dover ricordare cosa stava succedendo in ogni schermata se l'elenco diventa ingombrante.

Esempio (avviare schermate per vim e 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: l' -dmopzione è stata appena utilizzata per avviare una schermata separata

E poi, in un secondo momento, puoi riconnetterti facilmente utilizzando il tag curl.

# screen -R curl

Non è screen -D -RRmeglio di screen -d -RR?
Niutech,

Per risparmiare un po 'di tempo sul tasto Maiusc, screen -rrfunziona anche.
Fmstrat,

0

Uso lo schermo -R in gnome-terminal e, come hai detto, se 2 sessioni sono in esecuzione contemporaneamente, gnome-terminal si chiude immediatamente.

L'ho risolto correndo

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

funziona esattamente come previsto.


o semplicemente "screen -RR" come suggerito da David: D
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.