In erster Linie läßt man mit Screen, Konsolen im Hintergrund laufen. Also eigentlich auf einem extra Screen (Bildschirm). Also virtuell denkend.
Wenn man die Verbindung zur Screen Konsole verliert, (ob nun beabsichtigt oder versehentlich) kann man sich wieder mit ihr verbinden. um dort weiter zu machen wo man gerade war. Das geht auch per SSH und auch von einem anderen Host aus.
Die Programme die von der Screenkonsole aus gestartet wurden laufen weiter. So bietet sich Screen für lang laufende Konsolen Programme an. Will man z.B. einen große Menge an Dateien kopieren, kann man das Script auf seinem Server in einer Screen Konsole starten und sich dann von dem Server abmelden. Das Script läuft dann im Hintergrund weiter und man kann sich später wieder dazu schalten.
Aber aufgepasst. Wenn der prozess fertig ist. Bekommt auch die „screen“ wie jedes andere Terminal irgenwann ein timeout und verschwindet. Macht nix, ausser ihr wollte noch sehen was aud der Konsole los war. Dann sollte ihr Screen mit der „Logfile“ Funktion starten (siehe unten).
Ein anderer Verwendungszweck ist wenn man ein Script per SSH laufen hat und den Rechner wechseln möchte. Schließt man die SSH Verbindung wird das Script beendet. Bei mir ist dies meist der Wechsel von meinem Arbeitsrechner nach Hause.
Es gibt natürlich noch sehr viel mehr Einsatzmöglichkeiten von Screen, einer der bekanntesten ist wohl das man mit Hilfe von Screen auch mit ZWEI BENUTZER auf der SELBEN Konsole arbeiten kann und so gestalltet sich so manche „Remote Support“ Sitzung.
Auf Debian mit apt installieren oder mit eurem jeweiligen Paketmanager:
apt install screen
Das ganze startet man mit screen
. Die Konsole wieder verlassen mit exit
wie gewohnt. Will man sie in den Hintergrund legen, geht dies mit STRG + A, D und das wieder aufnehmen von im Hintergrund liegenden Konsolen geht mit screen -r.
Ein paar der wichtigeren Befehle mit screen:
1. screen
– Startet eine Screenkonsole
2. screen -S HauMichBlau
– Startet eine Screenkonsole mit dem Namen HauMichBlau
3. screen ping gutermann.net
– Startet den Befehl ping auf einer neuen Screenkonsole
4. screen -r
– Schnappt eine im Hintergrund liegende Screenkonsole wieder auf.
5. screen -r -S HauMichBlau
– Setzt eine Screenkonsole fort mit dem Namen HauMichBlau
6. screen -ls
– Listet alle Screenkonsolen auf
7. screen -x
– verbindet sich mit einer Screenkonsole die nicht getrennt ist
Wie oben erwähnt, mein Aufruf hat meist die Logfile Funktion mit drin und sieht dann so aus (-S vergibt einen namen, -L startet die Log Funktion -Logfile sagt wo der Log hin geht):
screen -S HauMichBlau -L -Logfile /tmp/HauMichBlau.log
Zum Schluß noch ein paar Sätze zur gemeinsammen Nutzung der Konsole. Bevor es Teams, Zoom und so Zeugs gab hatte ich sowas öfters im Einsatz.
Also, Benutzer Albert logged sich in den Rechner / Server / was auch immer ein. Started eine screen Sitzung mit folgendem Befehl screen
. Jetzt kommt Benutzer Herbert der in Timbuktu wohnt und logged sich ebenfalls auf der Kiste ein. Dieser macht nun screen -x
und schwups sind beide virtuell auf ein und der selben Konsole.