3. Advent – Hol dir den Code

“Advent, Advent… Die Festtage stehen vor der Tür. Um euch die Wartezeit zu verkürzen und hektische Tage etwas aufzulockern, präsentieren wir nach jedem Adventssonntag ein Codebeispiel für die tägliche Computerpraxis. Wir wünschen euch eine schöne Adventszeit! Eure ICT-Blogger”

Wenn ich auf meinem virtuellen Server per SSH ein Update der Linuxdistribution durchführe, möchte ich bei einem Verbindungsabbruch nicht gerade auch das Upgrade abbrechen und starte sicherheitshalber Aptitude mittels GNU Screen. Die Hinweise beim Start kann man duch Anlegen einer Datei ~/.screenrc mit diesem Inhalt vermeiden:
startup_message off

Der Aufruf von screen startet die neue Sitzung. Mit der Tastenkombination C-a d kommt man zurück zur Login-Shell, die Sitzung bleibt im Hintergrund bestehen. Mit screen -r (re-attach) kann sie wieder aufgenommen werden.
Ausserdem kann man das Werkzeug auch noch für als Terminalprogramm für die serielle Schnittstelle benutzen, so man ein solches nicht (oder nur ein unzureichendes) beim Betriebssystem dazubekommt:

screen /dev/ttyUSB.0 19200

Hier wird optional die Geschwindigkeit mit angegeben; in diesem Fall 19200 bit/s. Mit CTRL-A-k wird die Sitzung beendet. Interessant ist noch die Kombination CTRL-A-i, die den Status der seriellen Verbindung ausgibt.

Um mit mehreren Benutzern auf der selben Shell arbeiten zu können (z.B. Für Trainingssitzungen) startet man Screen mit einem Sitzungsnamen und gibt diese für weitere Benutzer frei:


screen -S sitzungsname
CTRL-A :multiuser on
CTRL-A :acladd bob,alice,charly

Die beiden letzten Kommandos könne auch in die .screenrc-Datei im Heimatverzeichnis geschrieben werden.
Alice kann sich nun mit diesem Kommando auf die gleiche Shell verbinden:

screen -x alice/sitzungsname