Archiv der Kategorie: Linux Tool der Woche

LTW Special: Concrete 5

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

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

Ä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

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.

Linux Tool der Woche: watch

In den vergangenen Wochen wurden vermehrt Tools vorgestellt, die eine grafische Benutzeroberfläche benötigen: X-Windows und in aller Regel auch einen Window Manager/Desktop wie GNOME oder OpenBox. Typische Linux Tools benötigen in den meisten Fällen aber keine Grafik, sie begnügen sich mit einer Konsole. Der Vorteil liegt auf der Hand. So kann das Tool in jeder Situation genutzt werden. Auch auf einem System, das wegen Problemen im Single-User Modus gestartet werden muss.

Das Linux Tool dieser Woche ist ein echter Spartaner, der Quelltext umfasst weniger als 300 Zeilen Es folgt zudem treu der UNIX Philosophie, nur eine Aufgabe zu erledigen, diese dafür gut! Das watch Utility tut nichts anderes, als in einem vorgegebenen Intervall (per Vorgabe alle zwei Sekunden) ein anderes Programm auszuführen. Dabei wird für die Ausgabe des auszuführenden Programmes stets der ganze Bildschirm verwendet. So kann sehr leicht festgestellt werden, wann die Ausgabe des dieses Programmes sich verändert.

watch wäre nun aber kein typisches Linux Tool, wenn es nicht eine Reihe von Optionen kennen würde, die in der UNIX/Linux Welt ein zentraler Schlüssel für die Flexibilität von Hilfsprogrammen sind. Wie bereits erwähnt, kann der Intervall verändert werden, mit dem andere Programme ausgeführt werden. Hier ist ein kleines Beispiel für einen einfachen Systemmonitor: watch führt jede Sekunde das uptime Utility aus:

watch –interval=1 uptime

Sobald dieses Kommando gestartet wird, leert sich der Bildschirm und oben rechts wird jede Sekunde die Ausgaben von uptime angezeigt. Frage: ist es möglich, die Änderung der Ausgabe sichtbar zu machen? Antwort: Selbstverständlich. Und zwar mit der Option –differences. Kann die Statuszeile auch weggelassen werden? Ja, mit –no-title.

Zum Abschluss dieses etwas kürzeren LTW-Beitrages soll watch zusammen mit figlet verwendet werden. Dieser geniale ASCII-Font Generator wurde bereits in einem LTW-Beitrag vorgestellt. Zusammen mit watch lässt sich damit sehr leicht eine Desktop-Uhr der besonderen Art erstellen:

watch -t -n1 “date +%T|figlet”

Und hier das Ergebnis mit dem Figlet Font Larry 3D:

  ____     ___        _  _     _       _   ____  
 |___ \   / _ \   _  | || |   / |  _  / | |___ \ 
   __) | | | | | (_) | || |_  | | (_) | |   __) |
  / __/  | |_| |  _  |__   _| | |  _  | |  / __/ 
 |_____|  \___/  (_)    |_|   |_| (_) |_| |_____|

Linux Tool der Woche: wBar

Wer schon einmal Mac OS X in Aktion gesehn hat, kennt ihn. Gemeint ist natürliche der trendige «Icon Bar», oder auch kurz: «iBar». Der iBar ist ein zentrales Element des Mac OS X Desktop, dem eigentlich keine ungewöhnliche Aufgabe zukommt: der Icon Bar dient schlicht dem Starten von Programmen, etwa so wie bei Windows der «Start»-Button oder die beim GNOME-Desktop bewusst nüchtern gehaltene Symbolleiste. Trotzdem sind heute iBar-Kopien in ganz unterschiedlichen Ausprägungen und Variationen auf den verschiedensten Desktops und Betriebssystemen anzutreffen.

