Hauptseite

Einige Tipps und Tricks für Screen

3. April 2009 von zimon

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 size

Dabei 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

Schlagworte: , ,



Kommentieren

Kommentarlinks könnten nofollow frei sein.


Bloggeramt.de frisch gebloggt Blogverzeichnis - Blog Verzeichnis bloggerei.de