Archive for the ‘Linux Tool der Woche’ Category

Linux Tool der Woche: apg

Friday, July 30th, 2010

Das Thema dieses LTW-Beitrages sind sichere Passwörter. Das mag im ersten Moment wenig aufregend klingen. Wenn man sich aber einen Moment Zeit nimmt und das Thema «chüschtiget», dann könnte sich dieser erste Eindruck rasch in eine andere Richtung wenden. Denn unsichere Passwörter sorgen regelmässig für Schlagzeilen. Nämlich dann, wenn es jemandem gelingt, mit Hilfe von entschlüsselten Passwörtern Zugriff auf fremde Daten zu erhalten. Freilich, meistens ist es nicht das schwache Passwort, das dafür sorgt, dass ungebetene Gäste auf eine Mailbox oder auf ein Twitter Konto zugreifen. Auch eine Schwachstelle im System oder ein simples Postit am Arbeitsplatz können den Zugriff auf die persönlichen Informationen freigeben.

Dennoch muss die Forderung nach sicheren Passwörtern aufrecht erhalten werden. Selbst dann, wenn es um Informationen geht, die als unwichtig erachtet oder nur für eine kurze Zeit benötigt werden.

Ein «Feind» von sicheren Passwörtern ist – wie so oft – die Bequemlichkeit. Einfach Passwörter wie eine Automarke oder der Name der Hauskatze lassen sich leicht merken. Ebenso können sie aber auch erraten werden. Als sicher gilt ein Passwort dann, wenn es mindestens 8 Zeichen enthält und sich aus einer zufälligen Reihe von Zahlen, Buchstaben und Sonderzeichen zusammensetzt. So ist es nicht mehr möglich, ein Passwort ganz oder teilweise mit einer Wörterbuchsuche zu entschlüsseln. Hier ist so ein Passwort: xhvY1,fp6D1.

Dieses Passwort ist sicher. Aber es schwierig, es auswendig zu lernen. Es geht also darum, Passwörter zu finden, die den zuvor aufgestellten Kriterien entsprechen und dennoch gut memorisierbar sind. Diese Aufgabe über nimmt das Linux Tool dieser Woche: apg – Automated Password Generator. apg ist in vielen Linux Distributionen enthalten, wer es im Paketverwaltung nicht findet, kann es auf der Homepage von Adel I. Mirzazhanov herunterladen.

Obwohl apg eine Vielzahl an Optionen bietet, ist es in der Anwendung denkbar einfach. Es genügt, apg auf der Kommandozeile aufzurufen, um mehrere Passwortvorschläge zu erhalten. apg-Passwörter setzen sich stets aus englischen Silben und Silbenkombinationen zusammen, so dass sie aussprechbar und somit leichter auswendig gelernt werden können:

# apg
JejubMepuf
marcecOjin
sorcopciHa
ryHunnEsk

Wer Hilfe bei der Aussprache benötigt, verwendet die Option -t. Nun zeigt apg die Passwörter an und gibt zusätzlich Hinweise, wie die Wörter ausgesprochen werden können:

# apg -t
vacsakjo (vacs-ak-jo)
OnEvEwnusp (On-Ev-Ewn-usp)
vukewtim (vu-kewt-im)
Liejfowgog (Liej-fowg-og)

apg kennt wie bereits erwähnt viele Optionen, mit denen nebst anderen Einstellungen die Stärke der Passwörter verändert werden kann. Wer beispielsweise der Meinung ist, acht Zeichen seien zu kurz, kann mit der Option -s die Mindestlänge festlegen. Und um wirklich sicher zu sein, dass die Passwörter zufällig sind, kann die Option -m mitgegeben werden. apg fragt nun nach einer zufälligen Zeichenfolge, die zur Initialisierung des Generators verwendet wird.

Linux Tool der Woche: bwBASIC

Friday, May 14th, 2010

Das Linux Tool dieser Woche ist bwBASIC, ein Interpreter für die Programmiersprache BASIC (Beginner’s All-purpose Symbolic Instruction Code). BASIC zählt zu den ältesten Computer-Programmiersprachen, es gibt sie seit 1964, also seit mehr als 45 Jahren. Seine Popularität in den späten 70er und 80er Jahren verdankt diese Sprache nicht nur ihrer einfachen Erlernbarkeit, sondern auch (und vor allem) dem Aufkommen der Homecomputer zu Beginn der 80er Jahre. Viele Computer-Begeisterte (zu denen auch der Verfasser gehört), leisteten sich damals einen Commodore VC20, C64 oder einen Texas TI 994A. Alle diese Rechner teilten einige wichtige Eigenschaften:

Commodore 64 (Quelle: Anders/Wikipedia)

Sie verfügten aus heutiger Sicht über sehr wenig Ressourcen, zur Grundausstattung gehörten meist weniger als 64 KB RAM, ein 8-Bit Mikroprozessor und ein Bandlaufwerk, auf dem die Programme gespeichert werden konnten. Erst etwas später folgten die deutlich schnelleren 5.25 Floppy Disks. Abgerundet wurde die Ausstattung durch Farbgrafik und einen mehrstimmigen Soundchip.

Das Betriebssystem passte auf einen 64 Kilobyte ROM Chip, war in Assembler geschrieben und enthielt nebst den elementaren Ein-/Ausgabe Routinen einen BASIC Interpreter. Nach dem Einschalten konnte also sofort mit dem Laden oder Abtippen von BASIC Anweisungen begonnen werden. Für BASIC-Programme standen meist zwischen 16 und 64 Kilobyte RAM zur Verfügung. Wem das nicht genügte, oder wem BASIC zu langsam wurde, der wich auf Assembler aus (direktes Programmieren des Microprozessors). Assembler Anweisungen konnten mit einem sogenannten Maschinenmonitor direkt in den Speicher des Computers geschrieben und dort ausgeführt werden!

Homcomputer der damaligen Zeit wurden zum Spielen benutzt, das war nicht anders als heute. Sie waren aber auch faszinierende Werzeuge zu Lernen und kreativ werden. Die Homecomputer waren ja die ersten programmierbaren Computer überhaupt, die zu einem erschwinglichen Preis angeboten wurden und sich auch für den Heimgebrauch eigneten, da sie am Farbfernseher angeschlossen werden konnten. Mit einen C64 oder ZX Sinclair wurde es erstmals möglich, zuhause im eigenen Wohnzimmer autodidaktisch eine Programmiersprache zu erlernen. Und eigene Software zu entwickeln.

