Mittels Screen kann man mehrere virtuelle Konsolen nebeneinander laufen haben (sog. Multiplexing) und diese Session auch detachen, d.h. Screen läuft auch nach dem Ausloggen des Benutzers im Hintergrund weiter, so muss man z.B. seinen IRC Clienten beim Ausloggen nicht beenden.
Nachdem man Screen installiert hat (in den Ports meist unter misc/screen zu finden), tippt man
$ screen
Nun sollte eine Nachricht auftauchen, welche die Version von Screen und GPL enthält. Durch drücken der Enter- oder Leertaste verschwindet die Nachricht und man hat eine ganz normale Shell vor sich.
Die Bedienung von Screen ist vielleicht am Anfang etwas seltsam, man gewöhnt sich aber schnell daran. Um eine weiter Shell zu öffnen, drückt man Strg+a und dann c. Um nun zurück zur vorherigen Shell zu kommen, drückt man Strg+a und p (für previous). Wie man sehen kann, sind Befehle für Screen so aufgebaut, dass man erst Strg+a drückt und dann die Taste für die jeweilige Aktion.
Hier ist nun eine kleine Liste mit Befehlen, die für den Anfang sehr nützlich sind:
Strg+a c Startet eine neue Shell Strg+a p Zurück zum vorherigen Fenster Strg+a n Zum nächsten Fenster Strg+a 1 Zeigt das 1. Fenster an, Strg+a 2 das 2. usw. Strg+a " Zeigt eine Liste aller Fenster an Strg+a A Editiert den Titel des aktuellen Fensters
Die Manpage enthält die komplette Liste aller Befehle.
Mittels dieses Features läuft die Screensession im Hintergrund weiter, selbst wenn man sich ausloggt. Strg+a und d drücken und Screen detached sich und man ist wieder dort, von wo aus man Screen gestartet hat. Nun kann man sich ausloggen und später einfach mittels
screen -r
die vorherige Session wieder in den Vordergrund bringen, d.h. reattachen.
Im Folgenden werden ein paar Tipps zu Optionen der ~/.screenrc aufgezeig, die man evtl. ändern bzw. hinzufügen möchte.
startup_message off
Hiermit verschwindet der Startbildschirm, wenn Screen gestartet wird.
vbell on vbell_msg "AAARGH!!!"
Statt eines Pieptons wird vbell_msg angezeigt.
bindkey -k k8 prev bindkey -k k9 next
Mit dieser Option kann man mit der F8 bzw. F9 Taste zum vorherigen bzw. zum nächsten Fenster wechseln.
bind K kill
Mit Strg+a
und K
wird der Befehl für Screen gegeben, das aktuelle Fenster zu zerstören.
bind i screen -t irssi irssi bind l screen -t lynx lynx http://www.bsdforen.de
Wenn man Strg+a
und i
drückt, wird ein Fenster mit dem Titel irssi
geöffnet und irssi in diesem gestartet. Gleiches Schema für Strg+a
und l
, nur mit lynx.
hardstatus alwayslastline "%{= dd}%t %W%=%c"
Hiermit wird in der untersten Zeile der Konsole eine Statuszeile angezeit.
Eine kurze Erklärung der hier verwendeten Variablen:
%{= dd} Setzt die Hintergrundfarbe und die Farbe der Schrift auf Default (weiß auf schwarz) %t Titel des aktuell angezeigten Fensters %W Titel aller übrigen Fenster %= Alles, was nach diesem Zeichen kommt, wird an der rechten Seite der Konsole angezeigt %c Uhrzeit
Weiteres dazu kann man in der Screen Manpage unter „STRING ESCAPES“ nachlesen. In strcat's .screenrc (siehe Anhang) gibt es viele Statusline-Beispiele, die man ausprobieren und den eigenen Bedürfnissen anpassen kann.
Wer nur das detach-Feature von Screen benötigt, sollte sich mal das dtach Projekt ansehen.