Warum? Weil der iBar von Apple verschiedene, sehr gefällige Animations-Effekte kennt. Wird etwa der Mauszeiger über den iBar bewegt, dann werden die darunter liegenden Programmicons in einer trickfilmartigen Weise vergrössert; gerade so, als ob man ein Vergrösserungsglas immer näher an das Icon unter dem Mauszeiger heranführt. Entsprechend der Lupenoptik erscheinen auch die benachbarten Icons grösser, in abnehmende Folge. Ist ein Icon angeklickt, dann hüpft es solange, bis das zugehörige Programm gestartet wird. Der iBar kennt zahlreiche weitere Effekte, auf die nun aber nicht weiter eingegangen werden soll… vorgestellt werden soll jetzt ein Linux Tool, das wenigstens einen Teil dieser Mac OS X Atmosphäre auf den Linux Desktop zaubert: wBar.

wBar kann auf nahezu allen Linux Desktops einen dem OS X ähnlichen Icon Bar darstellen. Wie beim Vorbild vegrössern sich die Icons, sobald der Mauszeiger mit ihnen in Berührung kommt. Ein Klick führt das gewählte Programm aus. Und das ist auch schon alles, was der wBar kann. Das kleine Tool hat aber einige Besonderheiten, die es hochinteressant machen: wie erwähnt, kann es unabhängig vom verwendeten Desktop (GNOME, KDE, E17) genutzt werden, quasi die bestehenden Elemente auf dem Bildschirm ergänzen. wBar benötigt nur wenig Ressourcen und funktioniert mit jeder Grafikkarte. Eine Compositing Erweiterung wird also nicht benötigt. Die Konfiguration ist durch das Anpassen einer Textdatei denkbar einfach gehalten und beim Start können verschiedene Anzeigemerkmale des wBar bestimmt werden. Soll die Leiste etwa am rechten Bildschirmrand mit einer Grösse von 48 Pixeln angezeigt werden, dann lauten die Argumente beim Start wie folgt:

wBar -pos right -isize 48

Wie aber wird der wBar gestartet? Entweder nach der Installation direkt durch Eingabe des Kommandos wbar oder durch die Autostart-Funktion des verwendeten Desktops. Bei KDE und GNOME beispielsweise gibt es einen Ordner «Autostart». Jeder Script oder Programmlink in diesem Ordner wird beim Start des Desktops automatisch gestartet. Am besten ist es, einen kleinen Shell Script wbar.sh in diesem Ordner zu speichern. Der Inhalt des Scripts könnte entsprechend unserem Beispiel so aussehen:

#!/bin/bash
sleep 5
wbar -above-desk -p top-right -isize 40 -nanim 5 -bpress

Wichtig: Bei dieser Datei muss das Execute Flag gesetzt werden, sie kann sonst nicht als Shell-Script ausgeführt werden. Auf der Kommandozeile geht dies am einfachsten mit: chmod +x wbar.sh. Das sleep Kommando sorgt dafür, dass der wBar nicht zu früh angezeigt wird, da dies bei einigen Desktops Anzeigeprobleme geben könnte.

Linux Tool der Woche: FireGestures

Eigentlich sollte diese Rubrik wöchentlich erscheinen, so wie es der Name ja andeutet. Leider reicht mir die Zeit aber nicht immer. Einmal fehlt mir eine zündende Idee, dann sind auf dem Kalender Ferien eingezeichnet und bei einer weiteren Gelegenheitziehe es vor im schönen Emmental zu wandern, statt vor dem Compi zu hocken. Kurz: ich bitte um Nachsicht, wenn hin und wieder ein Beitrag ausbleibt.

Nun geht es aber weiter und zwar mit einem Tool für den Firefox Webbrowser: FireGestures. Dieses kleine Browser Add-on, das mit wenigen Mausklicks installiert werden kann, leistet Erstaunliches: das Verhalten des Browsers kann mit sogenannten Mausgesten gesteuert werden. Mausgesten sind nichts anderes als simple Bewegungen, die mit der Maus gemacht werden, während die rechte Maustaste gedrückt bleibt. Um beispielsweise im Verlauf (History) des Browsers zurückzublättern wird die rechte Taste gedrückt, die Maus einige Zentimeter nach links bewegt und zuletzt die Maustaste wieder losgelassen. Sofort nach dem Loslassen der Maustaste wird die zuvor geöffnete Seite im Browser sichtbar. Auf dem Bildschirm wird während der Geste die Bewegung der Maus mit einer grünen Linie sichtbar gemacht. Dies erleichtert das gestikulieren und zeigt an, wenn der Start einer Geste erkannt wurde.