Gewiss, mit weniger als 64 KB RAM und einem langsamen 8-Bit Prozessor waren den Möglichkeiten enge Grenzen gesetzt. Sobald ein Programm eine gewisse Komplexität erreichte, wurden die Ressourcen knapp. Aber genau darin lag ja auch der Reiz der Sache; die Herausforderung, eine gestellte Aufgabe trotz der einengenden Ausstattung lösen zu können. Das Ergebnis davon wer eine verblüffende Kreativität, die von den Programmieren entwickelt wurde. Durch immer neue Techniken, in Verbindung mit selbstgeschriebenen Assemblerteilen und direktem Zugriff auf die Hardwarefunktionen, wurde plötzlich möglich, was kurz zuvor noch unrealisierbar galt. Auf dem C64 etwa hielt sich lange das Dogma, dass eine grafische Benutzeroferfläche wie GEM oder Windows nicht machbar sei. Bis eine Firma Berkeley Softworks mit GEOS das Gegenteil bewies.

Zurück aber zu BASIC. Zur damaligen Zeit war BASIC eine recht schlichte Sprache, die kaum mehr als 50 Sprachbefehle (Statements) kannte. Ausserdem mussten die einzelnen Anweisungen mit Zeilennummern durchnummeriert werden. Das konnte zu einer mühseligen Geduldsprobe werden, sobald das Programm wuchs und modifiziert werden sollte. Blockanweisungen, so wie sie jede moderne Sprache kennt, gab es noch nicht. Und auch keine Funktionen, Prozeduren, Module oder Objekte. Kurz: strukturiertes oder gar objektorientiertes Programmieren war nicht möglich. Dies führte dazu, dass BASIC schon bald einen ziemlich schlechten Ruf bekam, BASIC-Programme wurden verächtlich Spaghetti-Code genannt und der Ruf nach strukturierten Sprachen, wie Pascal oder C wurden laut.

Damit stellt sich natürlich die Frage: warum ist ein BASIC-Interpreter das Linux Tool der Woche? Ganz einfach: weil es einen spannenden Blick in die Anfänge der Heimcomputer und PC’s ermöglicht. Und weil viele alte Programmierer mit BASIC gerne die zuvor erwähnte Tugend verbinden: limitierte Systemressourcen nicht als gegebenen Grenzen zu sehen, sondern als Herausforderung, einen Weg zu finden, um diese zu überwinden.

bwBASIC gehört zum Lieferumfang der meisten Linux Distributionen, wer es in der Paketverwaltung nicht findet, kann es direkt auf der Homepage herunterladen. In bezug auf den Funktionsumfang ist bwBASIC an GWBASIC angelehnt, an den Interpreter also, der während fast 20 Jahren mit MS-DOS mitgeliefert wurde. Ein einfaches BASIC-Programm, das mit bwBASIC ausgeführt werden kann, mag so aussehen:

Es könnte als Lernbeispiel der ersten Stunde dienen, da er bereits alle drei elementaren Teile eines Programmes erfüllt: die Eingabe von Daten (INPUT), die Verarbeitung (prüfen, ob Eingabe leer ist) und die davon abhängige Ausgabe (PRINT). Das Fehlen von Zeilennummern zeigt, dass bwBASIC diese zwar erlaubt, aber nicht erfordert. Dies macht die Sache etwas leichter und erlaubt in diesem Fall bereits Blockanweisungen.

Linux Tool der Woche: fortune

Friday, April 16th, 2010

Einige Tools, die in dieser Rubrik bereits vorgestellt worden sind, gibt es schon seit vielen Jahren, etwa den Midnight Commander. Auch der Kandidat dieser Woche existiert seit gut 30 Jahren; das Tool tauchte erstmals in der Seventh Edition Unix aus dem Jahre 1979 auf: fortune, ein Programm zum Anzeigen von Zitaten, Anekdoten, Tipps, Sprüchen, berühmten letzten Worten und vielen anderen Meldungen. Oder anders: ein kleines Tool, das für das Bunte im Leben steht.

Und da wir es also mit einem alten Utility zu tun haben, bleiben wir noch einen Moment in der Vergangenheit. Leider hat fortune heute nicht mehr die Popularität wie vor 10 oder 20 Jahren. Damals wurde auf UNIX Systemen vorwiegend mit einer Textkonsole gearbeitet. Die Methode also, für die Puristen auch heute noch uneingeschränkt einstehen. Auf vielen Systemen war es üblich, dass nach den Einloggen verschiedene Mitteilungen angezeigt wurden. Etwa das Tagesmotto, das in der der Datei /etc/motd gespeichert ist. Oder Meldungen, die das System selbst betrafen, sie waren in der Datei /etc/issue abgelegt. Um an dieser Stelle auch etwas Spannung und Abwechslung zu bieten, wurde häufig fortune in die Startscripts aufgenommen. So konnte die Routine mit einem kleinen Spass aufgelockert werden. Mit dem Aufkommen grafischer Benutzeroberflächen auf UNIX Systemen verblasste die Popularität von fortune zunehmend. Und das ist schade, deshalb soll ihm dieser LTW-Beitrag gewidmet sein.

Auf den meisten Linux Systemen ist fortune vorinstalliert, oder es kann aus der Paketverwaltung nachinstalliert werden. Meist sind die Meldungen, die das sympathische Tool dann ausgibt englisch. Deutsche Meldungen gibt es aber fast immer in entsprechenden Zusatzpaketen. Bei Ubuntu Linux etwa muss das Paket fortune-german nachinstalliert werden. Nun kann fortune ohne Argumente in in einer Shell aufgerufen werden, um eine zufällige Meldung anzuzeigen. Bei Ubuntu Linux sind es rund 12.000 fortune-Meldungen, die in verschiedenen Dateien gruppiert sind:

# fortune
Die Freiheit besteht darin, daß man alles tun kann, was einem anderen nicht schadet.
    – Arthur Schopenhauer

Bei jedem Aufruf ist ein anderes Bonmot zu sehen, in ganz unterschiedlicher Qualität…! Wer also etwas auf die viel diskutierte «Political correctness» hält, sollte fortune mit Vorsicht geniessen. Und wer nur «Glückskekse» aus bestimmten Kategorien sehen möchte, gibt den Namen der Kategorie als Argument an, zum Beispiel:

# fortune sprueche
Das Geheimnis des Könnens liegt im Wollen.

Aber welche Kategorien gibt es? Eine Antwort auf diese Frage gibt es mit fortune -f. fortune kennt verschiedene Argumente, die in der Manpage sehr gut dokumentiert sind. Mit -c etwa wird jeweils angezeigt, aus welcher Kategorie ein Spruch stammt. Wer gerne kurze fortunes haben möchte, kann mit -n die maximale Länge festlegen. Und wer ein Bewunderer von Goethe ist, kann mit -m Goethe alle Zitate und Anekdoten des berühmten deutschen Dichters anzeigen.

Wem fortune nach dieser kleinen Einführung gefällt, kann das Programm bei jedem Login auf der Konsole aufrufen. Da bei Linux meistens die Bourne Again Shell (bash) verwendet wird, wird das gewünschte fortune Kommando einfach in die Datei ~/.bashrc geschrieben:

