deskTOPia

Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor.

Zu einem sicheren System gehört nicht nur der bedachte Umgang mit systemweiten Diensten oder eine feuerfeste Wand rings um den (oder die) Rechner. Hinzu kommt der regelmäßige Blick in die Logfiles. Doch der hat einen gravierenden Nachteil: Er ist meist ein Blick in die Vergangenheit, oftmals erst nach unheilvollen Unregelmäßigkeiten. Läuft Ihnen z. B. der Speicher über, ist die Stabilität Ihres Linux-Rechners nicht mehr gegeben. Früherkennung ist daher nicht nur im Gesundheitswesen ein Muss.

Zentrale

Der Linux-Kernel hält glücklicherweise viele relevante Daten stets aktuell auf Abruf bereit. Auslesen lassen sie sich im Verzeichnis /proc, dessen Inhalt virtuell vom Kernel erstellt wird (und daher tatsächlich keinen Plattenplatz verbraucht, nicht einmal die größte Datei darin, kcore, ein Abbild Ihres Arbeitsspeichers). Ein cat /proc/meminfo listet eine Fülle an Informationen rund um den Zustand des Arbeitsspeichers auf (Listing 1).

Listing 1

So ist es um den Arbeitsspeicher bestellt

total:    used:    free:  shared: buffers:  cached:
Mem:  393928704 368910336 25018368        0 17498112 168648704
Swap: 777719808    32768 777687040
MemTotal:       384696 kB
MemFree:         24432 kB
MemShared:           0 kB
Buffers:         17088 kB
Cached:         164664 kB
SwapCached:         32 kB
Active:          50348 kB
Inact_dirty:    128592 kB
Inact_clean:      2844 kB
Inact_target:       12 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       384696 kB
LowFree:         24432 kB
SwapTotal:      759492 kB
SwapFree:       759460 kB

Darin gilt es lediglich noch, die Zeile mit der gesuchten Information ausfindig zu machen … Immerhin ist dieses Beispiel noch recht einfach zu deuten: Schon ein cat /proc/uptime stellt den User vor die weitaus größere Aufgabe, eine Zahlenkette wie 10756.43 7123.55 zu interpretieren. Relevant für die Zeit seit dem letzten Reboot ist hierbei lediglich der erste der beiden Zahlenblöcke, und der wird in Sekunden ausgewiesen. Mühsames Umrechnen ist nun notwendig, um zu den aussagekräftigen 2 Stunden, 59 Minuten und 16,43 Sekunden zu gelangen.

Gehilfe gesucht

So ist das Stöbern im /proc-Verzeichnis zwar eine recht systemnahe und zuverlässige, aber doch recht zeitraubende und unübersichtliche Variante der Informationssuche. Daher gibt es Systemmonitore, die permanent die Kernel-Informationen abrufen und grafisch aufbereiten. Ein solcher Vertreter ist ProcMeter, der mittlerweile in der Version 3.3a vorliegt. Eine Kopie hiervon finden Sie auf der Heft-CD oder aber (neben weiteren Informationen) unter http://www.gedanken.demon.co.uk/procmeter3/.

Dieses Stück Software informiert Sie nun nicht nur über RAM-Riegel und Zeiten, sondern auch über ankommende E-Mails, Ihre Stromversorgung, Festplattenaktivität und -kapazität, Netzwerk-Traffic, CPU-Auslastung, und, und, und. Alles, was erfasst werden kann, bekommen Sie entweder in nackten – aber aufbereiteten – Zahlen, als grafische Darstellung der letzten Minute(n) oder als Balken mit dem aktuellen Zustand (ebenfalls grafisch) angezeigt; gerne auch alles zusammen, mit oder ohne Beschriftung. Jeder Schnipsel darf auf Wunsch in einer anderen Farbkombination glänzen.

Klar hat die Sache auch einen Haken: Zwar ist all dies per Maus im laufenden Betrieb justierbar, doch ein mit der Maus erstelltes Layout lässt sich nicht abspeichern: Die zugehörige Konfigurationsdatei muss von Hand getippt werden, was bei gehobenen Ansprüchen mitunter ein wenig Aufmerksamkeit fordert. Doch der Aufwand lohnt sich, zumal er nur ein einziges Mal erforderlich ist.

