Archiv der Kategorie: Linux Tool der Woche

Linux Tool der Woche: byobu

byobu & Midnight Commander

Ein «byobu» ist eine leichte japanische Faltwand, mit der ein Raum unterteilt werden kann. So ist es auf Wikipedia zu lesen. Meist sind die ursprünglich aus China stammenden Faltschirme kunstvoll mit Pflanzen, Blumen oder Schriftzeichen bemalt. Faltschirme waren früher als Windschutz gedacht, heute dienen sie vorwiegend dazu, einen Raum behaglicher und gemütlicher zu machen.

Der byobu hat nun einen Entwickler dazu inspiriert, auch für die Linux Konsole so einen Faltschirm zu entwickeln. Ein Tool also, das die Arbeit auf einem Linux Terminal vereinfacht, resp. behaglicher macht. Herausgekommen ist dabei eine gelungene Erweiterung für das screen Tool, das auf diesem Blog bereits vorgestellt worden ist. byobu ist eine Sammlung von Scripts, die das Arbeiten mit screen erleichtert. Zu diesen Erleichterungen gehören beispielsweise «Sensoren» – verschiedene Statusanzeigen, die in der Fusszeile über den Zustand des Systems informieren. Sehr einfach können per Menu rund 30 verschiedene Sensoren aktiviert werden: CPU Last, Netz Traffic, IP Adresse, Mailbox-Status, Zeit/Datum, etc. Ebenfalls via Menu können verschiedene Farbkombinationen gewählt werden. Alle Einstellungen werde gespeichert und sind beim nächsten Start von byobu sofort wieder aktiv!

Apropos Start: byobu kann auch als Shell aktiviert werden. Alle neuen Terminals verwenden dann automatisch byobu statt bash oder tcsh.

Linux Tool der Woche: file-roller

Viele Linux Tools werden ganz bewusst genutzt, wie etwa der Midnight Commander, der als eigenständige Applikation gestartet und für die verschiedensten Dateioperationen verwendet wird. Bei anderen Tools ist das nicht so: sie verrichten ihre Arbeit still im Hintergrund und werden kaum als eigenständige Applikationen wahrgenommen. Einer dieser nützlichen Helfer soll diese Woche vorgestellt werden: das Archivierungsprogramm file-roller. file-roller kommt meist nur dann zum Einsatz, wenn mit dem Webbrowser komprimierte Dateien oder Ordner aus dem Internet heruntergeladen werden. Vor der Verwendung müssen diese Archivdateien «entpackt» werden. Unter Ubuntu Linux wird für diese Aufgabe üblicherweise file-roller verwendet. Das Programm bleibt bei diesem Prozess bescheiden im Hintergrund, so dass der Eindruck entsteht, dass der Entpack-Prozess vom Browser erledigt wird. Beim Dekomprimieren fragt file-roller nämlich schlicht nach einem Ordner, in dem die unkomprimierten Dateien abgelegt werden sollen.

Bevor das Programm etwas genauer vorgestellt wird, folgt auch diesmal ein kurzer Abstecher in die Geschichte. Programme zum Komprimieren von Dateien entstanden in der PC-Welt in der Mitte 80er Jahre. Das war die Zeit, als die Ansprüche in der MS-DOS Welt stiegen und in der Folge die damals gebräuchlichen 5 1/4 Zoll Disketten nicht mehr ausreichend Platz boten. Natürlich gab es bereits Festplatten, aber diese waren teuer! In einer Ausgabe des P.M Computerheftes aus dem Jahre 1986 wird eine externe Festplatte getestet, die bis zu 5 Megabyte Platz bot. Leider war sie für Privatanwender viel zu teuer und auch die Anzahl der Dateien war limitiert. Die alternative Lösung des Platzproblemes bestand darin, grosse Dateien mit geeigneten Komprimier-Algorithmen zu verkleinern. Ein Hilfsprogramm, das diese Aufgabe schnell und sicher erledigte, entstand 1989 und wurde in kürzester Zeit zu einem Standard für PC’s: PKZIP. PKZIP konnte in kürzester Zeit einzeile Dateien oder auch ganze Ordner in eine einzelne Archivdatei zusammenpacken. Bestehende Archive konnten durch das Anfügen neuer Dateien vergrössert werden und es gab verschiedene weitere wichtige Operationen: Integritätscheck, Passwortverschlüsselung, Aufteilen eines Archives auf mehrere Disketten. etc. Kurz: ein wundervolles Werkzeug in einer Welt mit limitiertem Speicherplatz.

file-roller tut genau dasselbe wie PKZIP, nur dass noch viele weitere Funktionen dazukommen. Ausserdem bietet file-roller eine hübsche und benutzerfreundliche Fensterumgebung. Ferner kennt das Tool neben dem ZIP Format zahlreiche weitere Komprimierformate wie GZIP, ARJ oder ARC. Der Inhalt eines Archives kann wie folgt angezeigt werden:

file-roller archiv.zip

file-roller liest nun das Inhaltsverzeichnis des Archives und zeigt den Inhalt in einem Fenster an. Zu sehen sind in einer Liste die einzelnen Dateien des Archives, ergänzt mit weiteren Attributen wie der Grösse und dem Typ der Datei. Wenn das Archiv Ordner enthält, so sind diese links im Fenster zu sehen. Um den Inhalt einer Datei im Archiv anzuzeigen, genügt ein Klick mit der rechten Maustaste. Aus dem Kontextmenu wird die Option Datei anzeigen gewählt, worauf file-roller die gewählte Datei (und nur diese) in einem temporären Ordner entpackt und die passende Applikation aufruft. Analog ist zu verfahren, wenn einzelne Dateien aus dem Archiv extrahiert werden sollen. Soll das ganze Archiv entpackt werden, wird einfach der Button Entpacken angeglickt. Nun zeigt file-roller wieder das vertraute Dialog-Feld an, in dem der Zielordner gewählt werden kann. Ferner ist es möglich, nur die markierten Objekte oder das gesamte Archiv zu entpacken.


File-Roller Hauptfenster

Nun kann file-roller nicht nur Archive entpacken. Es geht auch umgekehrt. Das Programm erlaubt sehr einfach das Anlegen neuer Archive. Dazu muss lediglich die Option Archiv/Neu gewählt werden. Nun muss für das neue Archiv ein Ordner und ein Dateiname bestimmt werden. Zusätzlich kann der Typ des Archives angegeben werden. file-roller kennt mehr als 10 Formate, die gebräuchlichsten sind ZIP, BZ2 und GNU-ZIP. Wichtig: einige Formate unterstützen nur einzelne Dateien, in diesem Tall sollte das Archiv mit TAR kombinert werden.
Sobald das neue Archiv angelegt ist, können neue Dateien oder ganze Ordner in das Archiv kopiert werden. Dies geht über die Schaltflächen Dateien/Ordner hinzufügen oder auch mittels Drag&Drop aus einem Dateimanager wie Nautilus. Das neue Archiv braucht nicht geschlossen zu werden. Sind alle Dateien kopiert, kann file-roller verlassen werden, das neu erstellte Archiv ist einsatzbereit.

Aber – wozu so ein Archiv erstellen? Platz hat es doch heute genug. Mindestens zwei Gründe sprechen dafür. Erstens: mehrere Dateien oder Ordner lassen sich viel einfacher verwalten und austauschen, das Archiv stellt sicher, dass nichts verloren geht oder aus Versehen verändert wird. Und zweitens: wenn es eine Möglichkeit gibt, Platz zu sparen, warum solle man es nicht tun?

Linux Tool der Woche: apg

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

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

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

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

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

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

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.