~/.bashrc:
fortune zitate

fortune gibt es nicht nur für die Kommandozeile. Es kann auch in Webseiten oder in jedes beliebige Programm integriert werden. Wie das geht, kann auf der englischen Wikipedia-Seite nachgelesen werden. Der Verfasser wünscht viele kleine Momente des Ausbrechens aus der alltäglichen Routine. mit fortune oder auch auf anderen Wegen. Schliesslich muss nicht alles mit dem Computer gemacht werden.

Linux Tool der Woche: mp3tag

Friday, March 26th, 2010

Eines seiner Flötenkonzerte hat Antonio Vivaldi mit «Il Gardellino» überschrieben – der Distelfink. Das wunderschöne, dreiteilige Werk ist ein Wechselspiel zwischen lebhaften, fröhlichen, aber auch zarten Flötenklängen, bei denen wir den Fink vor unserem geistigen Auge sehen können, wie er von Ast zu Ast springt und seine Melodie singt. Und dann wechselt der Rhythmus und der berühmte Italiener entführt uns in eine zauberhafte Landschaft, die uns träumen lässt, uns Ruhe und Entspannung schenkt. Der Gardellino ist wie alle Melodien von Antionio Vivaldi erfüllt von einem eigenen Zauber und einem tiefen Frieden, der einlädt zum Verweilen und Stille schenkt, aus der wir neue Kraft schöpfen können. Kurz: Ein echtes und unverwechselbares musikalisches Kkeinod.
Es ist kein Zufall, dass in der Londoner U-Bahn seit einigen Jahren klassische Musik zu hören ist. Ihre wohltuende Wirkung auf unser Gemüt ist längst bewiesen.

Aber eigentlich geht es diesmal nicht um klassische Musik, sondern um ein weiteres praktisches Linux Tool, dem gleich noch eine kurze Einleitung vorangehen soll. Vielleicht erging es Ihnen ja wie mir, als Sie das erste Mal MP3 Dateien mit einen Musikplayer wie Winamp oder XMMS abgespielt haben und dann folgendes bemerkten: beim Abspielen werden im Player verschiedene Informationen zum Titel angezeigt:

audacious

Komponist, Album, Titel des aktuellen Stückes und mehr sind zu sehen. Doch woher kommen diese Informationen? Aus dem Dateinamen gewiss nicht, denn der besteht manchmal einfach nur aus der Nummer des Stückes, z.B. 12.mp3. Also müssen die Infos aus der Musikdatei selbst stammen. Und so ist es in der Tat. Am Beginn jeder MP3 können sogenannte Tags gespeichert werden. Zeichenketten also, die Auskunft über die Musikdatei geben. Das gute daran ist, dass diese Werte auch nachträglich beliebig oft verändert werden können. So wird es beispielsweise möglich, eine selbst erzeugte MP3 Datei zu dokumentieren. Wie aber können diese Tags konkret manipuliert werden? Unter Linux gibt es (wie erwartet) eine Vielzahl an guter Tools, MP3 Diags zum Beispiel. Damit lassen sich sehr leicht MP3 Dateien analysieren und mit Tags versehen. Hier aber soll – ganz im Sinne der Rubrik – ein kleines Kommandozeilentool vorgestellt werden, mit dem schnell und einfach MP3 Tags angezeigt, erstellt und vmanipuliert werden können. Da das Tool zu 100% mit Kommandozeilenargumenten genutzt wird, eignet es sich hervorragend für den Aufruf aus Scripts: mp3tag von Bram Avontuur. Das praktische Tool ist Teil des MP3 Blaster, der in dieser Rubrik bereits vorgestellt worden ist.

mp3tag

mp3tag in Aktion

mp3tag funktioniert denkbar einfach: wird das Tool zusammen mit einer MP3 Datei aufgerufen, werden Titel, Album, Komponist und einige weitere Angaben zur Datei übersichtlich aufgelistet (siehe Screenshot). Wer etwas verändern will, benutzt eines oder mehrere der folgenden Argumente beim Aufruf. Wichtig: Änderungen sollten stets mit der Option -r (Merge) kombiniert werden. Wird diese Option weggelassen, müssen alle Felder der Datei explizit gesetzt werden, sonst gehen sie verloren:

-a Komponist/Künstler
-s Titel des Stückes
-l Album
-y Jahr der Veröffentlichung
-e Kommentar
-g Genre
-k Nummer des Stückes
-r Merge (siehe oben)

Um beispielsweise den Kommentar einer Datei zu verändern, kann folgendes Kommando verwendet werden. Damit der Text mit Leerzeichen von der Shell korrekt interpretiert werden kann, muss er in doppelte Hochkommas gesetzt werden:

mp3tag -e “Kommentar zu diesem Titel” -r datei.mp3

Damit ist das Wesentliche zu diesem nützlichen Tool bereits gesagt. Details und Hinweise gibt es wie gewohnt in der Manpage. Fazit: mp3tag ist ein kleines Tool, über das man sich in wenigen Minuten einen Überblick verschaffen kann. Deshalb beende ich dein Beitrag an dieser Stelle, um die Stereoanlage wieder einzuschalten und um ein paar klassische Klängen zu hören. Und wer weiss, vielleicht kommt der eine oder andere Leser hier vorbei und wird durch den Beitrag neugierig auf die Klassiker. Es würde mich freuen!

Linux Tool der Woche: bluefish

Friday, March 12th, 2010

Das Bluefish-Logo

Um das Linux Tool dieser Woche besser verstehen zu können, müssen wir – wie so oft – um einige Jahre zurückblenden. Genau genommen in die Mitte der 90er Jahre. Also in die Zeit, in der das World Wide Web explosionsartig zu wachsen begann! Es war die Zeit, als eine Internet-Präsenz für Firmen unerlässlich wurde, als immer mehr Privathaushalte mit einem Internetanschluss ausgestattet waren, die Zeit, als auch auf Firmenautos und Lastwagen-Blachen E-Mail Adresse aufgedruckt wurden. Gewiss, viele surften damals noch mit einen Analogmodem, also mit kaum mehr als 50 KBits pro Sekunde. Aber das reichte vollauf, um E-Mails und Webseiten in akzeptabler Zeit abzurufen. Denn die Webdeveloper waren sich über die limitierte Bandbreite voll bewusst und achteten genau darauf, dass die einzelnen Seiten einer Präsenz nicht mehr als je 100-200 Kilobyte Speicherplatz benötigten.

Das Internet war in der vorletzten Dekade noch wesentlich einfacher und überschaubarer als heute. Es gab kein Youtube, kein Facebook, kein Twitter und auch keine Blogs. Dafür wurde viel Energie in Webverzeichnisse investiert und in Stanford hatten zwei Studenten eine Idee, wie die Suche im Internet revolutioniert werden könnte.

