Einige Tipps und Tricks für Screen – Teil 2 | zInformatik

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 onhardstatus 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 prevbindkey -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.

Schlagworte: ,

Dieser Beitrag wurde vor am Sonntag, 26. April 2009 um 13:44 Uhr veröffentlicht und unter Linux, Ubuntuusers-Planet gespeichert.

Sie können Kommentare zu diesem Eintrag über den RSS-2.0-Feed verfolgen.

Sie können einen Kommentar hinterlassen oder einen Trackback von Ihrer Website hierher setzen.

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s