Ploppor hat schon eine kleine Einführung in Screen gegeben. Nun möchte ich diese durch ein paar praktische Tipps erweitern.
Mit Splitscreens arbeiten
Um ein Fenster horizontal zu spliten kann man Strg-a S nutzen. Daraufhin teilt sich das Fenster und man kann mit Strg-a Tab zwischen beiden Fenstern hin- und herschalten. Das neue Splitfenster ist noch leer, aber man kann einfach mit Strg-a p oder Strg-a n zwischen den bereits geöffneten Fenstern hin und herschalten oder mit Strg-a c ein neues anlegen.
Man kann auch die Größe der Fenster ändern. Dafür geht man mittels Strg-a : in den Command Line Modus und gibt fogendes ein:
resize sizeDabei steht size für die Anzahl der Zeilen, die bestimmt wie groß das Fenster sein soll.
Um ein Fenster eines Splitscreens wieder zu schließen kann man Strg-a X benutzen. Mit Strg+a Q werden alle anderen außer das aktuelle Fenster eines Splitscreens geschlossen
Mehrere Screen Sessions verwalten
Startet man Screen mit
screen -S sessionname
so wird dieser Session der Name “sessionname” mitgegeben. Wenn man nun mehrere detached Sessions hat, kann man die gewünschte Session einfach mit
screen -r sessionname
attachen.
Dabei kann man sich mit folgendem Befehl auch alle laufenden Sessions anzeigen lassen:
screen -ls
Programme mit Screen im Hintergrund starten
Man kann mit Screen ein Programm starten und die Session gleichzeitig detachen, so dass man wieder in der Kommandozeile ist und weiter arbeiten kann.
Die Screensession beendet sich automatisch, wenn auch das Programm beendet wird. Um z.B. top zu starten kann man nun folgenden Befehl benutzen:
screen -S top_session -md top
Der Session wurde auch direkt ein Name gegeben, so dass man sie später von anderen Sessions unterscheiden kann.
So kann man seine Befehle auf dem Server direkt in je einer Screen-Session starten und mit screen -ls sehen, ob z.B. Kopieraktionen abgeschlossen sind.
Das Starten im Hinergrund funktioniert nur, wenn man keine automatischen Aktionen für den Start von Screen in der .screenrc definiert hat.
Konsolenausgaben in eine Datei schreiben
Um die Ausgabe eines Fensters zu loggen gibt es folgende Befehle, die man im Command Line Modus ( Strg-a : ) eingeben kann:
- logifle dateiname – gibt den Namen der Datei an, in die gespeichert werden soll
- flush sekunden – gibt die Häufigkeit der Speicherung in Sekunden an (Standard 10)
- log on – schaltet das Logging an
- log off – schaltet das Logging aus
Session mit Passwort schützen
Man kann eine Session auch mit einem Passwort schützen, indem man im Command Line Modus password eingibt. Danach wird man 2 mal nach einem Passwort gefragt.
Wird die Session nun detached und man möchte sie wieder aufnehmen, so wird man zuerst nach dem Passwort gefragt.
Eine Session mehrmals attachen
Man kann mittels
screen -x sessionname
eine Session auch mehrmals attachen. Praktisch, wenn die ssh Verbindung abgebrochen ist und die Session somit nicht detached wurde.
Man kann eine Session sogar anderen Usern freigeben, die diese dann auch attachen können. Dafür gibt man im Command Line Modus die folgenden zwei Befehle ein:
multiuser on acladd username
Wobei username der Name des Users ist, der freigegeben werden soll.
Nun kann ein anderer User diese Session attachen mit
screen -c username/sessionname
Hier ist username der Name des Users, dem die Session gehört.
Um anderen Usern die Session freizugeben muss allerdings das suid-Bit von Screen gesetzt werden und der Ordner /var/run/screen auf die Rechte 755:
sudo chmod u+s /usr/bin/screen sudo chmod 755 /var/run/screen
Folgende Beiträge könnten Dich auch interessieren:
Schlagworte: Konsole, Screen, Splitscreen