mousegesture1

FireGesture Konfiguration

Das ganze mag jetzt vielleicht aussehen wie eine kleine technische Spielerei. Und von Opera-Benutzern kommt sowieso nur eine mitleidiges Lächeln, denn sie kennen Mausgesten schon lange, weil diese fester Bestandteil des Opera-Browsers sind. Bei genauem Hinsehen werden die Vorteile der Mausgesten aber schnell erkennbar: wer den Browser mit der Maus steuert, muss nicht ständig die Tastatur benutzen, spart also Zeit und ermüdet weniger schnell. Es gibt Gesten für alle wichtigen Operationen: Seite neu laden, Fenster schliessen, Wechseln zwischen Tabs, Zoom, usw. Das FireGesture Tool für Firefox kennt rund 80 (!) Gesten und wer will, kann diese beliebig den eigenen Bedürfnissen anpassen. Wer eine Weile mit diesem praktischen Helfer arbeitet, wird ihn bald nicht mehr missen wollen!

Wie aber kommt man nun in den Genuss von FireGestures? Wie alle Erweiterungen für FireFox wird das Tool über den «Add-Ons» Dialog installiert, der im Menu «Extras» zu finden ist:

Um das Tool rasch zu finden wird zuerst oben links auf das Register Get Add-ons geklickt und anschliessend im darunter liegenden Suchfeld FireGestures eingegeben. Nun sollte das Add-on in der Trefferliste angezeigt werden, wo es durch einen Klick auf den Button [Add To Firefox] installiert werden kann. Wer will, kann an dieser Stelle auch die «Browse» Option benutzen und sich weitere Add-ons ansehen. Es gibt Tausende! Und auf Online-Magazinen werden immer wieder populäre Add-ons, resp. Favoritenlisten vorgestellt. Es lohnt sich, diese Artikel jeweils zu lesen. Ich bin vor kurzem durch so einen Bericht auf FireFTP gestossen: ein kompletter FTP Client als Firefox-Erweiterung!

Nach der Installation des Add-on muss Firefox neu gestartet werden. Dann sind die Gesten bereits aktiv und können sofort genutzt werden. Eine Liste aller Gesten ist im FireGestures Konfigurationsdialog unter dem Register Mapping zu finden. Dieser kann wiederum im «Add-ons» Dialog über den Button [Preferences] geöffnet werden. Die einzelnen Gesten werden durch Buchstabenkombinationen notiert:

Buchstabe Key Bedeutung
U Up Nach oben
D Down Nach unten
L Left Nach links
R Right Nach rechts

Zwischen den offenen Tabs im Browser kann beispielsweise mit den einfachen «Treppengesten» Gesten “UL” (nach oben, dann nach linke) und “UR” (nach oben, dann nach rechts) gewechselt werden.

Linux Tool der Woche: mp3blaster

Auch das Linux Tool dieser Woche ist – wie die meisten, die bereits vorgestellt wurden – klein und kompakt. Und es steht mit seinem Konzept in bester UNIX-Tradition: erledige nur eine Aufgabe, diese aber besonders gut! Der MP3 Blaster (mp3blaster) ist ein Programm, das MP3 Dateien abspielen kann; im Gegensatz zu den meisten bekannten Mediaplayern hat er aber zwei aussergewöhliche Eigenschaften, die im folgenden vorgestellt werden sollen.