Wie wurden Webseiten zu dieser Zeit erstellt? WYSIWYG-Editoren waren rar – und teuer. Folglich griffen viele Webentwickler auf bestehende Editoren zurück, etwa auf Emacs oder auf NoteTab. Damit konnten HTML Dateien recht komfortabel erstellt werden und dank Textblöcken und Makros war es auch möglich, wenigstens gewisse Schritte zu automatisieren. Schon bald kamen aber Tools auf, die weitergehende Hilfen für den Webdeveloper anboten: etwa das automatische Einfügen und Vervollständigen von HTML Tags, farbliches Auszeichnen der verschiedenen Elemente (Syntax Highlighting), Projektverwaltung, Voransicht der Webseite, FTP-Support und vieles mehr. Einer der ersten bekannten und sehr erfolgreichen Vertreter dieser neuen Softwaregattung war HoTMeTaL. HoTMeTaL bot alles, was das Herz eines Webentwicklers begehrte. Es gab sogar einen einfachen WYSIWYG-Modus, in dem HTML-Tags als kleine grafische Symbole angezeigt werden konnten.

Bluefish

Bluefish Editor

Hier beginnt nun die Geschichte von Bluefish, einem extrem soliden und zuverlässigen HTML-Editor für Linux. Ich verwende Bluefish selbst seit mehreren Jahren. Es macht einfach Spass, mit diesem sehr schnellen und kompakten Programm zu arbeiten. Bluefish ist kein Werkzeug, das alles können will. Die Funktionen, die Bluefish kennt, sind gut auf die Bedürfnisse der Entwickler abgestimmt. Und sie sind sehr sorgfältig und gewissenhaft implementiert. Auch bei mehreren, grossen Dateien und wildem Herumeditieren ist Bluefish nicht aus dem Takt zu bringen!

Was aber kann Bluefish alles? Eine ganze Menge! Es beginnt bei einem Editor, der Syntax Highlighting nicht nur für HTML und CSS bietet, sondern auch für mehrere bekannte Programmiersprachen. Das funktioniert sogar bei eingebetteten PHP Scripts. Bluefish kann in Tabs bis zu 10000 (!) Dokumente gleichzeitig öffnen und verfügt über alle Funktionen eines ausgereiften Editors. Speziellen Support gibt es für das Erstellen von HTML- und CSS-Fragmenten. Dazu bietet Bluefish Dialoge an, die das Einfügen dieser Elemente erleichtern. Zu HTML, PHP und CSS gibt es eine Referenz. Wer sich genauer über den Funktionsumfang ein Bild machen will, sei auf die Funktionsübersicht oder die Online-Dokumentation verwiesen. Es sollen an dieser Stelle nur zwei Funktionen etwas genauer vorgestellt werden:

Projekte. Webentwickler kennen das Problem: zu einer Webseite gehören zahlreiche Dateien, die sich möglicherweise verstreut in verschiedenen Ordnern befinden, die aber eine logische Einheit bilden. Bluefish bietet dazu eine einfache Projektverwaltung:

Alle Dateien, die im Editor geöffnet sind, können als Projekt gespeichert werden. Wird das Projekte zu einem späteren Zeitpunkt wieder geladen, werden damit alle Dateien geöffnet, die zum Projekt gehören. Ferner kann eine Webadresse und ein Basisordner für das Projekt bestimmt werden. Das Bearbeiten einer Webseite wird damit deutlich erleichtert: es kann schnell auf die einzelnen Seiten zugegriffen werden, für neue Dateien gibt es ein Template und auf Knopfdruck kann das Ergebnis in einem Webbrowser angezeigt werden.

Remote Edit. Bluefish kann Dateien direkt auf einem Server öffnen und auch wieder abspeichern. Das hat den Vorteil, dass ein Upload von geänderten Files entfällt, ist aber mit dem Risiko verbunden, dass Änderungen nicht mehr rückgängig gemacht werden, wenn keine lokale Kopie existiert. Bluefish kennt verschiedene Protokolle wie FTP, SFTP oder WebDAV mit denen das direkte Editieren auf dem Webserver möglich wird. Zusätzlich gibt es einen Filebrowser, der auch die Dateien und Verzeichnishierarchien auf dem Server anzeigen kann.

Bluefish ist ein ideales Tool für alle, die ihre Webseiten noch ohne grafische Hilfsmittel erstellen wollen oder ganz allgemein auf der Suche nach einem Editor für gängige Programmiersprachen sind.

Update: Vor wenigen Tage ist Bluefish 2.0 erschienen. Zu den zahlreichen Neuerungen gehören das automatische Vervollständigen von HTML und PHP Scripts, das Synchronisieren von geänderten Dateien auf einem Server und ein Crash-Recovery.

Linux Tool der Woche: PyRoom

Friday, January 22nd, 2010

Wir alle kennen das Problem nur zu gut: wer sich auf das Lösen einer Aufgabe konzentriert oder sich in einem kreativen Denkprozess befindet, wird nicht gerne unterbrochen. Unterbrechungen aller Art stören diesen Prozess schmerzlich. Ja treffen uns nicht selten gerade dann, wenn wir einen Gedankenfaden spinnen, den wir hinterher nicht wieder aufnehmen können. Oder wenigstens Zeit brauchen, um den Gedanken wieder aufnehmen zu können. Nicht umsonst wurde die Regel «Du sollst nicht unterbrechen» in breiten Kreisen zum elften Gebot erhoben. Und Schopenhauer, der grosse deutsche Denker, äussert sich in einer eigenen Schrift zu diesem Thema und findet deutliche Worte: «Der Lerm aber ist die impertinenteste aller Unterbrechungen, da er sogar unsere eigenen Gedanken unterbricht, ja, zerbricht.»

Nun ist es nicht nur der Lärm, der unsere Gedanken hindert und zerstreut. Es können auch visuelle Effekte sein. Wir können das selbst beobachten, wenn wir uns in einem Raum befinden, in dem ein Fernseher läuft: auch wenn die Lautstärke ganz zurückgedreht ist, lassen wir uns immer wieder von den bewegten Bildern ablenken, sehen zum Bildschirm, obwohl wir dies gar nicht wollen! Der Grund: hier wird eine archaische Schutzfunktion aktiv, jede Bewegung ist in einer natürlichen Umgebung eine potentielle Bedrohung. Hinter dem Gebüsch, das sich bewegt, könnte ein Säbelzahntiger auf der Lauer liegen und sich zum Sprung auf uns bereit machen.

