Nachdem Ploppor eine Einführung in Screen gegeben hat, habe ich diese um ein paar prakische Tipps erweitert. Hier jetzt noch einige weitere Tipps.
Die Konfigurationsdatei .screenrc, die hier häufig verwendet wird liegt normalerweise im Home-Verzeichnis eines Users. Wenn sie noch nicht existiert, kann man sie einfach anlegen.
Visual Bell abschalten
Wer ein wenig mit Screen gearbeitet hat, dem ist aufgefallen, dass hin und wieder der ganze Bildschirm neu gezeichnet wird, was sich durch ein kurzes Flackern äußert. Dies ist die Visual Bell (quasi als Ersatz für einen Piepton). Da diese häufig stört kann man mit der Tastenkombination Strg+a Strg+g zwischen visuell und audio hin und her schalten. Um sie dauerhaft abzuschalten kann man folgende Zeile in die ~/.screenrc schreiben:
vbell off
Statusleiste von Screen einrichten
Ohne die Statusleiste macht die Arbeit mit Screen keinen Spass. Darum sollte man sie auf jeden Fall einrichten.
In der ~/.screenrc werden 3 Zeilen angelegt. Die ersten beiden sind immer nötig und schalten die Hardline des Terminals ein und geben an, dass sie in der untersten Zeile stehen soll:
hardstatus on hardstatus alwayslastline
Die Letzte Zeile bestimmt, die Farben und was alles wo zu sehen sein soll. Hier einige Beispiele, die man sich einfach mal anschauen kann. Das Einrichten einer eigenen Statusleiste ist relativ umständlich. Mehr Infos dazu gibt es in der Manpage. (Jeweils immer nur eine Zeile ausprobieren):
hardstatus string "%{=b}%-w%{=bru}%n %t%{-}%+w"Die Fenster werden nebeneinander in den eingestellten Systemfarben dargestellt. das aktive Fenster ist invertiert.
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %d.%m.%y %c:%s "Blaue Leiste, das aktuelle Fenster ist rot hinterlegt. Rechts steht der Name des Computers sowie Datum und Uhrzeit.
hardstatus string "%{rw} * | %H * $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<"Graue Leiste, links steht das Hostname und Username sowie die Uhrzeit und der Wochentag. Danach kommen die Fenster wobei das aktive weis hinterlegt ist.
Was tun bei Screen in Screen?
Wenn man überall Screen benutzt, bekommt man oft das Problem, dass man plötzlich Screen in einem Fenster aufruft, in dem Screen schon läuft. Dies ist mir häufig bei ssh passiert. Man hat Screen geöffnet und loggt sich auf einem entfernten Rechner ein, auf dem man Screen startet (oder attached). Wenn man jetzt Screen-Befehle eingibt, wirken sie nur auf das äußere Screen. Für solche Fälle ist das Escape-Kommando Strg+a a gedacht. Dies leitet Strg+a an das innere Screenfenster weiter. So kann man z.B. mit Strg+a a d das innere Screenfenster detachen.
Shortcuts zum Wechseln der Fenster
Statt Strg+a p und Strg+a n zu drücken um ins vorherige bzw. nächste Fenster zu gelangen, kann man sich auch Shortcuts definieren. Schreibt man die folgenden 2 Zeilen in die ~/.screenrc, so kann man mit F7 und F8 je ein Fenster zurück bzw. vorwärts wechseln:
bindkey -k k7 prev bindkey -k k8 next
Ein Kommando aus Screen heraus in einem neuen Fenster öffnen
Manchmal ist es Praktisch, wenn man einen Befehl direkt in einem neuen Screenfenster starten kann statt erst ein neues Fenster anzulegen und dort den Befehl einzugeben.Dies kann man mit dem Befehl
screen -X screen <befehl>
erreichen. Um das ganze abzukürzen kann man sich einen Alias definieren. Dazu schreibt man folgende Zeile in die ~/.bashrc
alias s='screen -X screen';
Im der nächsten geöffneten Konsole (oder nachdem man die ~/.bashrc mittels source ~/.bashrc neu geladen hat) kann man nun z.B. mittels
s top
top in einem neuen Screenfenster starten. Wenn das Programm geschlossen wird, schließt sich automatisch auch das geöffnete Screenfenster.
Folgende Beiträge könnten Dich auch interessieren:







