Wie wird der Bildschirm -R an die jüngste getrennte Sitzung angehängt?

16

Ich benutze Bildschirm auf Debian Lenny und ich möchte die -ROption verwenden. Von 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.

Wenn ich screen -Res jedoch starte, hängt es nicht wirklich mit der jüngsten getrennten Sitzung zusammen. Stattdessen beschwert es sich, dass es "mehrere geeignete Bildschirme" gibt und ich einen davon auswählen muss.

Vermisse ich etwas? Wie mache ich diese Arbeit als beworben?

Wim Coenen
quelle
1
Note: Time-based session selection is a Debian addition.==> verwenden Sie den Standard screenvon Debian oder haben Sie selbst einen kompiliert?
26.
@Jan Claeys: Ich habe zuerst die Debian-Lenny-Binärdatei ausprobiert und dann den Bildschirm aus der neuesten Quelle unter git: //git.savannah.gnu.org/screen.git erstellt. Das Verhalten war dasselbe.
Wim Coenen

Antworten:

18

Versuchen Sie es mit screen -RR.

Beispiel:

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

Beachten Sie, dass Bildschirm 5958 der jüngste ist. Mit wird eine screen -RRVerbindung zum Bildschirm 5958 hergestellt. Die -RROptionen werden in der Dokumentation für etwas näher erläutert -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.

Ein anderer Trick, den ich oft benutze, ist -S, dem Bildschirm ein Etikett zu geben. Anschließend können Sie das Tag erneut anfügen, ohne sich merken zu müssen, was in den einzelnen Bildschirmen passiert ist, wenn die Liste unhandlich wird.

Beispiel (Startbildschirme für Vim und 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)

Hinweis: Die -dmOption wurde nur zum Starten eines getrennten Bildschirms verwendet

Und zu einem späteren Zeitpunkt können Sie die Verbindung mithilfe des Tags problemlos wiederherstellen curl.

# screen -R curl
David Narayan
quelle
Ist das nicht screen -D -RRbesser als screen -d -RR?
Niutech
Funktioniert auch, um Zeit auf der Umschalttaste zu sparen screen -rr.
Fmstrat
0

Ich benutze screen -R in gnome-terminal und, wie Sie sagten, wenn 2 Sitzungen gleichzeitig laufen, wird gnome-terminal sofort beendet.

Ich habe es durch Laufen gelöst

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

Das funktioniert genau so, wie Sie es erwarten.


quelle
oder einfach "screen -RR" wie von David vorgeschlagen: D