it-swarm.com.de

Wie überprüfe ich, ob ich in einer Bildschirmsitzung bin?

Ich brauche es, um festzustellen, ob ich treffe ctrl+d würde mich vom Server trennen oder einfach das aktuelle screen schließen.

Ist es irgendwie möglich zu überprüfen, ob ich gerade in der Sitzung screen bin?

80
wlk

Sie können die $STY Variable (eine Variable, die durch Bildschirmbefehl festgelegt wurde). Wenn es nicht "" ist, befinden Sie sich in einer Bildschirmsitzung.

Ich bin auf dem Bildschirm

$ echo $STY 
29624.pts-1.iain-10-04
$

Ich bin nicht auf dem Bildschirm

$ echo $STY

$
113
user9517

Sie können sich die Variable $ TERM ansehen.

echo $TERM

Wenn es sich um eine screen Sitzung handelt, sollte der Begriff Variable "screen" zurückgeben.

[email protected]:/volumes# echo $TERM
screen

Strg-a -d (um den Bildschirm zu verlassen)

[email protected]:/volumes# echo $TERM
xterm

Überprüfen Sie auch: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen

47
ewwhite

Sofern Sie die Standardschlüsselbindungen nicht geändert haben, können Sie dies tun Ctrl+a -> Ctrl+t, die die Uhrzeit anzeigt, wenn Sie sich auf dem Bildschirm befinden. Dies funktioniert auch dann, wenn Sie ssh: d an einem anderen Ort haben, im Gegensatz zu den anderen Vorschlägen.

30
Gurgeh

Der Befehl caption im ~/.screenrc ist eine gute Möglichkeit, eine Bildschirmsitzung zu unterscheiden.

Ich persönlich benutze dies:

$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"

Es wird eine Zeile wie diese am unteren Bildschirmrand hinzugefügt:

Screen session on gbook (system load: 1,75 1,74 1,68)                   Lun 05.01.2015 13:01

Mit dem ersten Teil (Systemname + Last) in Grün und dem Datum in Pink. Nützlich und schwer zu übersehen!

15
Gaëtan Lehmann

Ich habe eine andere Lösung gefunden:
Ändern Sie Ihr .screenrc, also sieht meine Bildschirmsitzung völlig anders aus als das normale Terminal.

6
wlk
screen -ls

um Ihre Sitzungen anzuzeigen und

screen -r sessioninfo

zum erneuten Verbinden mit einem nicht verbundenen, falls getrennt.

screen -D -r sessioninfo

um sich wieder mit einem getrennten zu verbinden.

0
Kevin