Auch in Zeiten des “Internet by Call” und “gedeckelter” Flatrates mit begrenzter Online-Zeit oder festem Download-Volumen behält man besser die Verbindungsdaten im Blick und vermeidet so Überraschungen beim Öffnen der Rechnung.
Eine Flatrate zum günstigen Festpreis, ohne Einschränkungen, was Online-Zeit und Übertragungsvolumen betrifft – das hört sich für Sie nach einem schönen Traum an? In diesem Fall behält das Programm pppstatus von Gabriel Montenegro all die Daten im Auge, auf die achten sollte, wer sich per Modem- und DSL-Verbindung zu zeit- oder volumenabhängigen Tarifen im Internet herum treibt. In der Version 0.4.2 durchaus ausgereift, zeigt die Software nicht einfach nur die aktuelle Statistik an, sondern berechnet auch bereits angefallene Internet-Kosten.
Die gerade übertragenen Bytes visualisiert eine Blöckchengrafik wie in Abbildung 1. Mehr Grafikkomfort ist in einem Konsolenfenster kaum zu machen, wenn man auf den Ressourcenverbrauch achtet.
Erst installieren, …
Wer Debian einsetzt, ist fein raus, denn dafür gibt es ein Binärpaket im deb-Format. Führt root den Befehl apt-get install pppstatus aus, holt dieser das Paket aus dem Netz und installiert es. Nutzer anderer Distributionen besorgen sich die Programmquellen von http://pppstatus.sourceforge.net/ und kompilieren mit den üblichen Handgriffen selbst:
tar xzf PPPStatus-v0.4.2.tar.gz cd PPPStatus-v0.4.2 make
Das gelingt natürlich nur, wenn ein C-Compiler, das make-Tool – und die Ncurses-Library samt Entwickler-Paket (bei SuSE ncurses-devel) vorinstalliert sind. Auf das Fehlen des letzteren weist eine Meldung wie
pppstatus.c:34:20: curses.h: Datei oder Verzeichnis nicht gefunden
direkt nach dem make-Aufruf hin. Meldet make sich am Ende mit der Zeile Compiled.., waren alle Voraussetzungen erfüllt, so dass man sich mit suroot-Rechte verleiht und die Software mit make install im System verankert.
… dann konfigurieren
Anschließend finden Debianer im Verzeichnis /etc/pppstatus die nötigen Konfigurationsdateien vor. Die zentrale Stellung nimmt dabei pppstatus.cfg ein. Darin kommt niemand um Anpassungen bei den Angaben zum verwendeten Netzwerk-Interface und zum maximal möglichen Netzwerkdurchsatz, sprich zur Geschwindigkeit der Internet-Verbindung, herum. Für Selbstkompilierer legt pppstatus diese Datei übrigens beim ersten Start unter /var/log/pppstatus.cfg an.
Tabelle 1: Einstellungen in pppstatus.cfg
| Variable | mögliche Werte | Bedeutung |
|---|---|---|
interface |
ppp0, ppp1, ppp2, … |
Netzwerkschnittstelle des Modems |
speed |
14.4, 28.8, 33.6, 56, 64, 115.2, 128, 256, 768, 1540 |
Datendurchsatz auf dem Weg zum Internet-Provider in kBits/s |
video |
vga, mono |
Darstellungsqualität |
bytes_info |
bytes, kbytes, mbytes |
Einheit des angezeigten Transfervolumens |
user_email |
Loginname | Schaut in /var/spool/mail/Loginname nach Mails, zählt sie und zeigt das Ergebnis an |
costs_file |
Pfad und Dateiname, z. B. /etc/pppstatus/costs |
Dateiname der Kostentabelle |
Des Weiteren gibt es hier die Möglichkeit, die Schriftfarben der Benutzerschnittstelle persönlichen Vorlieben anzupassen (Listing 1 zeigt ein Beispiel). Erlaubt sind schwarz (black), weiß (white), rot (red), grün (green), gelb (yellow), blau (blue) und das besonders im Stammland der Telekom wichtige magenta. Das vorangestellte Stichwort light hellt eine Farbe etwas auf.
Listing 1
Farbdefinitionen in
/etc/pppstatus/pppstatus.cfg
ingoing = light green # eingehende Daten outgoing = yellow # ausgehende Daten intersection = green # Überschneidung, eingehend und ausgehend background = black # Hintergrund data = cyan # Schriftfarbe fuer die Angaben zu den Daten border = white # Randfarbe labels = white # Farbe der Beschriftung version = light white # Farbe der Programmversionsanzeige power_led_on = light green # Zustandsanzeige bei Internet-Verbindung power_led_off = red # Zustandsanzeige ohne Internet-Verbindung
Trägt die Konfiguration den Gegebenheiten des jeweiligen Computers Rechnung, startet der Befehl pppstatus auf einer Konsole oder in einem xterm eine zunächst noch leere Übersichtsanzeige. Besteht zu diesem Zeitpunkt eine Internet-Verbindung, füllt sich diese Leere nach wenigen Sekunden mit der Blöckchengrafik des Netzwerkdurchsatzes.
Alles automatisch
Klappt dieser erste Test, muss das Programm künftig niemand mehr manuell starten. Nimmt es beim Rechnerstart automatisch seinen Dienst auf, landet die Grafikausgabe auf einer der virtuellen Konsolen. Allerdings muss, wer dieses Feature ausnutzen möchte, weitere Anpassungen vornehmen.
Das Debian-Binärpaket bringt die Datei /etc/init.d/pppstatus mit, die pppstatus beim Booten automatisch startet. Darin bestimmt man, welche der virtuellen Konsolen die pppstatus-Anzeige präsentieren soll. Die meisten Linux-Systeme verfügen über zwölf Stück, zu erreichen über die Tastenkombinationen [Alt-F1] bis [Alt-F12]. Alle virtuellen Konsolen oberhalb der siebten eignen sich gut für diesen Zweck, werden sie doch eher selten genutzt. Also ändert man den Wert der Variablen TTY in der Zeile TTY=12 auf eine Zahl größer 7 ab. Voreingestellt ist 12, auf den meisten Rechnern die letzte aller virtuellen Konsolen.
Das Debian-Start-Skript prüft, ob die Datei /etc/pppstatus/pppstatus_on_boot existiert. Ist das nicht der Fall, startet pppstatus, man ahnt es, nicht. Also erzeugt man sie besser – entweder, indem man die bei der Debian-Installation erzeugte Datei /etc/pppstatus/no_pppstatus_on_boot umbenennt oder sie mit dem Befehl
touch /etc/pppstatus/pppstatus_on_boot
als neues, leeres File anlegt. Anschließend simuliert der Befehl
/etc/init.d/pppstatus start
den automatischen Start beim Booten. Erscheint dabei keine Fehlermeldung, wechselt man mit [Alt-Fx] auf die für die Ausgabe vorgesehene Konsole und überzeugt sich davon, dass (hoffentlich) alles wie gewünscht funktioniert.
Wer pppstatus unter Red Hat, Slackware oder Debian selbst kompilieren musste, wechselt zurück ins PPPStatus-v0.4.2-Quellverzeichnis und richtet die “Autostartfunktion” mit dem dort erzeugten Programm runonboot ein:
./runonboot -d rh -t 9
sorgt unter Red Hat dafür, dass die pppstatus-Ausgabe auf der neunten virtuellen Konsole erscheint.
Funktioniert der Autostart anschließend trotzdem nicht, kommt die “falsche” Distribution zum Einsatz oder besteht der Wunsch nach mehr Flexibilität, kopiert man das pppstatus-Skript von der Heft-CD als root ins Verzeichnis /etc/init.d (bei Red Hat und Derivaten nach /etc/rc.d/init.d) und verleiht der Systemadministratorin etwa mit chmod u+x /etc/init.d/pppstatus Ausführbarkeitsrechte.
Damit dieses Skript beim Starten automatisch mit dem Argument start aufgerufen wird, fehlen noch ein paar Links, die Listing 2 für Red Hat anlegt; bei neueren SuSE-Distributionen tauscht man /etc/rc.d/init.d/ gegen /etc/init.d/ aus; im Zweifel sollte die Distributionsdokumentation über die richtigen Verzeichnisse Auskunft geben.
Listing 2
Das Start-Stopp-Skript verlinken
ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc3.d/S75pppstatus ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc5.d/S75pppstatus ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc0.d/K20pppstatus ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc3.d/K20pppstatus ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc5.d/K20pppstatus ln -s /etc/rc.d/init.d/pppstatus /etc/rc.d/rc6.d/K20pppstatus
Online-Kosten protokollieren
pppstatus‘ eingebaute Kostenkontrolle ist zwar nicht besonders ausgefuchst, für Internet-by-call-Nutzer aber selbst bei zusätzlich anfallenden Einwahlkosten flexibel genug. Die nötigen Daten nimmt die Datei /var/log/costs (bzw. beim Debian-Binärpaket /etc/pppstatus/costs) auf, die für jeden Wochentag sowie für Samstag und Sonntag festlegt, was die Online-Minute jeweils kostet. Listing 3 zeigt einen Ausschnitt, wie er zu Redaktionsschluss auf den “Arcor Internet by Call Spartarif” passte.
Listing 3
Ausschnitt aus der
costs
-Datei
# Diese Datei gibt die Kosten des Internet-Zugangs fuer jede Stunde # des Tages an. monetary_sign = Euro # Waehrung pulse_charge_time = 1 # Jede Minute eine Einheit pulse_on_connect = yes # Einwahlgebuehr 'yes' oder 'no' on_connect_cost = 0.079 # Hoehe der Einwahlgebuehr # wd (Work Days) umfasst Montag bis Freitag # sat steht für Samstag, sun für Sonntag 00:00 wd = 0.0083 01:00 wd = 0.0083 02:00 wd = 0.0083 03:00 wd = 0.0083 04:00 wd = 0.0083 05:00 wd = 0.0083 06:00 wd = 0.0083 07:00 wd = 0.0083 08:00 wd = 0.0083 09:00 wd = 0.0079 10:00 wd = 0.0079 […]
Steht die Übersicht, laufen alle neu gestarteten pppstatus-Instanzen mit Kostenkontrolle, wenn die pppstatus.cfg die Zeile
costs_file = costs
enthält (ggf. das Kommentarzeichen # am Zeilenanfang entfernen).
Mit diesen letzten Anpassungen sieht man nicht nur die Summe der übertragenen Bytes ansteigen, sondern beobachtet gleichzeitig, wie die angefallenen Internet-by-Call-Gebühren den Internet-Spaß leicht trüben.
Glossar
- Ncurses
- Programmbibliothek, mit deren Hilfe sich auf der Konsole Fenster, Menüs und andere einfache Grafikelemente darstellen lassen.
- virtuellen Konsolen
- Gängige Linux-Systeme stellen mehrere Bildschirme zur Anmeldung und zum Ausführen von Programmen zur Verfügung. Jeder dieser “Monitore” oder virtuellen Konsolen zeigt jeweils einen Bildschirm an, zum Umschalten dient die Kombination aus der [Alt]- und einer Funktionstaste. Den Wechsel von der mit einer grafischen Oberfläche belegten Konsole zu einer Textkonsole erfordert zusätzlich den Druck der [Strg]-Taste.





