Mit screen kann man mehrere Fenster innerhalb eines Terminals verwalten. In der Standardkonfiguration ist screen jedoch nicht optimal für das tägliche Arbeiten konfiguriert. Ich habe screen so eingerichtet, dass z. B. die Willkommensnachricht nicht erscheint und dass am unteren Bildschirmrand eine Leiste mit allen offenen Fenster angezeigt wird.
Konfiguration
Mit der Datei .screenrc, welche im Homeverzeichnis liegt, kann screen konfiguriert werden. Die meisten Optionen sind selbsterklärend, deshalb werde ich nicht auf alle eingehen. Die Optionen sind in der Manpage von screen zu sehen, welche man mit man screen aufrufen kann.
Statuszeile
Die wichtigste und nützlichste Option ist für mich die Statuszeile, welche alle offenen Fenster und zusätzliche Informationen auflisten kann. Meine Statusleiste sieht so aus:
Image may be NSFW.
Clik here to view.
Die Konfiguration der Statuszeile finde ich sehr komplex und nicht sehr logisch. Ich musste viele Beispiele anschauen, bis ich das richtig verstanden habe. Erst danach erschien mir die Manpage logisch. Schlussendlich habe ich die Statuszeile (Option caption) so eingerichtet:
Die Beschreibung zu diesen Optionen findet man in der Manpage von screen im Kapitel STRING ESCAPES. Hier die Erklärung dazu:
- %{=wk}Attribute: Hintergrundfarbe: Weiss (w); Vordergrundfarbe: Schwarz (k)
- -w Alle Fenster bis zum aktiven ausgeben
- g%{=wk}Attribute: Hintergrundfarbe: Weiss (W); Vordergrundfarbe: Schwarz (K). Farbcodes in Grossbuchstaben = kräftige Farbe.
- [%n %t] Aktives Fenster in eckigen Klammern ausgeben
- %{-} Vorherige Attribute wiederherstellen (%{=wk})
- -w Restliche Fenster ausgeben
- %= Leerraum einfügen, damit folgender Text rechtsbündig wird
- | @%H | %l | %Y-%m-%d %c Hostname, Load und Datum/Uhrzeit ausgeben
Meine Konfigurationsdatei
Meine gesamte Konfigurationsdatei sieht so aus:
#
# ~/.screenrc
# Konfigurationsdatei fuer screen
#
########################################################################
########################################################################
# Variabeln
setenv FOO bar
########################################################################
# Allgemein
startup_message off # Keine Willkommensnachricht
vbell off # Kein visuelles Blinken
msgwait 1 # Nachrichten für 1 Sekunden anzeigen
defutf8 on # utf8 bei neuen fenstern
autodetach on # on = default
shelltitle 'bash' # Fenstertitel
hardcopydir $HOME # Screenshots ins Homeverzeichnis
defscrollback 10000 # Buffer
defmonitor off # Aktivitäten nicht in Fenstertitel schreiben
########################################################################
# Meine Fenster
screen -t bash
screen -t bash
screen -t bash
# screen -t irssi irssi
# screen -t syslog sudo tail -f /var/log/everything.log
# screen -t ncmpcpp ncmpcpp
select 1
select 0
########################################################################
# Statuszeile
caption always "%{= wk} %-w%{= KW} [%n %t] %{-}%+w %= | @%H | %l | %Y-%m-%d %c "
# EOF
Links und weitere Informationen
- Manpage von screen: http://linux.die.net/man/1/screen