Ganz so gefährlich wird es beim Arbeiten am Bildschirm erfreulicherweise nicht. Dennoch gibt es auch hier immer wieder Affekte, die beim Arbeiten stören können. Microsoft Windows Anwender werden immer wieder mit kleinen gelben Popups am unteren rechten Bildschirmrand beglückt, die auf eine Softwareupdate hinweisen. Das ist eine durchaus gute und sinnvolle Einrichtung, aber eben: sie kommt gerne zur Unzeit. So wie ein administrativer Hinweis vom Virenscanner oder ein Popup, das sich öffnet weil jemand mit uns chatten will. Und da ist noch etwas, das uns nun zum Thema dieses Beitrages bringt: die meisten Desktops sind angereichert mit den verschiedensten Bedienelementen: Fenster, Taskbars, Menubars usw. Auch diese Objekte können ablenken, wenn wir gerade dabei sind, einen Text zu schreiben. Es würde vollauf genügen. wenn auf dem Display nur der Text zu sehen wäre, der sich gerade in Arbeit befindet.

PyRoom in Aktion

Genau dies tut unser Linux Tool der Woche: pyRoom. Es ermöglicht das störungsfreie Texten am PC. PyRoom erzeugt eine Atmosphäre der visuellen Stille, sobald es gestartet wird: es füllt den ganzen (!) Bildschirm mit einer frei wählbaren Hintergrundfarbe. Zu sehen sind keinerlei Bedienelemente. Weder Menus, noch Symbolleisten, noch Statuszeilen – nur der Text, der gerade geschrieben wird. So wird die Aufmerksamkeit auf das Wesentliche gelenkt. Und dies ist nicht der einzige Vorteil. Wer viel schreibt, ermüdet bei einem schlichten Bild mit einheitlicher Farbgebung weniger schnell.

PyRoom bietet alle Funktionen einer einfachen Textverarbeitung. Es liest und schreibt unformatierte Textdateien, bietet eine Autosave-Funktion und kann auch mit mehreren Texten umgehen, zwischen denen hin und hergeschaltet werden kann (Textpuffer). Damit ist der Funktionsumfang im wesentlichen bereits vorgestellt – mehr muss das Programm nicht können, denn alles weitere soll mit der Software erledigt werden, mit der der Text schlussendlich verarbeitet wird: Textverarbeitung, HTML Editor, Blog, etc. Ergänzt wird der Funktionsumfang lediglich durch einen Dialog für verschiedene Programmeinstellungen: Autosave, verwendete Farben und Schriften, etc.

Bei den meisten Distributionen gehört PyRoom nicht zum Standardumfang. Deshalb folgen hier noch ein paar Hinweise zur Installation. Zuerst sollte eine aktuelle Version der Programmiersprache Python installiert werden, falls dies nicht bereits geschehen ist. Zudem sollten die GTK- und XDG-Bindings mitinstalliert werden. Sind diese Voraussetzungen erfüllt, kann PyRoom heruntergeladen und entpackt werden. Im neu erzeugten Ordner pyroom-n-n-n kann nun das Python script pyroom ausgeführt werden:

# python pyroom

Soll PyRoom für das ganze System installiert werden, muss als root Benutzer das Setup Script setup.py ausgeführt werden. nun lässt sich PyRoom – je nach Distribution – auch via Menu oder Desktop Icon starten. Der Verfasser wünscht viel Freude beim ungestörten Texten :-)

LTW Special: Concrete 5

Thursday, January 14th, 2010

Webseiten sind deutlich mehr als «Informationen, die in’s Netz gestellt werden». Denn: Informationen werden nicht mehr «hingestellt», sie werden erzeugt, wobei dem Besucher die Möglichkeit belassen wird, das Informationsangebot nach eigenen Wünschen anzuzeigen oder selbst zu ergänzen. Interaktivität ist zu einem wichtigen Merkmal, zu einem Schlüsselbegriff geworden. Umfangreiche Javascript-Bibliotheken, die dank mehr Bandbreite schnell auf den PC herutergeladen sind, bieten mittlerweile einen Komfort, der noch vor wenigen Jahren nur mit plattformspezifischer Software möglich war!
Und Webbrowser wie Firefox, Chrome oder Opera sind heute in der Lage, auch komplexe und sehr umfangreiche Applikationen auszuführen. Schon vor rund drei Jahren ist zwischen den Browser-Herstellern ein regelrechter Wettstreit entbrannt: wer bietet die schnellste Javascript-Engine? Und wem gelingt es als erstes, den neuen ACID3 Browsertest zu 100% zu erfüllen? Zu den bedeutenden Wegbereitern dieser neuen Entwicklung gehört zweifellos Google. Der Suchmaschinentycoon bietet nicht nur umfangreiche Bibliotheken und API’s (Programmierschnittstellen) für eigene Anwendungen, sondern auch einen Webbrowser und demnächst auch ein Betriebssystem, das auf webbasierte Anwendungen ausgerichtet und optimiert ist.

Google Mail

Der Suchspezialisten ist dabei, eine Vision umzusetzen: Daten und Programme werden auf zentralen Servern gespeichert und können unabhängig vom Standort und der verwendeten Infrastruktur vollumfänglich genutzt werden. Zu den ambitionierten Projekten des Unternehmens gehört neben Office-Anwendungen und einem E-Mail Service neu auch Google Wave, ein Projekt, das E-Mail und Teamwork im Internet revolutionieren will. Und Google scheint auf dem richtigen Weg zu sein, denn Analysten schätzen, dass in nächster Zukunft bis zu 80% von dem, was wir mit dem PC machen, webbasiert sein wird.

Diese Trends beeinflussen auch das Design und die Realisierung von Webseiten. Ungeachtet dessen, ob sie für Private, Verbände oder Firmen erstellt werden. Heute ist es selbstverständlich, dass Inhalte ohne die Dienste einer Webfactory jederzeit einfach und schnell erweitert und geändert werden können. Zum Internet-Auftritt gehören dynamische Inhalte für Termine, News und Produkteinformationen für den Online-Shop. Fotos werden in Bildergalerien gesammelt und für Mitarbeiter stehen ein Blog und eine Twitter-Schnittstelle zur Verfügung.