Möchten Sie sich vom Nutzen und den Fähigkeiten dieses Tools selbst überzeugen, so entpackt ein mutiges tar -xvfz procmeter3-3.3a.tgz das Archiv in ein eigenes, neues Verzeichnis. Dieses enthält nun nicht das ausführbare Programm, sondern lediglich den rohen Code des Programmierers. Passend für Ihren Rechner übersetzt es der Aufruf make all; installiert ist das Ergebnis erst nach einem erfolgreichem make install, für das sie kurzfristig root-Rechte benötigen.

Doppelpack

Das Programm selbst gibt es dafür gleich in doppelter Ausführung: Außer dem eigentlichen, feiner anpassbaren procmeter3 steht mit gprocmeter3 eine Inkarnation zur Verfügung, die auf dem beliebten Toolkit GTK+ aufsetzt und somit anderen GTK- und GNOME-Anwendungen ähnlich sieht. Deutlich wird dies vor allem bei der Darstellung der Menüs, die sich bei gprocmeter3 nicht an der handgetippten Konfiguration orientiert, sondern am auserkorenen Theme.

Der erste Aufruf des einen wie des anderen Programms wirkt recht ernüchternd. Lediglich der Programmname sowie Uhrzeit und Datum werden mausgrau angezeigt (Abbildung 1). Soll ein viertes Element hinzu, so drücken Sie die rechte Maustaste. Ein Menü mit allen darstellbaren Informationen in allen verfügbaren Anzeigemodi klappt nun auf (in der Summe eine beeindruckende Anzahl, die sicher auf jedem Rechner im dreistelligen Bereich liegen dürfte). Wählen Sie nun ein Element aus, wird dieses dem ProcMeter-Fenster an unterster Stelle hinzugefügt. Die Reihenfolge der dargestellten Elemente lässt sich aber noch korrigieren, indem Sie aus dem Menü der linken Maustaste eine der beiden "Move To"-Optionen wählen und dem Verschiebekandidaten einen neuen Platz zuweisen.

Abbildung 1: Ein erster Eindruck

Intern

Beim Betätigen der linken Maustaste fallen zusätzliche Einträge ins Auge (Abbildung 2). So bekommen Sie über den Punkt Properties weitere Informationen und Erklärungen zum jeweiligen Element (Abbildung 3). Besonders hilfreich wird dieser Menüeintrag, wenn Sie Ihre Einstellung in eine Konfigurationsdatei überführen möchten – denn auch die jeweiligen ProcMeter-internen Bezeichner werden angezeigt. Schließen Sie dieses Fenster nicht, so passt es seinen Inhalt beim nächsten Mausklick an das aktuelle Element an.

Abbildung 2: Verborgen hinter der linken Maustaste
Abbildung 3: Properties erklärt

Ein weiterer Menüeintrag trägt den Titel Run. Dahinter verbirgt sich der Aufruf eines externen (und frei konfigurierbaren) Programms, das von Element zu Element variiert. So führt ein Mausklick auf ein Speicher-Element in der Standardkonfiguration dazu, dass die Ausgabe des Befehls free in einem xterm angezeigt wird.

Ein wenig Arbeit

Die vielbeschworene Konfigurationsdatei finden Sie unter ~/.procmeterrc. Existiert sie bei Ihnen nicht, können Sie die magere Default-Konfiguration aus dem entpackten Tarball an ihre Stelle kopieren und entsprechend abändern. Der Aufbau dieser Datei ist an und für sich simpel und logisch, kann aber rasch sehr umfangreich – und daher auch sehr verwirrend – werden. Vermutlich ein Grund, weshalb der Autor Andrew M. Bishop sie in einzelne Sektionen unterteilte. Zunächst sollten Sie ProcMeter darin den Weg zu seinen Programmdateien weisen, genauer, zu seinen Modulen:

[library]
path=/usr/local/lib/X11/ProcMeter3/modules