Der MP3 Blaster benötigt kein X-Windows, er läuft auf der Textkonsole, resp. in einem Terminal. Die Gründe dafür liegen einmal mehr in der Genesis des Programmes. Bram Avontuur begann bereits 1997 sich eine eigene MP3-Sammlung aufzubauen. Und da er – damals wie heute – am liebsten auf der Linux-Textkonsole arbeitet, suchte er ein geeignetes Programm, um seine Musikdateien während der Arbeit hören zu können. Da gab es splay, das zwar einzelne Dateien abspielen konnte aber keine Funktionen für Abspiellisten bot. Also machte sich Bram an die Arbeit. Er las die Dokumentation zur mpeg Bibliothek, die MP3 Dateien dekodiert und begann, seine eigene Abspielsoftware zu entwickeln. Herausgekommen ist dabei ein MP3 Player, der äusserst geschickt die Textkonsole nutzt, um MP3-Dateien zu gruppieren und abzuspielen. Gesteuert wird das Programm ausschliesslich per Tastatur, was im Alltag oft schneller geht als das Anklicken eines Symboles auf dem Bildschirm. Das Erscheinungsbild gibt sich farbenfroh, gefällig und sehr gut strukturiert. Schon nach wenigen Stunden können alle wichtigen Funktionen schnell und intuitiv genutzt werden. Wem die Tastaturbelegung nicht zusagt, der kann sie seinen eigenen Wünschen anpassen.

Die Nutzung der Textkosole hat viele Vorteile: MP3 Blaster kann auch auf Systemen mit geringen Ressourcen oder auf PC’s ohne X-Windows genutzt werden. Ferner eignet sich das Programm prima zum Abspielen von Dateien aus Scripts heraus.

Das zweite herausragende Merkmal von MP3 Blaster sind die Abspiellisten (Playlists). Mit MP3 Blaster können sehr leicht Listen zusammengestellt und hierarchisch geordnet werden. Mit einem einzigen Kommando können von MP3-Bibliotheken auf der Festplatte Playlists erstellt und gespeichert werden. Der Blaster bietet bei den Playlists etwas besonders: Das zufällige Abspielen bezieht sich nicht auf einzelne MP3 Dateien, sondern auf Playlists. Damit ahmt das Programm einen CD-Player mit mehreren Schubladen nach: Per Zufall wird eine CD ausgewählt und dann als Ganzes abgespielt. Darauf wird die nächste CD ausgewählt, usw.

Hier nun ein paar Tips für den Start mit dem Programm. Am besten wird mp3blaster in einem Ordner aufgerufen, in dem sich bereits einige MP3 Dateien befiden:

mp3blaster *.mp3

Dies startet MP* Blaster, liest alle MP3 Dateien des aktuellen Ordners und beginnt mit dem Abspielen der ersten Datei. Gesteuert werden kann das Abspielen nun wie folgt über die Tastatur:

Taste Funktion
4

Springt zum letzten Stück
5

Start/Stop
6

Springt zum nächsten Stück
1

Zurückspringen
2

Zum Anfang
3

Vorwärtsspringen
<

Leiser
>

Lauter
+

Nächste Hilfeseite
+

Vorige Hilfeseite
q

Beendet MP3 Blaster

Wer eine eigene MP3 Sammlung hat, kann diese schnell und einfach mit dem MP3 Blaster nutzen. Dazu wird nach dem Start des Programmes F1 – Select Files gedrückt. Nun kann mit einem einfachen Dateibrowser der Ordner gewählt werden, in dem sich die Musikdateien befinden. Zuletzt wird F6 – Add Subfolders gedrückt. Nun werden alle Unterordner durchsucht und für jeden Ordner mit MP3 Dateien wird eine Playlist erstellt. Zuletzt wird die generierte Liste mit F4 – Write Playlist gespeichert. Beim nächsten Start des Programmes muss jetzt nur noch der Dateiname der gespeicherten Playlist angegeben werden und dann legt MP3 Blaster los:

mp3blaster -l <playlist>