Natürlich können alle diese Funktionen im Alleingang realisiert werden, dies hat nicht nur Nachteile. Denn durch ein geschicktes Zusammenstellen von Bibliotheken und Vorlagen wird es möglich, die erarbeiteten Ressourcen auch in Folgeprojekten zeitsparend zu nutzen. Wer es einfacher haben will, der kann auf eines der zahlreichen CMS (Content Management Systeme) zurückgreifen. Moderne CMS bieten gegenüber dem «Alleingang» zahlreiche Vorteile. Hier sind drei der wichtigsten:

  • Alle Informationen einer Homepage werden zentral in einer Datenbank gespeichert. Vorgefertigte Templates sorgen dafür, dass diese Informationen einheitlich und mit einem gefälligen Layout angezeigt werden. Wird das aktive Template geändert, ändert sich damit auch das Aussehen aller Seiten der Homepage. CMS trennen konsequent zwischen Daten und Layout. Dies ist ein wichtiger Vorteil gegenüber statischen Webseiten, der spätestens dann zum Tragen kommt, wenn die Seite wächst.
  • CMS bieten benutzerfreundliche Werkzeuge, um die Inhalte der Seite zu bearbeiten. Dank Editoren wie TinyMCE können die editierbaren Bereiche einer Webseite so bearbeitet werden, wie man es von einer modernen Textverarbeitung gewohnt ist. Ebenso können Tabellen, Bilder und Mediendateien eingebunden werden. Und eine Versionsverwaltung stellt sicher, dass jederzeit auf frühere Fassungen einer Seite zurückgegriffen werden kann. Beim CMS erfolgt somit auch eine organisatorische Trennung zwischen dem Webdesigner, dem Entwickler und dem Anwender, der die Präsenz auf dem aktuellsten Stand hält
  • Die meisten CMS sind flexibel und erweiterbar, Zusatzmodule wie Blogs, Bildergalerien oder Statistikmodule können ergänzt werden. Und da die meisten CMS frei und quelloffen sind (Open Source) gibt es zu allen populären CMS eine Myriade an Erweiterungen! Für Joomla beispielsweise gibt es rund 4000 Extensions. Um eine Erweiterung zu installieren, genügt es meist, diese beim Anbieter auszuwählen und zu aktivîeren. Den Rest erledigt das CMS.
  • Wie bereits erwähnt, bietet ein CMS auch dem Webentwickler und Administrator entscheidende Vorteile. Er kann sich auf die Entwicklung der Vorlagen und Erweiterungen konzentrieren und für den Unterhalt der Seite die vom CMS zur Verfügung gestellten Werkzeuge nutzen.

Nun gibt es zahlreiche freie CMS, so dass es nicht immer ganz einfach ist, sich für ein System zu entscheiden. Auf diesem Blog ist schon einmal ein kleines CMS vorgestellt worden: NanoCMS. Diesmal soll der Fokus auf ein wesentlich umfangreicheres CMS gerichtet werden, das in vielfacher Hinsicht ungewöhnlich ist: Concrete 5. Die Entwicklungsgeschichte von Concrete reicht zurück bis in das Jahr 2003. Auch hier stand am Anfang eine Problemstellung: gefragt war ein System, mit dem Webinhalte möglichst rasch und unkompliziert erstellt, geändert und auch umstrukturiert werden können.

Damit die Inhalte einzelner Seiten möglichst einfach verändert werden können, verfolgt Concrete 5 einen Ansatz, der dem WYSIWYG Prinzip gleicht: Nach dem Login gelangt der Bearbeiter nicht – wie bei anderen CMS gewohnt – in ein Panel. Vielmehr werden alle editierbaren Bereiche der Webseite mit roten Rahmen markiert. Wird in einen der markierten Bereiche geklickt, öffnet sich ein Fenster, in dem der Inhalt verändert werden kann.

Damit sind wir bereits beim ersten Kernprinzip von Concrete 5 (C5) angelangt: Jede Seite besteht aus Bereichen, die verändert werden können. Ein Bereich wiederum besteht aus beliebig vielen Blöcken. Blöcke sind typisiert: Es gibt Blöcke mit formatierten Inhalt, HTML Blöcke, Bilder, Navigationsleisten usw. Im aktuellen Lieferumfang gibt es ca. 15 Blocktypen. Wem das nicht genügt, der kann weitere Blocktypen nachinstallieren oder selbst entwickeln.

Durch das Bereichs- und Blockprinzip wird es möglich, die Inhalte einer Seite sehr rasch und schnell zu verändern. Nicht umsonst lautet der Wahlspruch: «Concrete 5 – Ein CMS für das Marketing, aber stark genug für Geeks!». Concrete 5 ist tatsächlich sehr benutzerfreundlich und intuitiv zu bedienen. Ein rund 50 Sekunden dauernder Film auf der Concrete 5 Homepage erklärt bereits alles wesentliche, was man wissen muss, um Inhalte mutieren zu können. Wer es genauer haben will. findet zahlreiche weitere Filmbeiträge und Tutorials unter der Rubrik Editing with Concrete 5.

Wie steht es nun aber mit der Offenheit des Systems? Was kann ein Entwickler von C5 erwarten? Wie es der Wahlspruch bereits andeutet, haben die C5 Entwickler ein weit offenes Ohr für Programmierer. Das CMS stellt ein umfangreiches, sehr gut dokumentiertes API zur Verfügung, das (fast) keine Wünsche offen lässt. Dies beginnt bei der Entwicklung eigener Templates und Seitentypen. Mit diesen beiden Begriffen sind wir erneut bei einem grundlegenden Designprinzip von C5 angelangt: Jeder Seite wird ein Template und ein Seitentyp zugewiesen. Das Prinzip Template/Seitentyp kann vereinfacht so beschrieben werden: das Template legt fest, wie die Seite aussieht (Farben, Schriften, etc.) während der Seitentyp die Struktur festlegt (Header, Navigation oben/links/rechts, Fussbereich, etc.) Wichtig: Seitentypen sind an Templates gebunden, beim Auswählenm eines Typs wird immer nach einen passenden Template gesucht, wird keines gefunden, kommt ein Vorgabetemplate zum Einsatz.

Alles auf einen Blick: C5 Dashboard

Weiter geht es mit der Entwicklung eigener Blocktypen. Die C5 Entwickler haben ein Konzept geschaffen, das es einem Entwickler ermöglicht, komplette Anwendungen in einem Block zusammenzufassen. Inklusive Konfigurationsdialog und Icon für die Anzeige im Administrator Panel. Um das Prinzip zu veranschaulichen, gibt es komplette Tutorials, bei denen die Realisierung eines einfachen Blocktyps demonstriert wird.
Abgerundet wird das API durch eine Objekthierarchie, die dem PHP Entwickler zur Verfügung steht, um auf die verschiedenen Eigenschaften einer Concrete 5 Website zugreifen zu können, beginnend beim Seitentitel, endend bei der C5-Interna.

Den Concrete 5 Entwicklern ist es gelungen, einen überzeugenden Kompromiss zwischen Benutzerfreundlichkeit, Offenheit und Flebibilität zu finden. Es ist ein CMS, an dem sowohl Verkäufer, als auch Programmierer und Webdesigner Freude haben werden!

Einge Leser mögen nun denken: alles gute und schön. Aber wie gelangen ich von einer frischen C5-Installation zu meiner eigenen Webseite? Oder zu der, die ich für einen Freund oder Kunden machen will? Die Frage ist berechtigt, denn für den Erfolg eines CMS ist es nicht unwichtig, dass die Mechanismen zum Erstellen von Vorlagen gut durchdacht und leicht anzuwenden sind. Wie einer C5 Installation ein schlichtes, selbst gebautes Layout zugewiesen werden kann, soll deshalb das Thema des nächsten Beitrages sein.

