Auf allen Schirmen
Terminal-Multiplexer voll ausreizen
Wer schläft, wer wacht?
Screen informiert auf Wunsch darüber, ob in einem Fenster gerade Aktionen stattfinden oder nicht. Ein Beispiel: Sie stoßen in einem Fenster mit Make einen Kompilierungsvorgang an, der vermutlich etwas länger dauert. Drücken Sie nun die Tasten [Strg]+[A],[_] (den Unterstrich). Im Fußbereich des Programms erscheint die Meldung The window is now being monitored for 30 sec. silence. Das bedeutet, dass Screen Sie informieren wird, sobald sich in diesem Fenster 30 Sekunden lang nichts mehr getan hat – also Make zum Ende gekommen ist. Das Überwachen schalten Sie auf dem gleichen Weg, also mit [Strg]+[A],[_], wieder ab.
Umgekehrt erscheint gelegentlich wünschenswert, dass Screen Sie über Aktivitäten in Fenstern unterrichtet, die Sie gerade nicht betrachten: So läuft beispielsweise in Fenster 5 ein ICQ-Client, wie CenterIM, während Sie in Fenster 1 mit der Shell arbeiten. Um Sie darauf aufmerksam zu machen, dass sich einer Ihrer Kontakte im Fenster namens ICQ anmeldet, definieren Sie zunächst die Variable activity in der Datei ~/.screenrc wie folgt:
activity 'Fenster %n %t aktiv^G'
Nach einem Neustart von Screen (oder dem Befehl source .screenrc am Prompt des Tools) drücken Sie im Fenster 5, wo ICQ läuft, die Tastenkombination [Strg]+[A],[Umschalt]+[M]. Damit schalten Sie das Monitoring für Aktivitäten ein. Sobald sich im Chat etwas regt, informiert Sie Screen mit der Nachricht Fenster 5 ICQ aktiv und piepst dazu (wofür das abschließende ^G der activity-Anweisung sorgt). Mit einem weiteren [Strg]+[A],[Umschalt]+[M] beenden Sie den Zauber.
Status-Berichte
Zur Konfiguration der Statuszeilen hardstatus und caption lesen Sie in einer älteren Ausgabe [2] ausführliche Hinweise. Beide Zeilen gestalten Sie farblich und inhaltlich nach Ihren Bedürfnissen. So erhalten Sie einen Überblick der Fenster, der Systemlast oder des Datums samt Uhrzeit. Doch selbst an dieser Stelle dürfen Sie Skripte einbinden: Das Zauberwort dazu lautet backtick.
Nehmen wir an, Sie möchten auf einen Blick wissen, ob Sie sich über Ihren Provider eingewählt haben. Dazu bietet es sich an, die IP-Adresse in der Caption-Zeile anzuzeigen: Sind Sie offline, bleibt deren Platz leer. Zunächst schreiben Sie ein kleines Skript, das die IP-Adresse aus einem Kommando extrahiert, machen es ausführbar und legen es als screen-ip.sh in den Pfad $HOME/bin:
#! /bin/sh # Zeigt IP-Adresse in Screen an. ifconfig ppp0 | grep 'inet ' | cut -d: -f2 | cut -d' ' -f1
Jetzt machen Sie das Skript über die bereits erwähnte Variable backtick in der Konfigurationsdatei dem Terminal-Multiplexer bekannt:
backtick 1 2 2 /home/replaceableUsername/bin/screen-ip.sh
Das Wort backtick leitet die Zeile ein. Über die frei wählbare erste Nummer, in diesem Fall die 1, referenzieren Sie den Backtick. Die beiden folgenden Zahlen weisen Screen an, dass das Skript alle zwei Sekunden aufzurufen und die Anzeige der Programmausgabe alle zwei Sekunden aufzufrischen.
Im letzten Schritt weisen Sie dem Kommando seinen Platz in der Caption-Zeile zu. Die Angabe hat dort die Form %1`. Die gesamte Zeile sieht dann beispielsweise so aus:
caption always "%{Wg} %1` %-=%{gW} %2` %{Wg} %D, %d.%M. | %c h"Das Ergebnis zeigt Abbildung 1. Auf der LinuxUser-Website finden Sie ein weiteres Skript [6], das sich dazu eignet, die Mails auf einem POP-Server zu zählen und deren Anzahl in der Statuszeile anzeigen.


