Einführung
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:
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:
caption always "%{= wk} %-w%{= KW} [%n %t] %{-}%+w %= | @%H | %l | %Y-%m-%d %c "
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
Die aktuellste Version davon gibt es auf GitHub in meinem Configs Repository: .screenrc.
Links und weitere Informationen
- Manpage von
screen
: http://linux.die.net/man/1/screen