Linux Tool der Woche: Xsnow

Friday, December 18th, 2009

Weihnachten steht vor der Tür. Was liegt also näher, als die Gelegenheit zu nutzen und den Desktop für die besinnlichen Tage weihnachtlich zu gestalten. Deshalb widmet sich dieser Beitrag der LTW Rubrik der Frage, wie mit Linux eine weihnachtliche Atmosphäre auf den Bildschirm gezaubert werden kann. Als erstes bestimmt mit einem Bildschirmhintergrund: eine verschneite Winterlandschaft, Tannen, Häuser mit Licht in den Fenstern, usw. Schöne und passende Hintergründe zum Thema sind mit der Google Bildersuche schnell gefunden, zum Beispiel hier oder hier. Ist der passende «Wallpaper» ausgewählt, kann er heruntergeladen und mit dem Konfigurationstool der verwendeten Desktopumgebung installiert werden. Bei GNOME wird dazu das Control Center verwendet. Wer mit einem schlichten Windowmanager wie Openbox oder Fluxbox arbeitet, kann hsetroot oder esetroot verwenden.

Nun aber zum eigentlichen Tool: Xsnow. Wie mehrere vorgestellte Utilities hat auch Xsnow eine lange Geschichte die bis in das Jahr 1984 zurückreicht. Begonnen hat alles mit einer virtuellen Weihnachtsgrusskarte für den Macintosh. Dargestellt wurden auf der Karte grüne Tannen, ein rot gekleideter St. Nikolaus auf dem Schlitten und fliegende Schneeflocken. Später wurde die Idee auf UNIX/X-Windows portiert. Hier konnte das Programm aber im Hintegrund gestartet werden und die weihnachtliche Szene wurde direkt auf den Bildschirm proiziert. Santa fliegt mit seinen Renntieren über den Hintergrund des Desktop und die fallenden Schneeflocken bleiben auf den Fenster liegen. Wie bei UNIX gewohnt kennt Xsnow eine Myriade an Optionen – fast alles kann eingestellt werden: Die Anzahl der Scheeflocken, die Farbe des Hintergrunds, die Windstärke und die Geschwindigkeit des Schlittens. Der Manpage ist zu entnehmen, dass mit dem folgenden Kommando St. Nikolaus mit Höchstgeschwindigkeit unterwegs ist:

xsnow -santa 2 -santaspeed 10

Manchem mag das Utility etwas antiquiert erscheinen, in det Tat bieten Composite Window Manager wie Compiz Effekte, die wesentlich spektakulärer sind. Sie benötigen aber auch mehr Ressourcen und funktionieren nicht mit allen Grafikkarten. Xsnow stellt dagegen bescheidene Anforderungen. Es funktioniert grundsätzlich mit jeder Grafikkarte und mit jedem Window Manager unter UNIX/Linux. Auf meinem Desktop läuft es mit folgenden Parametern:

xsnow -snowflakes 250 -santa 2 -nowind -notrees

Xsnow Desktop

Xsnow in Aktion

Damit sind im Mittel 250 Schneeflocken auf dem Bildschirm zu sehen, St. Nikolaus wird in der grössten Darstellung angezeigt, auf den Schneesturm wird verzichtet und auch Tannen werden keine gezeichnet, da diese bereits auf dem Wallpaper zu sehen sind. Ich verwende im Beispiel dazu ein Foto von der winterlichen Schrattenfluh im Emmental.

Linux Tool der Woche: tar

Monday, December 7th, 2009

Ältere Semester, die auf diesem Blog mitlesen, werden sich gewiss erinnern: Das Betriebssystem MS-DOS kannte in seinen frühen Versionen (bis und mit 3.11) nur ein simples Tool zum Archivieren von Dateien: backup. Leider kam dieses Tool mit einer äusserst spartanischen Ausstattung daher, archivierte nur auf Laufwerke fixer Grösse und war nicht in der Lage, Archive zu komprimieren. Deshalb war es eine echte Erleichterung, als 1989 das Komprimierungsprogramm PKZIP von Phil Katz auf den Markt kam. PKZIP war ein ein fantastischer Alleskönner. Es komprimierte Dateien mit verschiedenen Algorithmen, archivierte klaglos ganze Verzeichnishierarchien inklusive Dateiattribute und war sogar in der Lage, Archive zu verändern. Ausserdem gab es nicht sofort auf, wenn ein Archiv mal kaputt war! Grosse Archive konnten auf mehrere Floppies verteilt werden, und so weiter.

tar in Aktion

UNIX Anwender waren (und sind) in dieser Hinsicht viel verwöhnter. Denn hier gab es schon seit 1989 ein Hilfsprogramm zum Sichern und Archivieren ganzer Hierarchien: tar – Tape Archiver. tar ist ein echter Schwerarbeiter und obwohl das Tool ursprünglich zum Schreiben auf Bänder konzipiert war, ist es weit davon entfernt, in Rente geschickt zu werden. Ganz im Gegenteil: dank verschiedener Erweiterungen ist tar heute das universelle UNIX/Linux-Tool zum Erstellen von Datei-Archiven. Der Autor dieses Beitrages nutzt es täglich, um Archive zwischen verschiedenen Rechnern hin- und herzuschieben. Und deshalb scheint es ihm angebracht, einmal danke zu sagen und dieses grossartige Tool vorzustellen.

tar kann – wie bereits gesagt – mehrere Dateien, Verzeichnisse und auch ganze Verzeichnishierarchien in eine einzelne Archidatei zusammenkopieren. Wahlweise kann diese Archivdatei auch in verschiedenen Formaten komprimiert werden. Um beispielsweise ein Archiv aller Dokumente im eigenen Verzeichnis zu erstellen, kann folgendes Kommando eingegeben werden:

tar -c -vpzf dok.tgz Dokumente/

Was genau tut dieses Kommando? Folgendes: Es erstellt ein Archiv mit dem Namen doc.tgz. Dieses enthält nach Fertigstellung alle Dateien des Ordners Dokumente. Unterordner werden selbstverständlich mit einbezogen. Die einzelnen Flags sollen im folgenden kurz vorgestellt werden:

  • -c: Steht für Create. Erstellt ein neues Archiv. Eines der drei Kommandos -c:Create, -x:Extract und -t:List muss immer als erstes nach dem Kommando folgen.

  • -v: Verbose, zeigt Details über den Prozess an. In diesem Fall zeigt tar eine Liste aller archivierten Dateien.
  • -p: Sichert auch alle Dateiattrbute im Archiv. Dies ist sehr praktisch, wenn nach einem Wiederherstellen des Archives auch die Zugehörigkeiten und Rechte der Dateien berücksichtigt werden sollen.
  • -z: Mit diesem Flag wird das Archiv mit GZIP komprimiert.
  • -f dateiname: Schreibt das Archiv in die angegebene Datei. Wenn mit Dateien statt mit Bandlaufwerken gearbeitet werden soll, muss dieses Flag immer mit angegeben werden, denn tar war ursprünglich auf das Beschreiben von Magnetbändern ausgelegt. Diese Herkunft kann es bis heute nicht ganz verleugnen…