MP* Blaster ist ein echtes und gelungenes Linux Tool: klein, flexibel und schnell. Es setzt den Fokus nicht auf eine Myriade von Funtionen, sondern auf das Wesentliche. Auf das, was im Alltag benötigt wird. Da ich den MP3 Blaster regelmässig nutze, will ich mich an dieser Stelle bei Autor für dieses fantastische Programm bedanken. Bram hat nicht nur einen glänzenden und beliebten Player entwickelt, er hat ihn auch unter die GPL, die GNU Public License gestellt, so dass jeder die Software nutzten und weitergeben darf.

Linux Tool der Woche: dillo

dilloWenn wir auf das Thema Webbrowser zu sprechen kommen, dann fallen rasch die Namen der bekannten Trendsetter auf diesem Gebiet: Firefox, Google Chrome und Safari für den Macintosh. Dem norwegischen Opera-Browser gelang es in den vergangenen Jahren nicht, markant zuzulegen, obwohl er das Zeug dazu durchaus hätte! Und dann gibt es die weniger bekannten Browser: zu ihnen gehören K-Meleon, Epiphany, Galeon und die textbasierten Browser Links und Lynx.

Das Tool dieser Woche ist nun ein Webbrowser, von dem nur selten etwas zu hören ist – zu Unrecht. Es ist Dillo. Der komplett in C programmierte Webbrowser ist in jeder Beziehung ein Leichtgewicht: Auf der Festplatte installiert benötigt das Programm kaum mehr als ein Megabyte und auch während der Ausführung werden nur minimale Anforderungen an die Systemressourcen gestellt. Zudem zeigt Dillo Webseiten in atemberaubender Geschwindigkeit an und notiert gleichzeitig die Fehler, die beim Rendering gefunden wurden. Diese werden jeweils unten rechts in der Statusleiste angezeigt.

dillo

Gibt es auch Schwächen? Ja, die gibt es: Dillo unterstützt nur eine Teilmenge des CSS und bietet keinen Support für Browser-Plugins, so dass Flashfilme oder Java Applets nicht angezeigt werden können. Ferner gibt es keinen Javascript-Interpreter. Dies hat zur Folge, dass viele Webseiten falsch oder gar nicht angezeigt werden. Dennoch: Dillo ist eine spannende Alternative zu den etablierten Webbrowsern. Der wendige Minimalbrowser entwickelt seine Stärken dort, wo wenige Ressourcen zur Verfügung stehen, Webseiten aber dennoch schnell und in akzeptabler Qualität angezeigt werden sollen. Und: es macht Spass, mit diesem kleinen und flinken Browser zu arbeiten. Wo Firefox oder Chrome oft mehrere Sekunden an der Arbeit sind, liefert Dillo das Ergebnis in Sekudenbruchteilen mit einem Augenzwinkern…

In der neuen Version 2.1 unterstützt Dillo auch das HTTPS-Protokoll und bietet eine einfache Lesezeichen-Verwaltung. Dillo kann – wie seine grossen Brüder – mehrere Seiten in Tabs öffnen und auf Seiten mit Basic-Authentifizierung zugreifen. Dillo, der übrigens dieses Jahr seinen neuten Geburtstag feiert läuft nicht nur auf Linux sondern auch auf verschiedenen UNIX-Versionen. Wer den sympathischen kleinen Browser testen will, findet auf der Downloadseite neben dem Quelltext auch verschiedene vorkompilierte Binärpakete für bekannte Linux-Distributionen.

Linux Tool der Woche: Clippings

Wer meine Linux Tool-Beiträge regelmässig liest, wird es sicher bemerkt haben: ich habe eine Vorliebe für Tools, mit denen stets wiederkehrende Aufgaben am Computer vereinfacht und erleichtert werden können. Diese Woche ist deshalb ein Tool an der Reihe, das besonders gut zu dieser Vorliebe passt: es ist das Clippings Add-on für Thunderbird. Das kleine Utility tut grundsätzlich nichts anderes, als Textbausteine zu sammeln, um diese später wieder in ein E-Mail einzufügen. Das klingt einfach – und ist es auch. Clippings ist ein Hilfsprogramm der ganz pragmatischen Art, mit dem beliebige Textbausteine gesammelt, geordnet und wiederverwendet werden können. Eine Funktion also, die bereits vor 30 Jahren in den ersten PC-Textverarbeitungen wie Wordstar gerne und oft genutzt wurde.

Aber das ist nicht alles. Hinzu kommt, dass Clippings einige praktische Funktionen anbietet, die das Verwalten der Textbausteine erleichtern: jeder Textblock in einer frei zu definierenden Ordnerhierarchie unter einem eigenen Titel abgelegt werden, ganz ähnlich wie Lesezeichen in einem Webbrowser. Durch das Zuweisen eines Tastenkürzels können Textblöcke rasch und unkompliziert in eine Nachricht eingefügt werden. Und last but not least bietet Clippings Import- und Export-Filter an.

Clippings-Manager
Clippings Manager

Damit Clippings mit Thunderbird genutzt werden kann, muss es zuerst installiert werden. Diese Aufgabe ist über die Rubrik Add-Ons im Menu Tools mit wenigen Handgriffen zu bewältigen. Im Add-Ons Dialog wird unten rechts auf «Get Extensions» geklickt. Darauf wird im Webbrowser eine Seite zum Auffinden von Thunderbird-Add-Ons geöffnet. Die Suche nach «Clippings» liefert genau einen Treffer, der zum gewünschten Add-On führt.
Im nächsten Schritt wird das Add-On heruntergeladen und auf der Festplatte gespeichert. Sobald das Add-On komplett heruntergeladen ist, wird im Add-On Dialog von Thunderbird auf den Button «Install» geklickt um dann die zuvor heruntergeladenen Datei auszuwählen. Damit ist das Add-On installiert und kann nach einem Neustart von Thunderbird genutzt werden.

clippings-add

Neuen Textbaustein erstellen

Das Anlegen eines Textbausteines mit Clippings ist denkbar einfach. Unten links im Thunderbird-Fenster ist neu ein kleines Papierblatt zu sehen. Nun muss nur noch mittels Drag&Drop ein Text aus Thunderbird oder einer anderen X-Anwendung auf dieses Blattsymbol gezogen werden. Dadurch wird ein Fenster geöffnet, in dem der markierte Textblock zu sehen ist. Dem Textfragment kann nun ein Titel und ein Tastenkürzel zugewiesen werden. Wichtig ist dabei das Tastenkürzel: es bestimmt die Tastenkombination, mit der ein Textblock in einer Nachricht eingefügt werden kann. Wird beispielsweise der Buchstabe C gewählt, kann später mit der Tastenkombination Ctrl+Alt+V, gefolgt von C eingefügt werden.

Wem Drag&Drop nicht behagt, der kann einen Textblock auch durch verschiedene andere Arten erstellen. Ein Klick mit der rechten Maustaste auf das Clippings-Blattsymbol öffnet ein Menu, aus dem der Clippings-Manager gestartet werden kann. Hier können nun die bisher gesammelten Bausteine verändert, geordnet oder wieder gelöscht werden. Um einen Baustein manuell zu erstellen, wird auf «Neuer Eintrag» geklickt. Jetzt kann ein Text eingetippt oder aus der Zwischenablage eingefügt werden. Wie zuvor muss dann nur noch ein Titel und optionel ein Kürzel bestimmt werden.

Clippings ist eine echte Arbeitserleichterung, wenn häufig E-Mails verfasst werden müssen. Alle wiederkehrenden Textblöcke einer Nachricht können gespeichert und auf Tastendruck in eine neue Nachricht eingefügt werden. Geschickt genutzt kann dies enorm viel Zeit sparen. Vielen Dank an die Entwickler dieses überaus praktischen kleinen Helfers!