Diese übernehmen die eigentliche Befragung Ihres Systems, während ProcMeter lediglich ausgibt, was die Module liefern. So gibt es ein Modul für Speicherfragen (meminfo.so), eines für Ihren Prozessor (stat-cpu.so) usw. Ein solch modularer Aufbau hat den Vorteil, dass er leicht und rasch um neue Funktionen bereichert werden kann.

Der [library]-Sektion folgen nun im [startup]-Teil die beim Programmaufruf anzuzeigenden Elemente. Wie diese jeweils heißen, können Sie der mit man procmeterrc einsehbaren Anleitung oder aber dem bereits beschriebenen Properties-Dialog entnehmen: Es empfiehlt sich, den Aufbau mit der Maus zusammenzuklicken, um ihn anschließend in die Konfigurationsdatei abzutippen.

Dem Properties-Fenster aus Abbildung 3 entnehmen Sie beispielsweise, dass das entsprechende Modul Sensors heißt und unter Output um eine Aussage zu Fan1 und damit zur Drehzahl des ersten Lüfters gebeten wird. Den Darstellungsmodus legen Sie in der Konfiguration mit einem Einzelbuchstaben fest (t für Text, g für Grafik und b für Balkendarstellung). Eine zur Abbildung passende .procmeterrc enthielte folglich die Zeile Sensors.Fan1-t, mit der eine Textausgabe der Lüfterdrehzahl gewünscht wird. Module und Output verbindet man hierbei mit einem Punkt, während die Darstellungsart mit einem Bindestrich angehängt wird.

Auf das Sensors-Modul können Sie allerdings nur zugreifen, wenn Sie ein aktuelles lm_sensors-Paket installiert haben bzw. einen Kernel ab Version 2.4.13 mit I2C-Unterstützung verwenden.

Out of the box bekommen Sie hingegen einen Gesamtüberblick über Ihre CPU-Auslastung grafisch dargestellt: Tragen Sie an der gewünschten Stelle der order-Angabe in der [startup]-Sektion ein Stat-CPU.CPU-g ein. Stat-CPU bezeichnet hierbei das zu verwendende Modul, mit CPU besagen Sie, dass Sie dieses Modul über die CPU allgemein befragen möchten (jedes Modul hält mehrere Informationen bereit), und mit dem abschließenden g stellen Sie die Ausgabe auf "grafisch" ein.

Wird eine Zeile Ihrer Konfigurationsdatei zu lang, so können Sie mit dem Zeichen \ signalisieren, dass es auf der nächsten mit zugehörigen Eintragungen weiter geht:

[startup]
order = Stat-CPU.CPU-g \
        Processes.Processes-t \
        Memory.Mem_Free-b

Persönliche Note

In der nachfolgenden [resources]-Sektion legen Sie allgemeine Optionen – etwa Farben und Schriftart – für alle Elemente fest. Aufgenommen werden muss nur, was von den Standardeinstellungen abweichen soll (vergleiche Tabelle 1). Um lediglich Vorder- und Hintergrundfarbe selbst zu mischen, reichen folgende Zeilen:

[resources]
foreground = white
background = #445566

Die Farben können wie von HTML-Seiten bekannt sowohl als hexadezimaler RGB-Wert angegeben, als auch mit Namen benannt werden. Einen guten Überblick erhalten Sie mit dem Tool xcolorsel. Suchen Sie hingegen eine schönere Schriftart, so hilft xfontsel sicher gerne.

Tabelle 1: Allgemeine Ressourcen

Ressource Funktion Default
horizontal vertikale (0) oder horizontale (1) Ausrichtung 0
background Hintergrundfarbe grey80
foreground Vordergrundfarbe black
label-font Schriftart der Beschriftungen 5x7
label-foreground Schriftfarbe der Beschriftungen black
label-position Position der Beschriftung (top, bottom oder none) bottom
grid-foreground Hilfslinienfarbe der Graphen grey40
graph-solid Fläche im Graphen ausfüllen (0/1, yes/no oder true/false) yes
grid-min minimale Anzahl Hilfslinien im Graphen 5
grid-max maximale Anzahl Hilfslinien im Graphen nicht gesetzt
text-font Schriftart bei Textausgabe 8x13
menu-foreground Menü-Vordergrundfarbe (nicht bei der GTK-Version) black
menu-background Menü-Hintergrundfarbe (nicht bei der GTK-Version) grey80
menu-font Menü-Schriftart (nicht bei der GTK-Version) 7x13
update Aktualisierungsintervall in ganzen Sekunden 1
Abbildung 4: Anzeige modifiziert mit "graph-solid=yes" und "graph-solid=no"