Nun besitzen wir also ein tar Archiv doc.tgz. Hin und wieder wird dafür auch der Begriff Tarball verwendet, weil viele Dateien einfach zusammengeklebt wurden (Tarball=Teerklumpen). Dass es sich bei unserer Datei um ein komprimiertes Tar-Archiv handelt, ist auch an der Endung der Datei zu erkennen: .tgz. Dies steht für Tar – GNUZIP. Manchmal werden auch zwei Endungen verwendet, um den Typ der Datei auszuweisen: .tar.gz. Ist ein Tar-Archiv unkomprimiert, sollte stets die Endung .tar verwendet werden.

Nun bleibt natürlich die Frage, was sich mit diesem Tarball machen lässt. Interessant sind in erster Linie zwei Kommandos: Den Inhalt eines Archivs anzeigen und ein Archiv wieder entpacken. Um den Inhalt eines Tar-Archives zu sehen, wird folgendes Kommando eingegeben:

tar -tzf dok.tgz Dokumente/

Damit erhalten wir eine Liste aller Dateien des Archives. Tipp: Geben Sie zusätzlich das -v Flag mit an, um auch die Attribute der Dateien zu sehen. Beim Blick auf die Ausgabe fällt vor allem eines auf: tar hat das Archiv mit relativen Pfadangaben erstellt, also zum Beispiel Dokumente/tradeup.sxw. Wenn wir dieses Archiv entpacken, erstellt tar im aktuellen Verzeichnis einen Ordner Dokumente in den es alle Dateien extrahiert. Das ist praktisch, denn nun können wir dieses Archiv in einem beliebigen anderen Ordner wieder auspacken:

cd /var/tmp
tar -xvpzf /home/bstocker/dok.tgz

Nun haben wir unter /var/tmp eine identische Kopie unseres Dokumentenordners. Die Ordnerstruktur und die Permissions sind beibehalten worden. Lediglich die Reihenfolge der Dateien ist unter Umständen nicht mehr gleich. Wenn auch dies berücksichtigt werden soll, kann zusätzlich das Flag -s (Same order) verwendet werden.

Und damit ist tar bereits kurz vorgestellt worden. Es muss hier betont werden: kurz. Denn tar kennt zahlreiche weitere Optionen. Es kann etwa verschiedene Komprimierungsverfahren verwenden und auch problemlos mit absoluten Pfadangaben umgehen. Archive können mit verschiedenen weitere Attributen versehen werden und es ist auch möglich, neue Dateien an ein bestehendes Archiv anzuhängen. Wer es genau wissen will, findet auf der GNU Homepage eine detaillierte Dokumentation zu tar.

tar ist zuverlässiger und äusserst robuster Freund für jeden, der regelmässig grosse Verzeichnisse archivieren oder zwischen verschiedenen Rechnern bewegen muss.

Linux Tool der Woche: baobab

Tuesday, November 24th, 2009

Diese Woche ist erneut ein Desktop Tool an der Reihe: baobab (Affenbrotbaum) von Fabio Marzocca. Das praktische und sehr ansprechend gestaltete Utility ist bei vielen Linux-Distributionen vorinstalliert, so dass es direkt aus Dateimanagern wie Nautilus oder PCManFM aufgerufen werden kann. Doch was genau tut dieses Tool? Um es kurz zu sagen: es zeigt an, wieviel Platz die einzelnen Ordner und Dateien eines Dateisystems belegen. Das besondere daran: baobab stellt den Platzverbrauch der einzelnen Objekte mit farbigen, ineinandergeschachtelten Kreissegmenten dar. Die innersten Kreise symbolisieren dabei die Stammordner des Dateisystems. Mit weiteren, daran anschliessenden Segmenten ist dann der Platz der einzelnen Unterordner zu sehen. Diesen folgen abermals Segmente mit den nächsten, darin enthaltenen Unterordnern, usw. Die Segmente am äusseren Rand des Kreises bilden dementsprechend die tiefer liegenden Ordner in der Verzeichnishierarchie.

Zur Verdeutlichung des Gesagten zeigt das folgende Beispiel die Belegung eines Desktop PC’s. Daraus ist sofort ersichtlich, dass ein Benutzer «bstocker» den grössten Teil des belegten Platzes für sich beansprucht:

Mit einem Klick auf ein Segment können nun weitere Details eines Unterordners angezeigt werden. Wer es genau wissen will, kann sich in der hierarchischen Liste links im Fenster durch die gesamte Ordnerhierarchie «durchklicken». Auf diese Weise kann rasch zu den Unterordnern vorgestossen werden, in denen die Dateien mit dem grössten Platzbedarf liegen, zum Beispiel ISO-Images. Dies ist die Stärke dieses nützlichen kleinen Helfers: mit baobab ist auf einen Blick ersichtlich, wie der Platz auf einer Festplatte oder auf einem FTP Server aufgeteilt ist. Anschliessend kann rasch und bequem analysiert werden, in welchen Unterordnern am meisten Platz benötigt wird.

baobab kann wie gesagt aus einem Dateinamanager ausgerufen werden. Selbstverständlich geht es aber auch von der Kommandozeile aus. Alles andere wäre bei Linux ein Unding! Der folgende Aufruf analysiert den Ordner /opt. Dort sind auf vielen Linux Distros zusätzliche Softwarepakete installiert:

# baobab /opt

baobab durchsucht stets alle Dateien und Unterordner einer Platte oder eines Ordners. Symbolische Links und Gerätedateien ausgenommen. Das kann je nach Grösse der Partition einen Moment dauern. Ein animiertes GNOME-Logo oben rechts im Fenster zeigt deshalb an, dass gerade eine Struktur eingelesen wird. Bei lokalen Festplatten dauert dieser Prozess indes selten länger als einige Minuten.

baobab-remote

Zugriff auf externe Medien

Nun kann baobab aber nicht nur die lokale Festplatte analysieren. Das Tool greift auch auf entfernte Speichermedien zu. Verwendet werden dazu standardisierte Protokolle wie FTP oder SSH. Um beispielsweise die Dateien auf einem Webserver zu analysieren wird die Funktion Entfernten Ordner einlesen… gewählt. Im folgenden Dialog wird als Protokoll FTP mit Zugangsbeschränkung ausgewählt und mit den Login-Informatioen ergänzt. Sobald der Einlese-Prozess gestartet wird, arbeitet sich baobab durch alle Ordner auf dem Server und generiert das gewünschte Diagramm.