Anschließend können Sie jedem Element noch spezielle Settings mit auf den Weg geben. Zur Verfügung stehen (bis auf horizontal) alle aus den Tabellen 1 und 2 ersichtlichen Angaben. Eingeleitet wird eine solche Sektion mit dem Namen des Moduls: Geht es Ihnen um ein Element aus dem Modul DiskUsage, überschreiben Sie die entsprechenden Angaben mit der Zeile [DiskUsage]. Soll lediglich die ProcMeter-Anzeige des freien Plattenplatzes Ihrer /home-Partition modifiziert werden, lautet die Sektionsangabe [DiskUsage.DF_Free_/home]. Kühlen Kopf behält man auch hier, wenn man per Maus vorkonfiguriert und die entsprechenden Einträge aus dem Properties-Menü abschreibt.

Tabelle 2: Ressourcen für die Module

Ressource Funktion
options Variiert von Modul zu Modul – vgl. man procmeter3
graph-scale Skaliert grafische Ausgaben
run Programmaufruf zuordnen
label Alternativer Beschriftungstext

Obrigkeit

ProcMeter hört auch auf klassische X-Window-Optionen, und so lässt sich der Systemmonitor beim Start über Anhängsel beeinflussen: -geometry -0+0 rückt das Fenster in die obere rechte Ecke. Wollen Sie dieses Flag nicht jedes Mal erneut eintippen, so helfen hier Einträge in den klassischen Xresources weiter. Schreiben Sie hierzu folgende Zeile in die Datei ~/.Xdefaults:

procmeter3@L: *geometry: -0+0

Sofern diese Datei noch nicht existiert, legen Sie sie einfach neu an. Spätestens nach dem Aufruf xrdb -merge ~/.Xdefaults zeigt Ihr Eintrag Wirkung. Zumindest die GTK-freie Variante procmeter3 lässt sich in den .Xdefaults statt mit einfachen Farben auch noch mit einer Hintergrundgrafik belegen:

procmeter3@L: *pane@L: *backgroundPixmap: grafik.xpm
Abbildung 5: ProcMeter mit Hintergrundgrafik

Doch damit nicht genug: Vielleicht möchten Sie die Informationen zum Dateisystem lieber in einem separaten Fenster angezeigt bekommen? Kein Problem, basteln Sie eine zweite Konfigurationsdatei unter anderem Namen (z. B. .procmeterrc-2), und legen Sie Ihre Xresources-Einträge unter einem anderem Bezeichner erneut an (z. B. procmeter3-2@L: *geometry: +0+0). Letzteres verhindert, dass die beiden Fenster übereinander in einer Ecke kleben. Rufen Sie ProcMeter nun mit dem Befehl

procmeter3 --rc=.procmeterrc-2 -name procmeter3-2

auf, und die Zweit-Einstellungen werden wirksam.

ProcMeter ist somit sehr individuell konfigurierbar. Hat man erst einmal die Möglichkeiten erfasst, muss man sich auch schon bremsen: Allzu schnell füllt dieser vorzügliche Systemmonitor einen nicht unerheblichen Teil des Bildschirms, womit eine neue Hürde auf dem Weg zum leicht erfassbaren Statusbericht aufgestellt ist.

Glossar

Xresources

Ausgeklügeltes System, mit dem eine oder mehrere X-Anwendung(en) zugleich konfiguriert werden können. Meist legt man hierin lediglich Farb-, Schrift- oder Geometrieangaben fest. Neuere Toolkits (wie GTK+ oder Qt) setzen auf sogenannte Themes und beachten die Xresources nicht mehr (vgl. deskTOPia im Heft 05/2001).

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare