Вы находитесь на странице: 1из 38

1

04/2009
Gimp Automation

Puppy Linux
Banshee 1.4
Yalm - Vorwort 2

Vorwort Inhalt
Yalm - Vorwort.............................................................2
Der Sonntag ist ein toller Tag, nicht wahr? Da Da wir aber bekanntermaßen Freunde von Verän-
auch die Redaktion diese Ansicht teilt, haben wir, derungen sind und dieses Vorwort nicht ohne eine Vorwort........................................................................2
wie der geneigte Leser spätestens zum jetzigen solche beenden wollen, möchten wir einmal auf Yalm - Leserbriefe.......................................................3
Zeitpunkt feststellen dürfte, unseren Veröffentli- unsere Homepage verweisen. Oder vielmehr auf Leserbriefe..................................................................3
chungszyklus geringfügig geändert. Um genau zu deren Aussehen am ersten April diesen Jahres. Yalm - Magazin.............................................................5
sein werden kommende Ausgaben nun an jedem Man kann es erahnen, auch wir wollten anlässlich Yalm im Retrofieber – Unser Aprilscherz 2009............5
dritten Sonntag eines Monats veröffentlicht. des üblichen Brauchs einen kleinen Scherz prä- Banshee 1.4................................................................7
sentieren. Das Ergebnis war eine Webpräsenz, Puppy Linux...............................................................12
Aber was hat uns zu dieser Entscheidung bewegt? deren Auftritt an die prähistorischen Anfänge des 10-Minuten-Blogsoftware...........................................17
In erster Linie ist es der nun größer ausfallende, Internets erinnerte. Änderung von MAC-Adressen...................................22
uns zur Verfügung stehende Zeitrahmen. Das mag Evolution – Anlegen eines E-Mail-Kontos..................24
jetzt nach einer Ausrede klingen; müssen in der Wir haben hierzu einen kleinen Artikel zusammen- Gimp Automation.......................................................29
Theorie doch nur im Voraus angefertigte Texte, gestellt, der allen Interessierten einen Überblick
Kreisverkehr – Schleifen in der Bash.........................32
wie beispielsweise der Blogeintrag, veröffentlicht über die Gestaltung und Entstehung der Homepa-
Yalm - Bunte Seite.....................................................36
und Verweise auf der Homepage aktualisiert wer- ge bietet.
Bunte Seite................................................................36
den.
Yalm - Schlussbemerkungen....................................38
Selbstverständlich sind aber auch weitere und in-
Schlussbemerkungen................................................38
Dies allein ist zwar kein Grund für eine derartige formative Themen in dieser Ausgabe vertreten,
Änderung, allerdings sind in der Vergangenheit im- beispielsweise Puppy Linux und Gimp Automation.
mer wieder kleinere und größere Probleme, aller
guten Vorsätze und genauen Planungen zum Somit zu einem Ende kommend wünschen wir viel
Trotz, aufgetreten, die wir durch diese Maßnahme Spaß beim Lesen dieser Ausgabe und hoffen,
zu vermeiden suchen. Euch auch im nächsten Monat wieder als Leser
begrüßen zu dürfen.
Denn mit dem nun einer jeder Veröffentlichung
einhergehenden Wochenende stehen mehr helfen- Stefan Zaun
de Hände und mehr Möglichkeiten zur finalen Sciron@yalmagazine.org
Feinabstimmung zur Verfügung, was auch die letz-
ten Ursachen von Hektik und Aufregung beseitigen
sollte. Für Euch ändert sich, von einem nun variie-
renden Datum einmal abgesehen, aber nichts.
Yalm - Leserbriefe 3
fach und auch dass jetzt alle Artikel einer Ausgabe
Leserbriefe in der HTML-Version zur Verfügung stehen ist eine
gute Idee.

Viele Artikel sind sehr praxisnah und eignen sich


Inhaltlich beste Ausgabe Benachrichtigung über neue Ausgaben (jenseits gut mit nur wenig Anpassungen für Screencast.
Die Einführung der HTML-Ausgabe halte ich für des RSS-Feeds) schön. Ich denke da an E-Mail Ein Lob an alle Mitarbeiter, macht weiter so.
eine sehr gute Idee. Zum einen aus dem offen- und/oder Twitter.
sichtlichen Grund der besseren Suchmaschinen- Creative Commons BY-SA finde ich ist eine gute
präsenz (auch wenn Google PDF indexiert). Zum Matthias Wahl.
anderen sind natürlich auch »Accessibility«-Aspek-
Heiko
te nicht ganz unwichtig. Danke für das umfangreiche Feedback und für
Dein Lob. RSS verbessern?
Inhaltlich habt ihr mit der Märzausgabe m.E. die Zuerst das riesen Lob an euch. Ich lese Yalm seit
bisher beste Ausgabe abgeliefert. Sowohl die Aus- Wir haben uns bewusst gegen Kommentare ent-
einiger Zeit und freue mich bereits am 16. auf den
wahl der Themen, als auch deren Inhalt betref- schieden; wer einen ernstgemeinten Kommentar
nächsten 15. Also weiter so!
fend. Die gute Recherche merkt man den Artikeln hat, wird sich auch die Mühe machen, uns eine
auch direkt an, da braucht ihr euch vor keiner Mail zu schicken, im IRC vorbeizuschauen oder Nun zum Feedback. Es geht mir um das Forum
Print-Publikation zu verstecken. Besonders der sich im Forum zu melden. Das reduziert den Ad- hier, bzw. die RSS-Feeds der Beiträge. Ich denke,
»World of Goo«-Artikel war echt super. Als Beta- ministrationsaufwand. Die Benachrichtigung über da müsste man noch, glaub ich, noch ein bisschen
neue Ausgaben kann man über unseren News- am config-file feilen.
Tester der Linux-Version hätte ich mir da aller-
letter abonnieren; Twitter unterstützen wir derzeit
dings noch ein paar Infos zur Entstehung der- ● Der Titel vom Feed ist so nur wenig verständ-
nicht.
selben gewünscht. 2dboy bestehen übrigens nur lich: »Beiträge«. Fügt doch »Yalm-Forum« oder
aus zwei Personen. Der wii-Entwickler wurde nur Zum Thema World of Goo gibt es möglicherweise sonst was hinzu. Klar, das kann auch jeder
für die wii-Version eingestellt. Ebenso wie der demnächst noch einen Nachtrag; genauere selbst machen, aber wenn ihr es vorgebt ist es
Linux-Entwickler nur für den Linux-Port eingestellt Details können wir derzeit aber noch nicht nennen. doch besser, oder?
wurde (den ersten lauffähigen Port hatte er übri-
gens nach 24h). Bei der Silbentrennung hat uns OpenOffice leider ● Dann werden 'Beiträge' angezeigt, zu denen ich
einen Streich gespielt – und selbst mehrfaches auch in angemeldeter Forum keinen Zugriff
Jetzt noch ein wenig Kritik: In der PDF-Ausgabe Lesen hat nicht geholfen, den Fehler zu finden. habe. Das verstehe ich, da wird's sicherlich um
passt hin und wieder die Silbentrennung nicht, was Wir arbeiten dran. Internes gehen. Aber, warum werden diese Bei-
den Lesefluss stört. Auf der Internetseite würde ich träge dann im Feed angezeigt?
mir eine anmeldungsfreie Kommentarfunktion Praxisnahe Artikel
● In der Registrierungsmail steht nur »Willkom-
wünschen. So könnte jeder einzelne Artikel geson- Yalm finde ich einfach nur super. Ich habe schon
men auf« und dann nichts mehr in dieser Zeile.
dert kommentiert werden. Außerdem wäre eine viel neues gelernt. Die Website ist simpel und ein-
Yalm - Leserbriefe 4
Ebenso im Betreff. Da fehlt auch der Forums- ger kann sie natürlich ganz normal öffnen. Auch Hat sich dies mittlerweile geklärt? Letzten Herbst
name oder Yalm oder so was. ich kann seine an mich geschickten Mails ganz haben aus Gründen der – auch für den User –
normal entschlüsseln und lesen. Unter Kmail konn- rechtlich nicht ungefährlichen Lizenz einige Distri-
Matthias (via Forum)
te ich diese nach Eingabe meiner Passphrase butoren TrueCrypt abgelehnt, bzw. vorhandene
Die RSS-Feeds fürs Forum sind in erster Linie für
ohne Probleme öffnen und lesen. Pakete aus den Repositories entfernt. Hier zwei
die internen Mitglieder. Der Feed dient eben
interessante Links zum Thema: [1] [2]
zwecks fehlender Authentifikationsmöglichkeiten Handelt es sich hier um einen Bug von Evolution
nur zur Benachrichtung bei neuen Threads oder oder ist eine »versteckte« Einstellung schuld? Viele Grüße,
Antworten. Von daher dürfte der Titel auch nicht
wichtig sein. Lirex (via Forum) Oliver B.

Leider lässt es das inoffizielle RSS Plugin nicht


Möglicherweise wird bei KMail die verschlüsselte Herzlichen Dank für den Hinweis. Trotz ausführ-
besser zu (phpBB bietet standardmäßig keinen
Mail direkt gespeichert. Das heißt, dass sie keiner licher Recherche ist uns dieser Umstand leider
Feed an).
anschauen kann, außer der, der den privaten entgangen. Wir werden uns dieser Problematik in
Schlüssel zum Entschlüsseln hat, also dein naher Zukunft aber in aller Ausführlichkeit anneh-
Das mit der Anmelde-E-Mail dürfte gefixt sein.
Freund. Bei Evolution dürfte das Ganze vor der men.
Verschlüsselung gespeichert werden und erst
Danke für die Rückmeldung und das Lob.
beim Verschicken verschlüsselt werden (siehe ab-
gewählte Option auf Abb. 3: »Beim Verschicken
Verschlüsselung mit Evolution?
verschlüsselter Mails immer vor mir selbst ver- Informationen
Der Artikel über Verschlüsselung hat mir gut gefal-
schlüsseln«). [1] http://lists.freedesktop.org/archives/distributions/20
len. Ich benutze im Bekanntenkreis auch ver- 08-October/000273.html
schlüsselte Mails. Allerdings habe ich bisher im-
Wenn das trotz der nicht verwendeten Option »im- [2] http://www.happyassassin.net/2008/08/06/open-
mer Kmail genutzt, bin aber wegen KDE4- letter-to-the-developers-of-truecrypt/
mer vor mir selbst verschlüsseln« nicht funktioniert
Unverträglichkeit auf Evolution und Gnome um-
sehe ich das als Bug. Eventuell mal auf Launch-
gestiegen.
pad suchen/melden.

Mir ist da allerdings eine Sache völlig unverständ- Wir freuen uns sehr über Rückmeldungen zu
Problematische TrueCrypt-Lizenz
lich, die in Kmail keine Probleme bereitete. unserem Magazin, die gerne an unsere E-Mail-
Liebe Yalm-Redaktion,
Adresse redaktion@yalmagazine.org gesendet
Wenn ich eine verschlüsselte Mail an einen Part-
im Artikel über TrueCrypt, der in ihrem aktuellen werden können. Sofern der Schreiber nichts da-
ner sende, dann wird diese nach Verschicken ja im
Magazin enthalten ist, wird in keinster Weise auf gegen einwendet, veröffentlichen wir einzelne
Ordner »verschickte Mails« abgelegt. Dort kann
die problematische Lizenz der Software eingegan- Leserbriefe und unsere Kommentare dazu, wo-
ich diese aber nicht später noch einmal lesen, da
gen. bei wir uns allerdings Kürzungen vorbehalten.
sie nicht entschlüsselt werden kann. Der Empfän-
Yalm - Magazin 5
animierte Grafiken haben mich gefühlt ins Jahr
Yalm im Retrofieber – Unser Aprilscherz 2009 1999 zurückversetzt und an dem Webdesigner
zweifeln lassen.«.
Der 1. April ist gerade für Betreiber von Portalen ein wunderbarer Zeitpunkt, um die Benutzer mal
ein wenig auf die Schippe zu nehmen. Yalm hat es sich ebenfalls nicht nehmen lassen und hier April, April
kann man noch einmal einsehen, was bei uns los war. Wie schon in der Einleitung angesprochen, han-
delte es sich um eine schöne Aktion, die Leser mal
Was war denn da los? ● Diverse Formatierungsfehler hereinzulegen. Anhand der E-Mails erkennt man
Fünf Minuten war der Tag alt, als ein neuer schnell, dass die Leute auf jeden Fall erst mal er-
● Alles blinkt (Habt ihr die animierten Gifs neu schreckt wurden, aber dennoch viele gar nicht
Newsletter von der Yalm-Redaktion die Runde ge-
entdeckt?) schnell genug aufs Datum schauen konnten und
macht hat. Und schon um 1:31 Uhr kam die erste
Antwort von unserem Leser Silvio U.: »He, erst ● Die Grafiken sind sehr unsauber bearbeitet und dann mit schönen E-Mails antworteten, um uns ein
dachte ich, man sind die voll gaga, und dann nicht sauber angepasst wenig zu unterhalten.
schaute ich aufs Datum. ;-) «.
● Von modernem Design kann hier überhaupt Tage zuvor wurde im Forum diskutiert, wie wir un-
Die Redaktion soll gaga sein, aber woran kann das nicht die Rede sein: Es sieht fast so aus, aus sere treue Leserschaft denn in Schrecken verset-
liegen? Laut der Newslettermeldung hat Yalm ein habe sich ein Praktikant – der erstmalig Front- zen könnten, und schnell waren sich alle einig,
Relaunch der Webseite durchgeführt, welches auf page ausprobiert – an eurer Seite zu schaffen dass die Idee von EiPott mit bunten Bildern in ei-
dem Screenshot und hier [1] eingesehen werden gemacht. ner ganzen Homepage umgesetzt werden muss.
kann. An dieser Stelle ein Dankeschön an bos- Aufgrund dessen setzten sich dann KEBA und
● Warum arbeitet Ihr mit Frames, welche dann
koop aus dem Forum für den Screenshot. Im Lau- dauerbaustelle ans Werk und zauberten uns eine
auch noch scrollen müssen? (Titel, oben)«
fe des Tages kamen immer mehr E-Mails von kitschig-bunte Homepage im Stile der frühen bis
Lesern, so zum Beispiel von Stephan K., der unser Allerdings schrieben andere Leser Texte wie »Ich späten 90er Jahre. Als Anekdote muss noch ge-
neues Design für uns kritisch untersuchte: finde das ›neue‹ Layout wirklich gut gelungen und sagt werden, dass bei einem früheren Meeting ei-
fühlte mich beim Betrachten auch ca. 10 Jahre ner unserer Redakteure mit diesem [2] Design für
»Das Design ist gelinde gesagt absolut grausam! jünger.«, der von Frank B. kam. Ähnlich erging es die Homepage kräftig veräppelt wurde.
wohl auch Bicker G., der sogar meinte, »ich ver-
● Die Farben passen überhaupt nicht zusammen mute stark, dass eure Homepage gehackt wurde! Die Redaktion bedankt sich bei allen, auch den
– hier solltet Ihr lieber sanftere Farbtöne wählen Das Design erinnert an eine private Familienho- hier nicht genannten Lesern, die ein Feedback
mepage aus den frühen 90ern«. Dass jemand die zu dieser kleinen Scherzaktion geschrieben ha-
● Die Hintergründe sind hässlich ben. Pünktlich zum 2. April wurde natürlich wieder
Zeit ein klein wenig zurückgedreht hat, schien
auch Matthias Z. erkannt zu haben: »Frames, blin- unsere normale Homepage online gestellt und
● Das »Logo« ist... Murks
kende Schriften, falsche Zeichencodierung und dann hat sicherlich auch der letzte Leser bemerkt,
Yalm - Magazin 6
dass es sich bei dem Retro-Design nur um einen
berühmt-berüchtigten Aprilscherz handelte.

Wir freuen uns jedenfalls schon auf das nächste


Jahr, wenn der Kalender wieder den 1. April an-
zeigt.

Thomas Rudolph
holloway@yalmagazine.org

Informationen
[1] Yalm-Retro-Homepage:
http://yalmagazine.org/homepage2/yalm/aktuelles/
[2] Anderes Yalm-April-Design:
http://www.yalmagazine.org/forum/download/
file.php?id=360

Die Yalm-Homepage am 1. April


Yalm - Magazin 7
zeiger über eben jenen gedrückt hält. Nun markiert
Banshee 1.4 man die Sterne mit schwarzer Füllung und vergibt
somit eine Wertung. Über die Menüleiste erreicht
Der Mediaplayer, um den es hier geht, hat es sich zum Ziel gesetzt, Medien von beinahe allen man mit der Auswahl von Hilfe – Web – Ressour-
Quellen abzuspielen. Er verwendet die GTK#- und Mono-Bibliotheken [1]. Dieser Player ist ähn- cen – Mitarbeit eine Webseite, durch die man den
lich komfortabel wie Amarok, unterstützt iPod, iPhone, Android G1 sowie andere tragbare Geräte freien Player mittels C#-Programmierkenntnissen,
und kann auch als Video-Abspielsoftware verwendet werden. Zudem zeichnet sich dieser Player Übersetzungsgeschick oder anderem Talent unter-
durch eine hervorragende Unterstützung des LastFM-Netzwerks [2] aus. stützen kann.

LastFM-Anbindung
Installation von der Website Oberfläche und Menüführung
Wer gerne seine Horizonte in Sachen Musikvielfalt
Eine Banshee ist im irischen Volksglauben ein Beim Start von Banshee sieht man links ein Menü,
erweitert, ist Freund von LastFM und mit Banshee
weiblicher Geist [3], dessen Erscheinung einen be- in dem sich alle Medienquellen in Teilmenüs unter-
besonders gut bedient. Im Fußbereich der Oberflä-
vorstehenden Tod in der Familie ankündigt. Um teilt sind. Rechts daneben sind zwei Unterfenster,
che findet sich ein Bereich, der LastFM-Nutzern
den freien Player mit der merkwürdigen Namens- die je nach ausgewählter Medienbibliothek den
viele Hintergrundinformationen liefert, denn dort
herkunft herunterzuladen, surft man auf die Home- entsprechenden Inhalt auflistet. Weiter rechts ist
werden zu jedem Interpreten, dessen Titel ausge-
page [4]. Dort findet man auf einer aufgeräumten die Playlist zu sehen. Über jener befindet sich ein
wählt wurden, Empfehlungen angezeigt. Genauso,
und grafisch ansprechenden Oberfläche Icons von Suchschlitz zum Filtern der Medien. Bei aktivier-
wie wenn der Titel von der lokalen Festplatte ab-
einigen bekannten Linux-Distributionen, das Tux- tem LastFM-Zugang öffnet sich im Fußbereich ein
gespielt wird. Auch zeigen sich dort die beliebte-
Icon für eine selbst zu kompilierende Ausgabe und Infofenster. Zudem gibt es die obligatorische
sten Alben sowie (gesondert aufgeführt) die be-
ein Icon für Mac OS X vor. All jene Piktogramme Menüleiste. Unter ihr sind die charakteristischen
Audioplayer-Schaltflächen und daneben eine Zeit- gehrtesten Titel des ausgewählten Interpreten in
führen zu einleuchtenden Installationsinformatio-
leiste. Weiter links wird das Cover verkleinert an- einer Tabelle nach absteigenden Platzierungen.
nen bezüglich des entsprechenden Betriebs-
gezeigt, dass man in Originalgröße besehen kann, Banshee bezieht sich dabei auf die vom umfang-
systems. Im unteren Fußbereich der Seite bemerkt
wenn man den Mauszeiger einen Augenblick dar- reichen LastFM-Netzwerk erhobenen Daten. Wenn
man die Logos von Novell sowie SUSE, welche
auf stehen lässt. Ganz rechts ist ein Lautsprecher- man auf das Titelsymbol von LastFM in der linken
das Projekt unterstützen. Zur Niederschrift des Ar-
symbol, das es ermöglicht die Lautstärke einzu- Menüleiste klickt, erhält man eine sehr gute Über-
tikels war einzig das Wiki nicht verfügbar, doch
stellen. Nutzt man LastFM, erscheinen unter der sicht bezüglich aller favorisierten Künstler (nach
gab es keine leere Seite, sondern eine Erklärung.
Menüleiste noch zwei gelbe Emoticon-Buttons der Wiedergabeanzahl absteigend nummeriert)
Die über das Programm aufrufbare Hilfe [5] ver-
zum Bannen und Favorisieren von Stücken. und der zuletzt wiedergegebenen Titel. Wenn man
weist auf die Website, die allen Englisch-Verstän-
Möchte man gewisse Titel bewerten, so markiert auf das LastFM-Icon mit der rechten Maustaste
digen eine ausführliche Anleitung zur Nutzung
man diese und klickt mit rechter Maustaste darauf. klickt, öffnet sich ein Kontextmenü, worüber man
bereitstellt. Auf derselben Seite findet sich ein Link
Dann markiert man im Kontextmenü dem Belieben eine »neue Station« hinzufügen kann. Eine neue
zu allen Tastenkürzeln (Keyboard-Shortcuts) [6].
nach eine Anzahl Sterne, indem man den Maus- Station ist nichts als eine auf bestimmte Wünsche
Yalm - Magazin 8
abgestimmte Playlist, die vom LastFM-Server wie- ● Ähnliches (dadurch erhalten wir zu der von uns Nutzung von iPod, Handys (z. B. iPhone)
dergegeben werden kann. Leider können die ein- kommunizierten Musik Ähnliches) oder G1
zelnen Lieder nicht mit Banshee (und jedem zum Sofern man über eines der genannten Geräte ver-
Zeitpunkt der Artikelniederschrift öffentlich erhält- ● LastFM-Adresse (hier können wir die genaue
fügt, findet man in Banshee ein mächtiges Verwal-
lichen Player) vorgespult werden. Ein Umschalten Adresse einer LastFM-Quelle angeben)
tungs- und Informationswerkzeug. Ist ein entspre-
zu einem anderen Lied in der Playlist ist möglich.

Die Stationsarten gliedern sich in:

● Empfohlen (LastFM generiert aus Vorlieben des


angegebenen Benutzers eine Playlist, die aus
den durch das Wiedergabeprogramm oder
durch den Flash-Player auf der LastFM-Website
resultierenden Daten stammen)

● Persönlich (eine Playlist, die nur die tatsächlich


favorisierten Künstler enthält)

● Nachbarn (hier bekommen wir eine Liste aller


Titel, die mit dem Geschmack der uns im Mu-
sikhören ähnlichen Benutzer, generiert wurde)

● Gruppe (eine Liste, die sich auf die Vorlieben


aller Mitglieder einer bestimmten LastFM-
Benutzergruppe bezieht; welcher wir über die
LastFM-Website beitreten können)

● Tag (eine bestimmte Kennzeichnung, die einer


Musik anhaftet; beispielsweise das Genre
»Alternative«)

● Fan (bringt uns Musik, die stark mit einem Inter-


preten verbunden ist, dessen Anhänger wir
sind)
Die Oberfläche von Banshee 1.4
Yalm - Magazin 9
unterhalb der Menüleiste, bei einer ausgewählten
Funktion, gut erreichbar. Leider erkennt Banshee
nicht, ob die entsprechenden Medien bereits in der
Bibliothek vorhanden sind und importiert einfach
alle ohne Nachfrage. Indem man die Musikbiblio-
thek auswählt und das Cover eines Albums auf
das Haupticon von z. B. iPod zieht, werden die
dem Cover zugehörigen Daten auf das Gerät gela-
den. Auch dabei bemerkt Banshee leider keine
doppelten Einträge. Diese kann man allerdings
manuell löschen: Man wählt die Dateien aus, öff-
net das Kontextmenü und befielt die Löschung.
Somit ist Banshee ein brauchbares Tool für die
Anbindung und Verwaltung einiger populärer por-
tabler Medienabspielgeräte. Auf iPod dedizierte
Programme wie gtkpod [7] ersetzt es jedoch nicht,
da beispielsweise die Bilderverwaltung unmöglich
ist.

Videowiedergabe
So herausragend Banshee bei der Nutzung des
LastFM-Netzwerks hilft, so wenige Möglichkeiten
räumt es bei der Wiedergabe von Videos ein.
Denn man kann lediglich die gesamte Oberfläche
skalieren und in einen Vollbildmodus wechseln.
iPod unter Banshee Dort kann man sich einzig (ähnlich wie bei Totem)
mit der Bildlaufleiste in der Abspielzeit bewegen.
chender Datenträger gemountet, erhält man durch schaulicht werden. Mit einem Rechtsklick auf das Somit ist beispielsweise der VLC-Player [8] Ban-
den Klick auf das Haupticon einen Options- Haupticon öffnet man ein Kontextmenü, durch das shee bei der Videowiedergabe absolut überlegen.
bildschirm unter dem (ähnlich der Darstellung des man den Datenträger zur Vermeidung von Daten- Einzig die übersichtliche Aufführung der Videos in
Partitionierungsmenüs einer Ubuntu-Installation ab verlust sicher aushängen und dessen Medien man der Datenbank bzw. Playlist spricht hierbei für die
8.10) der freie Speicherplatz, sowie die Anteile von in die Bibliothek auf der lokalen Festplatte impor- Nutzung des hier vorgestellten Players.
Musik-, Video- oder Foto-Daten eingängig veran- tieren kann. Des Weiteren ist ein Aushängebutton
Yalm - Magazin 10
Nützliche Features leiste unter Bearbeiten – Einstellungen – Audio- folglich rippen. Wer weitere nützliche Informatio-
Eine der praktischsten Neuerungen bei den letzten CD verfügbar. Für das proprietäre MP3-Format nen zu Banshee sucht, findet diese im Wiki von
Banshee-Versionen war das automatische Ein- benötigt man die entsprechenden Pakete. Wenn ubuntuusers.de [9].
lesen der Musikbibliothek. Mit einem Klick auf MP3-Dateien abspielbar sind, lassen sich diese
»Werkzeuge« in der Menüleiste öffnet sich ein
Kontextmenü. Dort schaut der Player nach der
Auswahl von »Musikbibliothek neu einlesen« in
den zuvor gewählten Ordnern nach neu hinzu-
gefügten Medien und fügt diese in die Datenbank.
Auch werden PlugIns unterstützt. Diese erreicht
man wie zuvor durch die Menüleiste. Klickt man
sich an »Bearbeiten - Einstellungen« und den Rei-
ter »Erweiterungen« vorbei, kann man »Erweite-
rungen« abwählen oder aktivieren. Leider lassen
sich keine separat heruntergeladenen PlugIns dar-
über hinzufügen. Es gibt ohne Kniffe zunächst nur
die direkt vom Banshee-Team ermöglichten. Den
mittlerweile fast obligatorischen Coverdownload
bei Audioplayern mit GUI unterstützt Banshee
ebenfalls. Ansonsten sortiert Banshee eingegebe-
ne Radio- und Podcast-Stationen übersichtlich im
linken Menü. Wenn man auf den Schließen-Button
im rechten oberen Eck des Fensters klickt, so ver-
schiebt sich das Programm bequem (wie von
Amarok oder Rhythmbox gewohnt) in das Benach-
richtigungsfeld. Um wie bei Rhythmbox die Song-
texte einblenden zu können, sollte man sich
banshee-extension-lyrics installieren (bei Ubuntu
befindet sich das Paket unter genannter Bezeich-
nung bereits in den Repositories). Wenn man eine
Audio-CD ins Laufwerk legt, öffnet Banshee Optio-
nen, mit denen man die Titel »rippen« kann. Die
einzelnen Einstellungen hierzu sind in der Menü- Vergrößertes Cover
Yalm - Magazin 11
Nobody is perfect sen Player ansehen. Zu hoffen bleibt, dass bei der Informationen
Außer LastFM unterstützt Banshee in der derzeiti- Videowiedergabe nachgelegt wird, denn diese [1] Wikipedia-Artikel zum Mono-Projekt: http://de.
gen Version keine anderen Netzwerke umfassend. wirkt lieblos. Mehr als das Umschalten in den Voll- wikipedia.org/wiki/Mono-Projekt
Jamendo oder wenigstens eine kleine Auswahl bildmodus sollte bei einem zeitgemäßen Video- [2] Website von LastFM: http://www.lastfm.com/
aus dem Heer der Shoutcast-Radiosender ist nicht Player möglich sein. Im Internet-Radio-Bereich [3] Erörterung zum Ursprung des Namens: https://
verfügbar. Beim Testen gab es Fehler bei der verfügen die Konkurrenten Amarok und Rhythm- secure.wikimedia.org/wikipedia/de/wiki/Banshee
Bewertung von Titeln. Sobald man eine Anzahl box über mehr als nur eine umfassende Netzwerk- [4] Banshee-Homepage: http://banshee-project.org/
von Sternen markiert hat, wechselte Banshee in Schnittstelle, die bei Banshee auf LastFM [5] Banshee-Onlinehandbuch:
den Video-Wiedergabemodus. Bei vielen Anwen- beschränkt ist. Der anspruchsvolle Nutzer wird http://banshee-project.org/support/guide/
dern hat Banshee mit der fast »altbacken« aus- sich auch eine Funktion wünschen, mit der er die
[6] Tastenkürzel für Banshee: http://banshee-
sehenden Oberfläche das Nachsehen. Sie erinnert Audiodaten aus seinen Playlisten direkt auf eine project.org/support/guide/keyboard-shortcuts/
stumm an einen weißen iPod. Die Menüführung CD brennen kann. Um den Bedienungskomfort zu [7] Projektseite von gtkpod:
von Amarok 2 ist vom Aussehen und der Bedie- erhöhen, wäre eine Abfrage zur Vermeidung dop- http://www.gtkpod.org/about.html
nung sowie der Sammlung an nützlichen Widgets pelter Titel ein Schritt in die richtige Richtung. [8] Homepage von VLC-Player:
einfach ansprechender. Während Rhythmbox und Wenn es Banshee zudem noch gelingen sollte, die http://www.videolan.org/vlc/
Amarok vollständig funktionieren, war bis vor weni- vom LastFM-Netzwerk abgespielten Titel vor- [9] Wiki-Eintrag bei Ubuntuusers.de:
gen Wochen LastFM mit Banshee eine Baustelle. spulen zu können, externe Erweiterungen bzw. http://wiki.ubuntuusers.de/Banshee
Da der Flash-Player zum Abspielen von Musik auf PlugIns zu laden und die Menüführung attraktiver
der LastFM-Website ebenso (wenn auch kurzzeiti- zu gestalten, so wäre er ein Kandidat in Sachen
gere) Schwierigkeiten hatte, war es wohl ein Pro- Referenzsoftware.
blem der Server-Schnittstelle, worauf auch die
ansteigende Beliebtheit des Netzwerkes und die Peter Majmesku
drohenden, jedoch durch Druck der Community pe@yalmagazine.org
vorübergegangenen Bestrebungen eines Bezahl-
services außerhalb der USA, Deutschland und
Großbritannien, deuten.

Fazit
Mit Sicherheit ist Banshee eine der besten Alterna-
tiven in Sachen Medienplayer für die freie Kompo-
nentenbibliothek GTK#. Wer ungern die QT-Biblio-
theken unter Gnome verwendet um beispielsweise
seinen Arbeitsspeicher zu schonen, sollte sich die-
Yalm - Magazin 12
Aufgrund seiner geringen Größe ist es normaler-
Puppy Linux weise nicht möglich, Dickschiffe wie die komplette
OpenOffice-Suite anzubieten, aber je nach Puppy-
Als Betriebssystem auf einem USB-Stick, auf alter Computerhardware, auf Netbooks oder als wie- Derivat sind mindestens mit dabei: Textprogramm,
selflinkes OS (Operating System), das im Arbeitsspeicher arbeitet: Puppy Linux [1] ist eines der E-Mail Client, Webbrowser, Dateimanager, Brenn-
schnellsten Betriebssysteme der Welt und umfasst nur ca. 100 MB. programm, Messenger, Scantool, Audio- und
Videoplayer, PDF-Viewer, einige Spiele, Netzwerk-
Historie Die Ausstattung von Puppy Linux Scanner, Paketverwaltung – alles was das Herz
begehrt ist vorhanden. Eine detaillierte Beschrei-
Puppy Linux entstand in Down Under und wurde Zunächst sei gesagt, dass alle für normale Anfor-
bung der Neuigkeiten des aktuellen Puppys liefert
von Barry Kauler entwickelt. Slackware und derungen notwendigen Programme an Bord sind.
Mandrake dienten ihm dabei als Vorlage. Nomen
est omen: Als Logo der Distribution fungiert ein
Welpe (engl.: »puppy«). Die Version 0.4 wurde der
Öffentlichkeit Mitte 2002 vorgestellt und war ur-
sprünglich für die Nutzung auf älteren Computern
gedacht. Mit der Verbreitung portabler Speicher-
medien gewann Pup-OS, wie es von seinen
Freunden auch genannt wird, zunehmende Bedeu-
tung als Betriebssystem für die Hosentasche.

Ab dem Jahr 2006 erschienen mindestens zwei


Updates jährlich und die Fan-Gemeinde stieg
stetig. Im Laufe der Zeit erschienen auch immer
mehr Puppy-Derivate, sogenannte Puplets [2].

Mit dem Release 4.1.2 vom 8. Dezember 2008


verabschiedete sich Barry Kauler vom Puppy-Pro-
jekt, um zukünftig ein noch genügsameres Linux
für Mini-Laptops zu programmieren. Von der Com-
munity wird Puppy Linux jedoch weiter gepflegt.

Heute gehört das OS zu den beliebtesten Linux


Distributionen und ist bei Distrowatch [3] derzeit
auf Platz zehn zu finden.
Der XFCE Desktop von Flexxpup
Yalm - Magazin 13
ein Artikel von Tim Schürmann in der »Linux Datei im Multisession-Modus auf eine CD (wobei fühlt sich also sowohl auf der Festplatte, in einer
Community« [4]. eine Mini-CD ausreicht), ist man später in der virtuellen Maschine als auch auf einem USB-Stick
Lage, Daten auf der CD zu speichern, obwohl es oder einer CD/DVD-RW heimisch.
Besonderheiten sich um eine Live-CD handelt. Daneben kann das
In der Regel wird Puppy Linux als ISO-Datei aus Betriebssystem auf allen Datenträgern installiert Eine elegante Lösung, Puppy auf einen USB-Stick
dem Internet heruntergeladen. Brennt man diese werden, von denen der Rechner booten kann. Es zu etablieren, bietet Unetbootin [5]. Das Betriebs-
system wird aus dem Internet heruntergeladen und
automatisch auf dem USB-Stick installiert. Das
funktioniert übrigens nicht nur mit Puppy, sondern
auch mit anderen Betriebssystemen.

Bietet der Arbeitsspeicher des Computers mindes-


tens 256 MB an, kopiert sich das Pup-OS komplett
in den RAM und arbeitet mit immenser Geschwin-
digkeit. Kaum hat man die Enter-Taste berührt,
wird der Befehl schon ausgeführt. Wer bisher nur
mit »ausgewachsenen Betriebssystemen« ge-
arbeitet hat, wird über diese Geschwindigkeit
staunen.

Man ist nicht auf einen Windowmanager oder


Desktop festgelegt, sondern hat die Auswahl zwi-
schen verschiedenen grafischen Oberflächen.
Standardmäßig wird Joe's Window Manager an-
geboten. Obwohl minimalistisch – er verfügt kaum
über eigene Bibliotheken sondern nutzt die des
X11 Window Systems – kommt man gut mit ihm
zurecht. Des Weiteren können XFCE, Enlighten-
ment, Fluxbox, Openbox oder KDE eingesetzt
werden.

Rat und Tat für Puppy-Freunde


Wer erstmalig mit Puppy Linux in Berührung
kommt, möchte vielleicht nähere Informationen zu
Klein aber fein, Muppy Mini
Yalm - Magazin 14
Details der Distribution haben. Ein Leitfaden, auch
für Windows-Umsteiger, findet sich in verschiede-
nen Sprachen unter der Rubrik Manual [6] auf der
Homepage des Projekts. Ein englischsprachiges
Wiki [7] informiert über Aktuelles aus der Puppy-
Szene. Die Community unterhält ein Forum [8], in
dem Problemlösungen aufgezeigt und Fragen
gestellt werden können. Sehr informativ sind auch
Video-Anleitungen [9], die von den ersten Schritten
bis zum Umgang mit dem Terminal alles zeigen,
was der Umsteiger wissen muss.

Die Puplets
Da quelloffen, lädt Puppy Linux dazu ein, es nach
eigenem Geschmack umzubauen. Die Liste der
Puppy-Derivate [10] ist dementsprechend lang und
umfasst derzeit 75 offizielle Ableger. Alle im
Weiteren beschriebenen Puplets, bis auf Muppy,
sind dort aufgeführt.

Einige Puplets variieren nur geringfügig thematisch


oder in der Ausstattung und müssen nicht beson-
ders erwähnt werden, andere hingegen verdienen
eine kurze Vorstellung:

Muppy
Als deutschsprachiges Puplet geht Muppy [11] ins
Rennen. Zum Download werden vier verschiedene Neues für das Ohr: Komponieren mit Pupitup 4.1.2 Music Lab
Versionen angeboten. Als »all inclusive« gibt es Firefox und Opera, desweiteren Schwergewichte verarbeitung wird mit Abiword erledigt und Opera
Muppy Live. Mit einem Umfang von 690 MB wie OpenOffice, Gimp, Java oder Wine und einige führt uns durch das Internet. Außergewöhnlich ist
sprengt es den gewohnten Umfang dieser kleinen Spiele. die modulare Erweiterungsoption. Sie hilft uns, das
Linux-Distributionen bei weitem, bietet dafür aber Betriebssystem um die von uns benötigten Pro-
alles was das Herz begehrt und ist als Produktiv- Muppy Mini kann bei einer Größe von 130 MB gramme aufzustocken. Das Paket addons.sfs
System gedacht. Mit dabei sind Browser wie diese Ausstattung natürlich nicht bieten. Die Text- schließt die Lücke zwischen der Live- und der
Yalm - Magazin 15
Miniversion. Das volle Office-Upgrade erhält man, Puppy im Windows Look Media Puppys
wenn office.sfs nachinstalliert wird. Wer sich bei Um Windows-Benutzern den Wechsel zu Puppy Auf Video- und Audiobearbeitung und alles was
Spielen entspannen möchte, installiert games.sfs Linux zu erleichtern existieren einige Versionen, damit in Verbindung steht hat sich Mediapup spe-
nach. die sich thematisch an den Windows-Desktops von zialisiert. Natürlich sind damit auch die Anforderun-
XP oder Vista orientieren. Zu nennen sind hier gen an den Hauptspeicher gestiegen, 512 MB
Die Live- und die Mini-Versionen können mit dem Transitions, VestaPup und Qbit OS. sollen es schon sein, um komplett im RAM aus-
KDE-Desktop 3.5.8, Enlightenment DR17 oder
dem Looking Glass 3D-Desktop von Sun aufgerüs-
tet werden.

Bei Muppy Embrio handelt es sich um ein nur 44


MB großes, sehr rudimentäres Betriebssystem,
das einen Dateimanager, ein Textprogramm und
einen Browser beinhaltet. Der Sinn dieses »besse-
ren Kernels« besteht darin, sein eigenes Linux zu
konfigurieren. Möchte man z. B. lediglich
Windows- Programme unter Linux ausführen, so
installiert man Wine und besitzt mit einem minima-
len Betriebssystem die Möglichkeit, Windows-
Software zu nutzen.

Für den Server-Bereich gibt es schließlich noch


Muppy-Server.

Macpup
Gleich acht Puplets beschäftigen sich mit der
Simulation des Mac-Desktops. Das beginnt mit der
charakteristischen Icon-Bar auf dem Bildschirm
und endet nicht mit dem User-Window-Manage-
ment, das sich »Mac-like« am linken statt wie
gewohnt am oberen rechten Bildschirmrand befin-
det. Auch ansonsten sehen diese Winzlinge ziem-
lich nach Apple aus und werden die Freunde des
MacOS-Designs erfreuen.
PETget, die Paketverwaltung von Puppy Linux
Yalm - Magazin 16
geführt zu werden. Dafür verspricht dieses Puppy- Die Paketverwaltung sind und der es schätzt, den Umfang seines Be-
Derivat Videobearbeitung in sehr hoher Geschwin- Wem die angebotenen Programme seiner Wahl- triebssystems selbst zu bestimmen, ohne tiefere
digkeit. Verschiedene Video- und Audioeditoren distribution nicht ausreichen, kann auf verschiede- Linux-Kenntnisse zu besitzen, liegt hier richtig. Es
sowie Gimp und ein Brennprogramm sind in den nen Wegen Software installieren. Am komfor- bleibt zu hoffen, dass auch nach dem Ausscheiden
322 MB des Betriebssystems enthalten. tabelsten funktioniert das mit der Puppy- des Gründers aus diesem Projekt der kleine Welpe
Paketverwaltung namens PETget. Nach Themen weiter gehegt und umsorgt wird.
Als Musiklabor bezeichnet sich Pupitup 4.1.2 sortiert findet man darin die verfügbare Software.
Music Lab und bietet Software zum Schreiben von Das gewünschte Paket wird angeklickt, aus dem Jürgen Weidner
Noten, zum Komponieren, Arrangieren und Mixen, Internet heruntergeladen und anschließend instal- joschi@yalmagazine.org
kurz alles was man in der Hosentasche bei sich liert. Auf dem selben Weg erfolgt die Deinstallation
haben muss, um Beethoven mal zu zeigen, wo es von Programmen.
Informationen
wirklich lang geht.
[1] http://www.puppylinux.com/
Sollte sich die gewünschte Software nicht in den
[2] http://www.puppylinux.org/downloads/puplets
Puppy Spezial Puppy-Repositories befinden, kann man sich im
reichhaltigen Fundus der Slackware Distribution [3] http://distrowatch.com/index.php?language=DE
Eine Distribution für die Freunde des Universums
[12] bedienen. Um Programme in das .pet Format [4] http://www.linux-
ist Cloudy Skies Live. Hier dreht sich alles um das
zu konvertieren dient der Konsolenbefehl community.de/Internal/Nachrichten/Welpe-
Weltall und dessen Gestirne. Unter anderem sind
»tgz2pet«. Um beispielsweise Firefox 3.07 instal- geboren-Puppy-Linux-4.1-sucht-neues-Zuhause
OpenUniverse, Planets3d, Skydome und Stellari-
lieren zu können lautet der Befehl: [5] http://unetbootin.sourceforge.net/
um enthalten.
[6] http://www.puppylinux.org/localization/deutsch
tgz2pet mozilla-firefox-3.0.7-i686-1.tgz [7] http://www.puppylinux.org/wiki
Ein komplettes Betriebssystem mit dem Schwer-
punkt Biologie bietet BioPuppy. Dem Bibelstudium [8] http://www.murga-linux.com/puppy/index.php
Dadurch wird der Datensatz mozilla-firefox-3.0.7-
widmet sich ChurchPup RC2. i686-1.pet erstellt. Klickt man ihn an, so wird PET- [9] http://rhinoweb.us/
get ihn installieren. Problematisch können aber [10] http://www.puppylinux.org/downloads/puplets
Spiele fehlende Bibliotheken sein, ohne die manche Pro- [11] http://minisys-linux.de/muppy0083/index.html
Als reine Spieldistribution sieht sich Hurt Me Plenty gramme nicht funktionieren. Diese müssen separat [12] http://packages.slackware.it/
01. Um Platz zu schaffen, wurden alle überflüssi- heruntergeladen und zusätzlich installiert werden.
gen Programme wie z. B. Büroanwendungen
entfernt. Neben den Spielen wie Doomsday, Fazit
Quake2 und einigen anderen fand nur noch Wine Wer ein transportables Linux benötigt oder alter
(benötigt man zum spielen) und die nötigste Hardware neues Leben einhauchen möchte, wird
Ausstattung für das Surfen im Internet Platz in der bei den Puppy-Derivaten fündig. Auch derjenige,
708 MB großen Distribution. dem herkömmliche Distributionen zu überladen
Yalm - Magazin 17
das SQLite-Python-Binding nicht installiert sein, so
10-Minuten-Blogsoftware muss dies vor der Benutzung geschehen. Die Vor-
gehensweise ist hier äquivalent zu der Installation
Mal eben ein Blog eingerichtet... – mal eben? Packungs-Blogsoftware wie Wordpress ist unnötig von Django und Textile (siehe »Installation«).
umfangreich und eine Hosting-Inklusive-Lösung wie Blogger.com langweilig: Ein eigenes Selbstverständlich muss hierfür SQLite selbst in-
Blogsystem muss her. Dies muss nicht aufwändig sein: In weniger als 10 Minuten sieht man erste stalliert sein, was bei Bedarf über den Paketmana-
Erfolge. ger der Distribution nachgeholt werden kann.

Man editiert also die Konfigurationsdatei


Dieser Artikel ist eine Schritt-für-Schritt-Einführung unser Projekt. Nach dem Wechsel mit »cd« in das
»settings.py« im Wurzelverzeichnis des Projekts
in das Python-Webframework Django [1], erklärt Verzeichnis sollte eine Applikation angelegt wer-
und setzt die Variablen entsprechend des ge-
am Beispiel einer minimalistischen Weblogsoft- den (siehe Tabelle »Projekte und Applikationen«):
wünschten Datenbanksystems, in diesem Falle
ware.
python manage.py startapp blog sind dies »DATABASE_ENGINE« und »DATABA
SE_ NAME«:
Installation
Da die eigenen, wichtigen Nachrichten an den
Django kann über den Python-Paketmanager [...]
Rest der Welt irgendwo gespeichert sein sollten,
»easy_install«, der im Paket »python-setuptools«
muss man Django mitteilen, welchen Typ von DATABASE_ENGINE = 'sqlite3'
(oder ähnlich) enthalten ist, installiert werden:
Datenbank es verwenden soll und gegebenenfalls
sudo easy_install django Zugangsdaten verraten. Der Einfachheit halber DATABASE_NAME = 'miniblog.sql'
wird hier das Datenbank-System SQLite verwen-
Da man später Textile [2] als Markup-Sprache ver- det, welches im Gegensatz zu MySQL keinen Ser- [...]
wendet, muss selbiges auch installiert werden: ver-Prozess benötigt und sich somit für kleinere
In derselben Datei kann – sofern erwünscht – auch
Projekte bzw. schwächere Computer eignet. Sollte
sudo easy_install textile die Zeitzone und die Sprache angepasst werden
Projekte und Applikationen (für Deutschland wären dies »Europe/Berlin« und
Sind all diese Schritte gelungen, kann man den »de-DE«).
nächsten wagen: Das Erstellen eines Django- Django- Zum Beispiel ein Portal. Beinhal-
Projekts. Projekt tet (mehrere) Applikationen. Sind diese Vorarbeiten getätigt, so kann endlich
zum Hauptteil des Entwicklungsprozesses über-
Projekt-Vorarbeiten Eine Stück Software, das einen gegangen werden: Dem Programmieren.
Durch den Befehl Django- (kleinen) Teil eines Projektes
Applikation ausmacht, zum Beispiel ein Blog Models und URLs
django-admin startproject miniblog oder ein Wiki. Als erstes definiert man ein Datenbankmodell, also
eine Art Schema für Datenbankobjekte, die später
legt Django ein neues Verzeichnis namens »mini- Django unterscheidet zwischen Projekten und mit Werten gefüllt werden. In Django bestehen
blog« an und generiert dort eine Ordnerstruktur für diese »Models« aus Feldern, welche in der SQL-
Applikationen
Yalm - Magazin 18
Datenbank als Tabellenspalten repräsentiert wer- Die »PostAdmin«-Klasse dient hier der Funktion, den. Ein URL-Schema besteht aus mehreren URL-
den. Uns genügt hier die Definition eines Blog- den Slug (d. h. die menschenlesbare, eindeutige Definitionen, welche wiederum aus mindestens
Eintrags, der folgende Werte beinhalten soll: ID) automatisch aus dem Titel des Beitrags gene- zwei Teilen bestehen: Dem Pfad mit Platzhaltern
rieren zu lassen. (in Form von regulären Ausdrücken) und einem
● Ein Titelfeld für die Überschrift des Eintrags sogenannten »View«, welcher aufgerufen wird,
Die letzte Zeile des obigen Codes registriert das
● Ein Textfeld für den Inhalt des Eintrags sollte die entsprechende Adresse angefragt
Model am Admin-Interface, welches eine Web-
werden.
● Ein Datums- und Zeitfeld für den Erstellungs- Oberfläche für das Modifizieren der Datenbank-
zeitpunkt einträge – in diesem Falle also das Erstellen und Wir möchten in unserem Beispiel zwei Arten von
Bearbeiten von Blog-Beiträgen – offeriert. URLs zulassen: Eine Abfrage der Blog-Beiträge
● Ein Slugfeld, welches eine eindeutige ID in
URL-Form für Verlinkungen beinhaltet Als nächsten Schritt sollte ein URL-Schema nach Seite (wobei eine Seite n Blog-Beiträge an-
(»URL-Patterns«) festgelegt werden, welches defi- zeigt) und eine Abfrage eines einzigen Blog-Bei-
Die Datei »blog/models.py« wird also wie folgt trags. Man editiert also »urls.py« und ersetzt den
niert, wie aufgerufene Adressen verarbeitet wer-
abgeändert: Code mit Folgendem:

from django.db import models from django.conf.urls.defaults import *

from django.contrib import admin from django.contrib import admin

class Post(models.Model): admin.autodiscover()

urlpatterns = patterns('miniblog.blog.→
title = models.CharField('Titel', →
views',
max_length30)
url(r'^page/(?P<page>[0-9])$', →
text = models.TextField('Text') 'page', name='page'),

datetime = models.DateTimeField→ url(r'^(?P<post>[0-9a-z_-]+)?$', →


('Datum', auto_now_addTrue) 'post', name='post'),

slug = models.SlugField('Slug', →
uniqueTrue) (r'^admin[/]?(.*)$', →
admin.site.root),
class PostAdmin(admin.ModelAdmin):
)
prepopulated_fields = {'slug' : →
('title',)} Wer nicht ganz unvertraut mit regulären Aus-
drücken ist, erkennt, dass die beiden Möglichkei-
admin.site.register(Post, PostAdmin) Das erste Blog in Django – mit weniger als 20
ten als Adresse später etwa so aussehen werden:
Zeilen Code
Yalm - Magazin 19
● seitenweise Abfrage: Wie unschwer erkennbar, erhält eine solche View- einem Objekt mit diesem Namen gesucht und, falls
http://example.com/page/7 Funktion als ersten Parameter das HTTP-Request- ein solches existiert, das »posts.html«-Template
Objekt und als weitere Parameter die Werte der im mit dem Datenbankeintrag als Parameter geren-
● Einzelabfrage: URL-Pattern festgelegten Platzhalter. dert zurückgegeben. Sollte kein entsprechender
http://example.com/mein-erster-blogbeitrag Beitrag vorhanden sein, wird auf Grund der Benut-
»render_to_response(template, data)« rendert ein zung von »get_object_or_404« automatisch ein
Das zweite Argument der »url«-Funktion in obigem Django-Template (siehe unten) mit dem Datei- HTTP-404-Fehler zurückgegeben.
Code ist der aufzurufende »View«. Wie diese namen »template« und den Daten (welche in Tem-
Views funktionieren und was es mit Templates auf plates verwendbare Variablen sind) »data« und Wurde kein Beitragsname angegeben, wird eine
sich hat, wird im nächsten Abschnitt erläutert. schickt die fertig generierte Seite an den Browser »page«-Funktion aufgerufen und zurückgegeben,
zurück. welche natürlich auch definiert werden will:
Views und Templates
Wird eine URL aufgerufen, so durchläuft diese Hier wird also, falls ein Beitragsname (Slug) in der
def page(request, page=1):
Djangos URL-Handler und es wird, sollte die Adresse angegeben wurde, in der Datenbank nach
Adresse im URL-Schema definiert worden sein, p = Paginator(Post.objects.all(), 2)
der HTTP-Request (also die Anfrage, zum Beispiel
vom Browser) an den angegebenen View »weiter- return render_to_response→
geleitet«. ('posts.html', {

'posts' :
Der View verarbeitet den Request, bekommt also p.page(int(page)).object_list,
Informationen über die eingegebene (aufgerufene)
URL und gibt Informationen (verarbeitet) als 'page' : int(page),
»Response« zurück.
'pages' : p.page_range
Für die Einzelabfrage eines Blogeintrags sieht
})
unser View so aus:
Die »page«-Funktion teilt die Beiträge (»Post.
def post(request, post=None):
objects.all()«) unter Verwendung von Djangos
if post is None: »Paginator« automatisch in kleine Happen (Seiten)
auf und gibt das entsprechende Template mit den
return page(request) richtigen Beiträgen zurück.

return render_to_response→ Jetzt haben wir uns also schon Datenbankmodelle


('posts.html', {'posts' : [get_object_→
Mit etwas CSS sieht das Ganze schon viel überlegt, URLs definiert und verarbeitet und ein
or_404(Post, slug=post)]})
ansprechender aus kleines bisschen Programmierlogik in den Views
Yalm - Magazin 20
geschrieben. Fehlen noch die Templates, welche {% for post in posts %} Hier ist etwas Erklärung von Bedarf. Logik in
sich um die Generierung der (HTML-)Antworten Templates ist, wie an den Programmiersprachen-
<h1><a href="{% url post → typischen Ausdrücken wie »if« und »for ... in«
kümmern.
post.slug %}" title="{{ post.title }}"→
erkennbar, mit Hilfe der Notation »{%« bzw. »%}«
>{{ post.title }}</a></h1>
Bevor Templates verwendet werden können, muss möglich. Variablen werden mit
über die Variable »TEMPLATE_DIRS« das richtige <h4>Geschrieben: → »{{ variablenname }}« ausgegeben. Das »{% url
Verzeichnis zu den Templates (welches üblicher- {{ post.datetime }}</h4> name parameter1, parameter2 %}«-Tag generiert
weise »./templates« ist) als absoluter Pfad hinter- URLs für die mit »name« bezeichnete URL-Defini-
legt werden. Diese Pfadangaben werden in die <p>{{ post.text|→ tion (siehe »Models und URLs«) mit den Parame-
textile }}</p> tern »parameter1«, »parameter2« und so fort.
Konfigurationsdatei, die bereits im Kapitel »Pro-
jekt-Vorarbeiten« angesprochen wurde, einge- {% endfor %} Als Beispiel sei hier nochmals die URL-Definition
tragen: für eine seitenweise Anfrage aufgeführt, die so
{% if pages %} aussieht:
TEMPLATE_DIRS = (
Seiten: url(r'^page/(?P<page>[0-9])$', 'page', →
'/home/benutzer/pfad/zum/miniblog/→ name='page')
templates', {% for p in pages %}
Verwendet man im Template jetzt etwas wie
) {% ifequal p page %}
{% url page 7 %}
Jetzt kann die in den Views angegebene {{ p }}
so wird daraus automatisch die URL
»post.html«-Templatedatei erstellt werden. Diese
{% else %} ...page/7
sähe im Beispiel etwa so aus:
<a href="{% url → erzeugt. Ein komplizierteres Beispiel wäre dieses:
{% load markup %}
page p %}" title="Seite →
{{ p }}">{{ p }}</a> url(r'^archive/(?P<year>[0-9]{4})/(?P→
<html> <month>[0-9]{2})/$', 'archive', →
{% endifequal %} name='archive')
<head>
{% endfor %} Aus
<title>Miniblog</title>
{% archive 2009, 04 %}
{% endif %}
</head>
würde dann
</body>
<body>
...archive/2009/04/
</html>
<a href="{% url post %}"
title="Home">Home</a> generiert werden.
Yalm - Magazin 21
Der »variablenname|textile«-Filter generiert aus schnell die »blog«-Applikation, welche im zweiten [...]
dem vor dem Senkrechtstrich angegebenen Varia- Abschnitt erstellt wurde, und das Admin-Interface
blenwert HTML-Code aus Textile-Syntax (Textile 'django.contrib.admin',
sowie die Textile-Markup-Sprache in die Konfigu-
wurde hierzu mit »{% load markup %}« geladen). rationsdatei, welche in ebendieser Sektion an- 'django.contrib.markup',
gesprochen wurde, ein:
Deploying
'miniblog.blog',
Jetzt ist es an der Zeit, die zusammengebastelte
INSTALLED_APPS = (
Blogsoftware zu testen. Dazu trägt man noch )

Dann lässt man Django die SQLite-Datenbank er-


zeugen, indem im Projekt-Wurzelverzeichnis
Folgendes ausgeführt und den Anweisungen des
Assistenten gefolgt wird:

python manage.py syncb

Abschließend kann der Entwicklungsserver (wel-


cher NUR für die Entwicklung auf einem lokalen
System eingesetzt werden sollte) gestartet und
das Wunderwerk auf »localhost:8000« betrachtet
werden:

python manage.py runserver

Jonas Haag
dauerbaustelle@yalmagazine.org

Informationen
[1] Website des Django-Projekts:
http://djangoproject.org
[2] Website der Markup-Sprache Textile:
http://textism.com/tools/textile
Djangos Admin-Interface macht komfortables Erstellen und Modifizieren von Datenbankeinträgen
wie Blog-Postings möglich
Yalm - Magazin 22
Schutzmaßnahmen
Änderung von MAC-Adressen Rechnernetzwerke sind oft durch einen MAC-
Adressfilter geschützt, d. h. nur MAC-Adressen,
Das Ändern der MAC-Adressen von Netzwerkadaptern bringt Vorteile mit sich. Viele denken, dass die auf einer Whitelist in einer speziell angelegten
das schwer oder gar nicht möglich ist, aber mit dem richtigen Shell-Kommando ist das Ändern in- Datenbank stehen, werden vom Server bzw. vom
nerhalb weniger Augenblicke erledigt. lokalen Gateway autorisiert. Wenn man nun aber
die MAC-Adresse eines bereits autorisierten Rech-
Was ist eine MAC-Adresse Adressfilter in lokalen, aber auch in drahtlosen ners herausfindet – was ja nicht sonderlich schwer
Jeder Netzwerkadapter ist mit einer weltweit ein- Netzwerken umgehen kann. Das einzige, was ei- ist – dann muss man nur noch diese auf den eige-
malig vergebene Hardware-Adresse versehen, die nem noch fehlt, ist eine gültige MAC-Adresse, die nen Netzwerkadapter übertragen, und schon ist
aus 48 Bits besteht, die sogenannte MAC-Adresse vom Server/Router des jeweiligen Netzwerks auto- man dem Eindringen in ein Netzwerk einen Schritt
(Media-Access-Control-Adresse). Sie dient der risiert ist, was in den meisten Fällen ja nicht son- näher gekommen.
Identifizierung eines Netzwerkadapters in Rech- derlich schwer herauszufinden ist. Sofern man die
nernetzwerken. autorisierte MAC-Adresse hat, braucht man nur
MAC-Filter werden oft in WLAN-Netzen zur Absi-
noch die eigene durch diese "neu erworbene" zu
cherung eingesetzt. Sie können aber auch in an-
Vor- und Nachteile einer Änderung ersetzen.
deren Netzen zur Zugangsbeschränkung genutzt
Übersichtlichkeit und Zuverlässigkeit sind zwei werden. Es sollte einem normalen Benutzer des-
Die andere Seite der Medaille kann man sich mit
Punkte, die bei Netzwerkadministratoren an ober- halb nicht erlaubt sein die MAC-Adresse zu än-
Hilfe des folgenden Szenarios ausmalen:
ster Stelle stehen. Deshalb stellt das Ändern von dern. Unter Windows kann dies in Domänen durch
MAC-Adressen einen berechtigten Vorteil dar, Zwei Geräte mit der gleichen MAC-Adresse führen Gruppenrichtlinien umgesetzt werden. Unter Linux
denn wenn man einen eigenen Standard für die ei- dazu, dass Pakete nicht mehr eindeutig adressiert ist dies ohnehin nur Root gestattet.
genen Hardware Adressen setzen kann, trägt man werden können. Der Switch über den die Geräte
den beiden oben genannten Punkten Rechnung. miteinander verbunden sind, führt eine Tabelle mit Backup der originalen Informationen
der Zuordnung von MAC-Adresse zu Port/Buchse. Ehe man die MAC-Adresse seines Netzwerkadap-
Beispiel: Er weiß also, über welchen Port welche MAC- ters ändert, sollte man zuerst die originalen Infor-
Adresse erreichbar ist. Sieht der Switch nun an mationen sichern und als Root angemeldet sein.
00:02:5C:11 # Body
mehreren Ports die gleiche MAC-Adresse, existiert
00:02:5C:11:00:01 # Erster → diese eindeutige Zuordnung nicht mehr. Wahr- # ifconfig interface > interface→
Netzwerkadapter scheinlich wird der Switch nun die betreffenden _bak_info.log
Ports einfach abschalten um weiteren Problemen
00:02:5C:11:00:02 # Zweiter → Das Interface stellt hier den Netzwerkadapter dar,
Netzwerkadapter vorzubeugen. Das beeinträchtigt das restliche
beispielsweise eth0. Der Befehl schreibt sämtliche
Netzwerk zwar nicht, blockiert aber sämtliche
Ein anderer Vorteil – der fraglichen Legitimation – Informationen über den ausgewählten Netzwerk-
Kommunikation der beiden falsch konfigurierten
wäre, dass man mit Hilfe dieser Technik MAC- adapter in eine Datei namens »interface_bak_
Geräte.
Yalm - Magazin 23
info_.log«. Diese kann mit einem normalen Text- Das Ändern der MAC-Adresse erfolgt über den # ifconfig interface hw ether →
editor geöffnet und editiert werden. gleichen Befehl, nur mit einem zusätzlichen Para- xx:xx:xx:xx:xx:xx
meter. Eine neue Variable namens ether ist hinzu-
Ändern der MAC-Adresse Nachdem die MAC-Adresse geändert wurde, sollte
gekommen, sie stellt den Anschlusstyp dar: ether
Bevor man die MAC-Adresse eines Netzwerk- man den Netzwerkadapter wieder hochfahren, um
= Ethernet. Andere Anschlusstypen kann man
adapters ändern kann, muss man diesen kurzzei- zu prüfen, ob die Änderungen auch erfolgreich
unter der Manual-Page für den Befehl ifconfig
tig herunterfahren. ausgeführt worden sind:
finden. Die neue MAC-Adresse muss in folgender
Form angegeben werden, wobei die »x« für Hexa-
# ifconfig interface down # ifconfig interface up
dezimalzahlen stehen:
Überprüfung der Änderung
Beim Überprüfen der Informationen ist es ratsam,
diese auch wieder in eine Logdatei zu kopieren.
Am besten wäre es, beide in eine zu schreiben
und jeweilige Überschriften für beide zu definieren.

# ifconfig interface

Schlussfolgerung
Wie man sieht, kann das Ändern der MAC-Adres-
se Vorteile mit sich bringen. Zum Beispiel sind
Filter für WLAN-Zugänge einfacher zu verwalten,
wenn alle Adressen einem bestimmten Schema
folgen. Man sollte aber nie vergessen, dass
dadurch die ursprünglich in der MAC vorhandenen
Informationen, wie z. B. der Hersteller, nicht mehr
eingesehen werden können.

Jan Guth
prometheus@yalmagazine.org

Ablauf einer MAC-Adressenänderung in der Konsole


Yalm - Magazin 24
erwarten möchte, an die an erster Stelle eingege-
Evolution – Anlegen eines E-Mail-Kontos bene Adresse gesandt; für den Kontakt zwischen
zwei Personen finden also auch nur zwei und nicht
Evolution ist ein wahres Multifunktionstalent unter den für Linux zur Verfügung stehenden Pro- drei Adressen Verwendung.
grammen. Es vereint neben Möglichkeiten zur Kontakt- und Notizverwaltung unter anderem auch
einen Kalender sowie einen E-Mail-Clienten in sich. Dieser Artikel fokussiert sich insbesondere Voraussetzungen für das Abrufen von E-Mails
auf den letzten der eben genannten Punkte, beschreibt detailliert die Erstellung eines E-Mail-Kon- Hat man grundlegende Eingaben erst einmal vor-
tos und bietet weitere, interessante Hintergrundinformationen zu verwendeten Mechanismen. genommen und diese durch einen Klick auf For-
ward bestätigt, gelangt man zu einem mit »Abrufen
Bei Evolution handelt es um eine sogenannte und werden aus diesem Grunde
»PIM-Suite« (Personal Information Manager). an dieser Stelle nicht weiter aus-
Letztere haben normalerweise die Aufgabe, je geführt, allerdings können Neu-
nach Art der Anwendung, persönliche Daten wie linge bereits in den »optionalen In-
beispielsweise Termine, Notizen und Kontakte, formationen« auf ein erstes
aber auch Briefe oder E-Mails zentral zu verwal- Hindernis stoßen. Ein Haken bei
ten. Dieser Artikel beleuchtet insbesondere die »Dieses zum Vorgabenkonto ma-
Möglichkeiten in der Funktion als Mail-Client. Kurz chen« vermerkt die zuvor eingege-
gesagt können mit Evolution E-Mails empfangen, bene E-Mail-Adresse als Standard
gelesen, geschrieben und versendet werden, was für das Verfassen von Nachrich-
dem Anwender die stellenweise lästige Nutzung ten. Dies ist vor allem dann sinn-
des Webinterfaces des eigenen Anbieters erspart. voll, wenn mehrere Accounts über
Hierfür sind aber anfänglich einige grundsätzliche Evolution verwaltet werden. »Ant-
Vorkehrungen zu treffen, die im Nachfolgenden wort an:« stellt die einigen womög-
beschrieben werden: lich bereits aus dem Englischen
bekannte »Reply-To-Information«
Vornehmen elementarer Eingaben für den Empfänger dar. Hier kann
Beim ersten Programmstart wird man direkt vom ebenfalls eine Mail-Adresse einge-
»Evolution-Kontoassistenten« empfangen, welcher geben werden. Antwortet nun
bereits grundlegende Hilfe bei der Einrichtung ei- jemand auf eine eigens verfasste
nes Mail-Accounts bietet. Nimmt man nun die Be- Nachricht, wird die Replik automa-
grüßungsfloskel mit einem Klick auf den Button tisch an die zuletzt eingegebene
Forward zur Kenntnis, so gelangt man zu einem Adresse versendet. Bleibt dieses
mit »Identität« betitelten Formular. Die ersten not- Feld hingegen leer, so wird die
wendigen Eingaben sollten selbsterklärend sein Antwort, wie man es anfänglich
Eingabe persönlicher Informationen
Yalm - Magazin 25
von E-Mails« betitelten Fenster. Hier wird der Nut-
zer zur Festlegung einer »Server-Art« aufgefor-
dert. Gemeint ist hiermit das Übertragungsproto-
koll, mit welchem der Client E-Mails vom
jeweiligen Server beziehen kann.

Nachfolgend wird versucht, diesen abstrakten Vor-


gang einmal bildlich zu verdeutlichen: Nutzt man
keinen Client zur Verwaltung seines Mailverkehrs,
besucht man normalerweise das Webinterface des
eigenen Anbieters. Anders ausgedrückt tippt man
www.MeinE-MailProvider.de in die Adresszeile des
Browsers, sucht auf der Hauptseite nach einem
mit »Login« oder vergleichbar betitelten Eingabe-
feld, gibt seine Benutzerkennung sowie das zuge-
hörige Passwort ein und findet sich letztendlich in
der Lage, E-Mails zu lesen und zu schreiben. Dies
sei einmal im übertragenen Sinne ein Briefkasten.
Der Normalbenutzer, nennen wir ihn Peter Post,
muss nun immer dann, wenn er seine Nachrichten
lesen möchte, den langen und mühseligen Weg
zum Briefkasten auf sich nehmen. Nach einiger
Zeit erfährt Peter, dass er auch einfach zu Hause
bleiben und sich seinen Schriftverkehr liefern las-
sen kann. Peters Heim sei hier einmal ein E-Mail-
Client, in diesem Falle Evolution. Es gibt allerdings
verschiedene Postboten, die letztlich zwar alle
Peters Schriftverkehr zu ihrem Besitzer bringen,
hierbei aber auf unterschiedliche Art und Weise
vorgehen. Diese Postboten stehen symbolisch für
die verschiedenen Übertragungsprotokolle, womit
diese kleine Geschichte vorübergehend ein Ende
findet.

Einstellungen für das Abrufen von E-Mails


Yalm - Magazin 26
Wie man feststellen wird, bietet Evolution Unter-
stützung für zahlreiche Server-Arten, die alle
genauer auszuführen unsinnig wäre. Stattdessen
beschränkt sich dieser Artikel auf die zwei
gängigsten Übertragungsprotokolle, namentlich
»POP« und »IMAP«, die sich aber auch, wie
bereits anhand der Postboten angedeutet, unter-
scheiden:

Das »Post Office Protocol«, kurz POP, liegt derzeit


in Version 3 vor, weshalb »POP3« gerne auch
synonym zum simplen POP verwendet wird.
Sobald sich der Client zum Server verbindet, lädt
POP alle Nachrichten herunter und löscht diese
normalerweise auf dem Server; die Verwaltung
findet demnach ausschließlich auf lokaler Ebene,
also direkt am eigenen Computer, statt.

Eine andere Möglichkeit stellt das »Internet


Message Access Protocol«, kurz IMAP, dar. Hier
werden Nachrichten nicht lokal, sondern direkt auf
dem jeweiligen Server verwaltet, folglich ist hier
aber auch eine dauerhafte Internetverbindung von-
nöten; bei POP muss sich der Client hingegen nur
kurzzeitig mit dem Server verbinden.

Letzten Endes bleibt es jedem selbst überlassen,


für welches Protokoll man sich entscheidet. Admi-
nistriert man die eigenen E-Mails aber über mehre-
re Rechner, so empfiehlt sich logischerweise
IMAP, was aber derzeit noch nicht von jedem
Anbieter unterstützt und angeboten wird. POP hin-
gegen sollte überall verfügbar sein. Unter Evolution zur Verfügung stehende Empfangsoptionen (IMAP)
Yalm - Magazin 27
Informationen variieren je Im nun folgenden Unterpunkt »Legitimationsart«
nach Anbieter; eine einheit- begegnen dem Nutzer im Dropdown-Menü, je
liche Regelung gibt es leider nach gewähltem Server-Typ, teils exotische Mög-
nicht. Eine ausführliche und lichkeiten, auf deren komplette Beschreibung hier
kostenlose Auflistung über verzichtet werden soll. Bei »APOP« beispielsweise
Server-Einstellungen be- wird für die Authentifizierungsdaten (normaler-
kannter Provider finden sich weise Benutzername und Passwort) ein Hash-
auf den Seiten von Wert erzeugt und übertragen. Ein »gewöhnliches«
patshaping.de [1]. Passwort hingegen kann auf dem Weg zum Server
relativ einfach, beispielsweise durch einen so-
Im Anschluss daran kann genannten »Sniffer«, also einen Software, die Da-
man auf Wunsch – sofern tenverkehr eines Netzwerks abfangen und auf-
möglich – die Vorkehrungen zeichnen kann, ausgelesen werden.
für eine verschlüsselte Ver- Nichtsdestotrotz dürfte der Normalbenutzer hier
bindung zum Server treffen. die allen wohl bekannte Option »Passwort« wäh-
Angeboten werden derzeit len, zumal gerade FreeMail-Anbieter in der Regel
»TLS«- (Transport Layer Se- keine anderen Möglichkeiten offerieren. Dies kann
curity) und »SSL«-Verbin- man aber einfach, sofern der Server bereits durch
dungen (Secure Sockets den Nutzer festgelegt wurde, mit einem Klick auf
Layer). Streng genommen den Button »Prüfen, welche Arten unterstützt wer-
handelt es sich hierbei aber den« herausfinden. Alle nicht zur Verfügung ste-
sogar um das gleiche Ver- henden Legitimationsarten werden im Anschluss
schlüsselungsprotokoll, denn daran im Dropdown-Menü nur noch durchgestri-
TLS ist eigentlich nichts an- chen dargestellt.
deres als eine standardisier-
te Weiterentwicklung von Die Empfangsoptionen
Konfigurationseinstellungen für das Verschicken von E-Mails SSL. TLS 1.0 wäre beispiels- In diesem Fenster soll nun festgelegt werden, wie
weise ein korrektes, wenn Evolution mit empfangenen E-Mails und dem
Davon ausgehend, dass als Server-Art entweder auch nicht offizielles Synonym für SSL 3.1. Die Empfang im Allgemeinen umgeht. Das Aussehen
POP oder IMAP ausgewählt wurde, wendet sich meisten E-Mail-Provider bieten aber keine oder dieses Fensters schwankt stark, abhängig von der
dieser Artikel nun der eigentlichen Eingabe im For- nur eingeschränkte – nämlich kostenpflichtige – gewählten Server-Art. Für POP beispielsweise fällt
mular des Evolution-Kontoassistenten zu: Die für Unterstützung für sichere Verbindungen zum E- der Auftritt deutlich magerer aus als für IMAP, von
»Server« und »Benutzername« notwendigen Mail-Server. anderen Server-Arten ganz zu schweigen. Ferner
Yalm - Magazin 28
Nachricht, gegebenenfalls mit in fast allen Fällen ohne Bedenken verwendet wer-
anderen Objekten wie bei- den können.
spielsweise Bildern, für den
Versand vorbereitet. All dies Abschluss
wird dann an einen Remote- Nach einem weiteren Klick auf Forward muss nun
Server gesendet, der die noch ein Name vergeben werden, mit dem man
Nachricht schließlich an die das Konto verbinden möchte. Standardmäßig han-
zuvor festgelegte Adresse delt es sich hier um die E-Mail-Adresse, es können
übermittelt. aber auch Bezeichnungen wie beispielsweise
»Privat« gewählt werden. Die nun folgende Mel-
Im Kontoassistenten von Evo- dung, welche zur Einrichtung eines Kontos gratu-
Festlegung eines Kontennamens
lution muss ein solcher liert, sollte zu einem Abschluss der Konfiguration
SMTP-Server angegeben des eigenen E-Mail-Kontos und zum Ende dieses
ist dieses Fenster in der zu Redaktionsschluss vor-
werden. Die Server populärer Anbieter finden sich Artikels führen.
liegenden Version (2.25.91), trotz deutschen
ebenfalls – unter anderem – auf den Seiten von
Sprachpakets, in englischer Sprache gehalten.
patshaping.de. Je nach Anbieter ist ebenfalls eine Stefan Zaun
Dennoch sind die einzelnen Optionen weitgehend
erneute Eingabe der Kontodaten vonnöten, ein Sciron@yalmagazine.org
selbsterklärend, weshalb an dieser Stelle auf eine
Klick auf den Button »Prüfen, welche Arten verfüg-
weitere Ausführung verzichtet wird.
bar sind« sollte auch hier Abhilfe schaffen.
Informationen
Notwendige Eingaben für das Verschicken von Eine Alternative zu SMTP als Server-Art wird in [1] Server bekannter Provider:
E-Mails Form von »Sendmail« angeboten. Bei Sendmail http://www.patshaping.de/ hilfen_ta/pop3_smtp.htm
Das darauf folgende Fenster sollte nun weithin be- handelt es sich um einen sogenannten »Mail
kannt sein. Sollte SMTP als Server-Art ausgewählt Transfer Agent« (MTA), also ein eigenständiges
sein, was der Standard-Einstellung entspricht, so Programm, welches ebenfalls zur Übermittlung
sind die vorhandenen Optionen jene, welche auch von E-Mails in der Lage ist. Aufgrund dieser Tat-
bei den Vorkehrungen für das »Abrufen von sache sind innerhalb von Evolution keine weiteren
E-Mails« zur Verfügung standen. Der einzige Un- Einstellungen notwendig, da Sendmail gesondert
terschied ist in diesem Fall tatsächlich das SMTP- mit den notwendigen Einstellungen konfiguriert
Protokoll. werden muss.

SMTP selbst ist ein verhältnismäßig einfaches Nichtsdestotrotz ist SMTP, erneut insbesondere
Protokoll: Ein Empfänger wird definiert, die bei FreeMail-Anbietern, weit verbreitet, und sollte
Existenz dessen E-Mail-Adresse überprüft und die
Yalm - Magazin 29
in langen Winternächten in die Script-Programmie-
Gimp Automation rung von Gimp ein. Ein Hoch auf denjenigen dem
das gelingt; der Autor gehört leider nicht zum
Die Automation in der Bildbearbeitung ist eine nützliche Sache, wenn es darum geht, massenhaf- erlauchten Kreis der Script-Fus.
te Änderungen an Fotos durchzuführen. Über die Konsole oder mit Gimp ist dies grundsätzlich
Auf der Konsole
möglich, falls die nötigen Kenntnisse vorhanden sind. Für alle Hobbyfotografen, die nicht mit die-
ser Gabe gesegnet sind, gibt es David's Batch Processor. Der Artikel erklärt was das PlugIn Wer sich vorzeitig vom Erlernen der Gimp-Skripte
leistet und wie damit umzugehen ist. verabschiedet, hat auf der Konsole eine zweite
Chance. Der Tausendsassa ImageMagick ist ein
Mitten in der Wirtschaftskrise ist es erstaunlich, wahrer Zauberer bei der Bildautomation. Bereits in
etwas aufpimpen«. Nun sollte man bedenken,
wie wenig davon bei den Konsumenten zu bemer- dass in unseren Krisenzeiten die Krankenkassen der Yalm-Ausgabe 07/2008 [1] gab es einen
ken ist (Banker und andere Arbeitslose ausgenom- eine Lawine von Sehnenscheidenentzündeten Artikel zu diesem Tool. Mit dem einfachen Befehl:
men). Da werden weiterhin neue Digitalkameras überhaupt nicht gebrauchen können. Wer einmal
mogrify -monitor -resize 640x640 *.JPG
gekauft und auch beim Skiurlaub ist vom Sparen versucht hat, 100 Bilder einzeln mit Gimp zu ver-
bisher wenig zu sehen. Die neue Kamera kommt bessern, der weiß wie schnell der Mausarm lahm werden alle JPG Dateien im aktuellen Verzeichnis
mit auf die Piste und wird mit ihren 12 Megapixeln wird. »Na dann automatisieren wir die Sache auf eine maximale Kantenlänge (entweder Höhe
massenhaft Bilder auf die Speicherkarte bannen. eben«, sagt der Siebengescheite und arbeitet sich
oder Breite, je nach dem ob die Bilder im Hoch-
Manch einer reibt sich verwundert die Augen,
wenn er die Fotos aus den Skiferien auf den heimi- oder Querformat vorliegen) geschrumpft und die
schen PC kopiert. »War der Schnee wirklich so Originale gelöscht.
hell oder so dunkel?« Je nach dem, welchen
Belichtungsfehler der Hobbyfotograf begangen Möchte man die Qualität der Fotos verbessern,
hat, schlägt die Bilderkrise in die eine oder andere wird es mit ImageMagick schon schwieriger. Es
Richtung aus. gibt nicht die eine Zauberformel, mit der sich alle
Urlaubsbilder optimieren lassen. Zwar stellt Image-
Krisenbilder Magick diverse Funktionen für die Bearbeitung von
Die erste Abbildung zeigt ein solches »Krisenbild«. Schärfe, Kontrast und Farben bereit, allerdings
Die Aufnahme zeigt das Zervreila-Horn in den hängt es jetzt vom jeweiligen Foto ab, ob die Kor-
Alpen und wurde bei strahlendem Sonnenschein, rektur etwas bringt oder nicht. Somit sind wir wie-
sehr hellem Umgebungslicht und maximalem der bei der Einzelbearbeitung jedes Bildes – und
Zoom mit einer einfachen Digitalkamera auf- genau das führt zur Sehnenscheidenentzündung.
genommen. Trotzdem lohnt es sich, ImageMagick für bestimm-
te Aufgaben einzusetzen. Eine ausführliche und
»Ist doch gar kein Problem«, mag man denken, gute Anleitung findet man auf der Linux-Communi-
»wir haben doch Gimp und können die Bilder
Das Krisenbild ty Homepage [2].
Yalm - Magazin 30
David's Batch Processor Als Beispiel dient die schlechte Aufnahme des Zer- man sich sonst noch einhandelt. Das Paket befin-
Die Lösung all unserer Probleme heißt David's vreila Horns. Nach der Optimierung durch Gimp det sich im Universe Repository.
Batch Processor (kurz: DBP). Die Homepage zum bzw. DBP, sieht der Berg so aus:
Tool [3] sagt folgendes: Nach der Installation sollte man Gimp starten und
suchen wo DBP steckt. Wer es selbst nicht findet,
»DBP ist ein einfaches Plug-in für Gimp. Es er- kann im Menü Filter – Batch – Batch Process
laubt das automatische Bearbeiten einer Bilder- nachsehen. Ein Klick auf diesen Menüpunkt öffnet
sammlung. Sein Hauptvorteil ist, dass der Anwen- das Fenster mit David's Batch Processor.
der keine Skriptsprache lernen muss. DBP hat
eine grafische Benutzeroberfläche. Der Anwender DBP im Detail
erstellt eine Bilderliste und wählt die Veränderun- Das DBP Fenster kommt mit einer Reihe von Tabs
gen aus, die auf die Bilder in der Liste angewandt übersichtlich geordnet daher. Im ersten Tab kön-
werden sollen. Eine Vorschaufunktion ist vorhan- nen die zu bearbeitenden Bilder ausgewählt
den. Sobald die gewünschten Einstellungen ge- werden. Ob vorher bereits Bilder in Gimp geladen
macht wurden, verändert DBP alle ausgewählten wurden, interessiert DBP nicht. In den übrigen
Bilder entsprechend. Bei den Bildern können fol- Tabs werden die Einstellungen für die Bildverän-
gende Operationen durchgeführt werden: Farbe
derungen vorgenommen.
korrigieren, Größe verändern, zuschneiden, schär-
fen, umbenennen, Format ändern. Diese Schritte Die Tabs haben folgende Bedeutung:
können optional durchgeführt werden. DBP verän-
dert nie die Originalbilder, sondern speichert die Zervreila Horn nach der Optimierung mit DBP ● Input – Bilderliste auswählen
geänderten Bilder unter einem anderen Namen
ab.« Installation und Start ● Turn – Bilder drehen
Es gibt zwei Möglichkeiten, DBP zu installieren. ● Blur – Weichzeichnen
DBP verwendet die Funktionen von Gimp für die
Entweder man lädt die Sourcen von der DBP
Bildveränderungen. Für die Verbesserung von ● Colour – Farbverbesserung bzw. Farbverän-
Homepage und kompiliert diese (was wohl die
Fotos gibt es in Gimp die Funktion: Farben – derung
wenigsten Leser machen möchten), oder man
Werte – Automatisch. Der Autor konnte damit im-
installiert DBP aus den Repositories. Ubunteros ● Resize – Größenänderung
mer gute Resultate erzielen. Entweder verbessert
finden das Programm in der Paketverwaltung Crop – Zuschneiden
sich ein Foto oder es bleibt zumindest so wie es ●
ist; eine Verschlechterung der Bildqualität wurde Synaptic unter dem Namen gimp-plugin-registry.
Der seltsame Paketname kommt daher, dass sich ● Sharpen – Schärfen
noch nicht beobachtet. Das ist wichtig, wenn man
eine Massenveränderung von Bildern durchführt. darin außer DBP noch eine Vielzahl weiterer Plug- ● Rename – Umbenennen
Man kann ziemlich sicher sein, dass die Bilder ins für Gimp befinden. Die Beschreibung des
● Output – Bildformat
nicht schlechter werden, als sie vorher waren. Pakets in Synaptic gibt Aufschluss darüber, was
Yalm - Magazin 31
Jeder Tab (außer Input, Rename, Output) hat als man im ersten Tab Input eine Reihe von möglichst Wie immer weist der Autor darauf hin, dass es sich
erstes die Option Enable. Wenn diese Option aus- schlechten Fotos aus. Dann klickt man im Tab lohnt, die anderen Option von DBP auch auszu-
gewählt wird, wird die Einstellung im jeweiligen Colour auf die Checkboxen Enable und Auto Le- probieren.
Tab auf die Bilderliste angewendet, jedoch erst vels. Hinter Auto Levels verbirgt sich die Gimp-
nach Drücken des Start Knopfes im Input Tab. Funktion Farben – Werte – Automatisch. Nun geht Fazit
Ohne das Einschalten von Enable können auch man zum Tab Rename und trägt dort als Postfix Auch in wirtschaftlich schweren Zeiten erfreuen
keine Einstellungen verändert werden. »_neu« ein. Damit werden die veränderten Bilder sich die Menschen an schönen Bildern. Schöne
im Dateinamen mit diesem Anhang gekennzeich- Bilder entstehen entweder durch fotografisches
Unser eigentliches Ziel ist die qualitative Verbes- net. Keine Angst, die Originalbilder werden nicht Können oder durch David's Batch Processor (bzw.
serung der Urlaubsbilder. Zu diesem Zweck wählt verändert. Im Tab Output wählt man das gleiche durch Gimp). Wer seinen Krankenkassenbeitrag
Format wie das der Originalbilder aus (vermutlich nicht in die Höhe treiben will, verzichtet auf die
JPG). Leider merkt sich DBP diese Einstellungen Einzelbearbeitung von Fotos sondern überlässt die
nicht; beim nächsten Starten müssen diese Anga- Massenmutation seinem Computer. In diesem
ben neu gesetzt werden. Jetzt geht es zurück zum Sinne wünscht das Yalm Magazin und der Autor
ersten Tab Input. Dort kann mit dem Knopf Start allen Lesern eine moderate Krisenzeit und viel
die Massenmutation in Gang gesetzt werden. Wer Vergnügen mit den Fähigkeiten eures Linux-
dem Braten nicht traut, kann zuerst den Knopf Systems.
Test drücken. Damit werden die gewählten Verän-
derungen nur beim ersten Bild aus der Liste durch- Ralf Hersel
geführt und das Ergebnis direkt in Gimp angezeigt. rhersel@yalmagazine.org
Ist man mit dem Ergebnis zufrieden, können mit
Start alle Bilder behandelt werden.
Informationen
[1] ImageMagick in Yalm: http://www.yalmagazine.org/
Im Fortschrittsbalken kann nun der Ablauf der Bild-
homepage/yalm/ueberblick_07/2008
veränderung beobachtet werden. Je nach dem,
[2] Anleitung ImageMagick: http://www.linux-
welche Optionen ausgewählt wurden, kann dieser
community.de/Internal/Artikel/Print-
Prozess ziemlich lange dauern. Irgendwann wird Artikel/LinuxUser/ 2008/02/Pixelzauber
auch DBP mit der Arbeit fertig, so dass das Ergeb-
[3] David's Batch Processor:
nis der Konvertierung entweder in Gimp oder im
http://members.ozemail.com.au/~hodsond/dbp.html
Dateimanager betrachtet werden kann. Falls die
Auswahl der Bilder schlecht genug war, ist nun mit
einigen Aaahs und Ooohs ob der viel besseren
Bildqualität zu rechnen.

Liste der Bilder in DBP


Yalm - Magazin 32
funktioniert es. Hier würde man nun vermuten,
Kreisverkehr – Schleifen in der Bash dass am sogenannten »Newline«, also am Zeilen-
umbruch, die Aufzählung in einzelne Elemente
Programmierer anderer Sprachen sind manchmal vom Verhalten der Bash Schleifen überrascht. unterteilt wird. Das ist nur teilweise richtig. Am in-
Wenn Syntax und Funktionsweise erstmal durchschaut sind, lässt sich fast alles auch mit den ternen Ablauf der for-Schleife ändert sich nichts.
Bash Schleifen erledigen. Allerdings gibt es hier auch einige Eigenheiten zu beachten. Allerdings kann festgelegt werden wie eine Liste
bei der for-Schleife ankommt. Dazu dient die
In Programmiersprachen wie C#, Java oder auch oder Variable IFS (Internal Field Separator). Sie defi-
C und C++ ist die for-Schleife eine so genannte niert das Verhalten beim Zerlegen von Zeichen-
»Zählschleife«, die oftmals dazu benutzt wird, um for i in {1..5}; do ketten. Standardmäßig wird eine Zeichenkette an
auf ein Feld, Container oder Array mittels Index echo -n "$i" Whitespaces, d. h. Leerzeichen, Tabulator und
zuzugreifen. Die normale for-Schleife der Bash Zeilenumbruch aufgeteilt. Folgende for-Schleife
verhält sich allerdings völlig anders. Sie entspricht done funktioniert noch nicht korrekt:
viel eher dem »foreach/forEach« aus anderen Die Variante mit »seq« läuft auch in anderen
Sprachen und dient dazu eine Aufzählung oder Shells. Die Syntax mit geschweiften Klammern ist for i in $PATH; do
Sequenz zu durchlaufen. nur in der Bash und in Zsh verfügbar. Aus Sicht
echo $i
der for-Schleife besteht zwischen allen drei Bei-
for i in 1 2 3 4 5; do spielen kein Unterschied. Zur Laufzeit werden done
beide Schreibweisen in die schon bekannte Liste:
echo -n "$i"
1 2 3 4 5 umgesetzt. Erst danach arbeitet die for- In der Variable »$PATH« befinden sich alle Ver-
done Schleife die Aufzählung ab. Hier dient offensicht- zeichnisse, die die Bash nach ausführbaren Pro-
lich das Leerzeichen als Trenner zwischen den grammen, die ohne kompletten Pfad aufgerufen
Erzeugt auf der Konsole die Zeile: 1 2 3 4 5. Wie einzelnen Elementen. Wenn nun statt einer werden können, durchsucht. Im Unterschied zu
man sieht wird hier eine einfache Aufzählung simplen Zahlenfolge eine Aufzählung von Ver- den vorherigen Beispielen ist der Inhalt von
durchlaufen, die auch mit ein wenig mehr Aufwand zeichnissen durchlaufen wird, funktioniert das »PATH« allerdings per Doppelpunkt logisch von-
von Hand programmiert werden könnte. auch ohne Probleme. einander getrennt. Also muss der IFS zuerst auf
for i in $(find / -maxdepth 1 -type d); → eben jenen Doppelpunkt gesetzt werden, um den
Mit spezieller Bash-Syntax oder einem Programm Doppelpunkt als Trennzeichen zu definieren.
do
kann die Liste automatisch generiert werden.
echo -n "$i"
ALT_IFS=$IFS
for i in $(seq 1 5); do
done
IFS=":"
echo -n "$i"
Allerdings gibt »find« die Ergebnisse zeilenweise,
statt mit Leerzeichen getrennt, aus. Und trotzdem for i in $PATH; do
done
Yalm - Magazin 33
echo $i Nun erscheint die Ausgabe einfach mit Leer- Dass 1+1 gleich 2 ist kann die Bash errechnen,
zeichen anstelle der Doppelpunkte. und auch der Vergleich zweier Zahlen stellt kein
done
Problem dar. Das sind die Grundbausteine der
IFS=$ALT_IFS Natürlich sollte man nach getaner Arbeit den IFS »C-ähnlichen« for-Schleife der Bash.
wieder auf den ursprünglichen Wert zurücksetzen,
Nun wird die Liste richtig durchlaufen. Um deutlich da es sonst später zu unerwarteten Ergebnissen Der Befehl
zu machen, dass der IFS nichts mit der Funktions- kommen kann. Das (Zurück-)Setzen des IFS wird
weise der Schleife zu tun hat, kann einfach der zur besseren Übersicht in folgenden Beispielen for((i=0; i < 10; i++)); do
Inhalt der Variable »Path« von Hand per Copy & weggelassen.
echo $i
Paste in eine for-Schleife eingefügt werden.
Die normale Bash for-Schleife läuft genau so oft done
ALT_IFS=$IFS wie Elemente vorhanden sind. Nicht mehr und
nicht weniger, außer sie wird vorzeitig abgebro- wird von inklusive Null bis inklusive Neun zählen.
IFS=":"
chen. Dazu stehen in der Bash zwei Schlüssel- Zuerst wird die Variable »i« mit Null initialisiert und
for i in /usr/local/sbin:/usr/local/bin:→ wörter zur Verfügung: »break« und »continue«. im Anschluss geprüft, ob die Bedingung im zwei-
/usr/sbin:/usr/bin:/sbin:/bin; do Beide haben ähnliche Anwendungszwecke: Wäh- ten Block zutrifft. Danach wird die Schleife einmal
echo $i rend »break« die Schleife komplett beendet und – durchlaufen und der Inhalt von »i« um 1 erhöht.
sofern vorhanden – mit dem darauf folgenden Dieser Vorgang wiederholt sich, bis die Bedingung
done Code fortgefahren wird, unterbricht »continue« nur nicht mehr erfüllt ist. Hier wird keine feste Liste
IFS=$ALT_IFS den aktuellen Durchlauf und beginnt mit dem oder Sequenz durchlaufen. Durch eine Manipulati-
nächsten. Als zweite Variante unterstützt die Bash on von »i« während des Schleifendurchlaufs kann
Jetzt wird wieder eine einzelne lange und zusam- auch noch die klassische for-Schleife, wie sie aus die Anzahl der Durchläufe verändert werden. Aller-
menhängende Zeichenkette ausgeben. Für die for- anderen Programmiersprachen bekannt ist. Die dings muss hier besonders darauf geachtet
Schleife besteht hier die Liste nämlich aus nur ei- Syntax ist zunächst gewöhnungsbedürftig. Mit werden, dass die Abbruchbedingung irgendwann
nem zusammenhängenden Element. Wie vorher doppelten runden Klammern ist die Bash in der erfüllt sein sollte. Andernfalls entsteht eine »End-
erwähnt, ändert der IFS nur die Art und Weise, wie Lage, sogenannte »Arithmetic expressions« zu losschleife«. In manchen Fällen ist dies vielleicht
solche Zeichenketten beim Substituieren auf- verarbeiten. Sie kann so rechnen und Ausdrücke
gewünscht, aber im Normalfall soll die Schleife von
getrennt werden. Schön zu sehen an: auswerten.
sich aus in endlicher Zeit terminieren.

ALT_IFS=$IFS echo $((1+1))


Für gewollte Endlosschleifen oder eine unbe-
IFS=":" if((1==1)); then stimmte Anzahl an Wiederholungen bietet sich die
while-Schleife an. Die Bash-while-Schleife ent-
echo $PATH echo WAHR spricht im Gegensatz zur for-Schleife fast eins zu
IFS=$ALT_IFS eins ihren Verwandten aus anderen Programmier-
fi
Yalm - Magazin 34
sprachen. Sie besteht immer aus einer Bedingung Gibt alle Dateien und Verzeichnisse im Stamm- Die while-Schleife eignet sich auch hervorragend
und Kommandos, die abgearbeitet werden, wenn verzeichnis aus. Mit »Read« kann auch mit zwei für eine Benutzerführung in Shellscripts.
die Bedingung zutrifft. Die wohl einfachste while- Variablen in einem Durchlauf gearbeitet werden.
Schleife und zugleich Endlosschleife ist wohl Folgender Befehl gibt alle Benutzer mit Heimatver- while test "$REPLY" != "QUIT"; do
Folgende: zeichnis an:
echo running ; read ;
while true; do cut -d: --output-delimiter=" " -f"1 6" →
done
echo 1 /etc/passwd | while read a b; do echo →
"User:$a Home:$b"; done An dieser Stelle wäre natürlich eine Auswahl an
done
Optionen angebracht, die dem Benutzer angezeigt
Bevor »Read« und die while-Schleife beginnen
Das Programm »true« liefert immer einen Rück- wird. In diesem Beispiel beendet die Eingabe von
können, müssen die wichtigen Einträge mit »cut«
gabewert von Null. Und ist somit wahr. An dieser »QUIT« das Programm.
aus der Datei geholt werden. »cut« verfügt über
Stelle könnten auch »Arithmetic expressions« ste-
eine eigene Option für das Trennzeichen und Wie viele andere Programmiersprachen unterstützt
hen. Diese liefern ebenfalls einen Rückgabewert,
beachtet IFS nicht. Das Programm splittet die Zei- auch die Bash eindimensionale Arrays. Diese wer-
mit welchem sie das Ergebnis signalisieren. Es ist
chenketten in der Datei am Doppelpunkt auf und den zwar selten gebraucht, können sich aber in
vollkommen egal, was als Bedingung einer while-
Schleife genutzt wird, die Hauptsache ist, der Aus- gibt von den so entstandenen Elementen das erste manch einer Situation als durchaus praktisch
druck liefert den gewünschten Rückgabewert. und sechste aus. Dass die Elemente bei der Aus- erweisen:
Hier gelten die gleichen Bedingungen wie bei if- gabe nicht durch einen Doppelpunkt, sondern
durch ein Leerzeichen getrennt werden, stellt array[0]="hallo"
Abfragen.
»--output-delimiter« sicher. Nun wird das Ergebnis array[1]="du"
Sehr häufig werden while-Schleifen zum Einlesen von »cut« Zeile für Zeile eingelesen und in die
Variablen »a« und »b« geschrieben. Es stehen im array[2]="da"
von Dateien oder Benutzereingaben verwendet. In
Kombination mit dem eingebauten »Read«-Kom- gleichen Durchlauf beide Informationen zur Verfü-
Oder die Kurzschreibweise:
mando der Bash ergeben sich viele praktische gung. Um an diese Ausgabe zu gelangen, ist
Einsatzszenarien. natürlich nicht unbedingt ein »cut« mit anschlie- array(hallo du da);
ßender while-Schleife nötig, dient hier aber als
»Read« erlaubt das Angeben einer Variablen, in Beispiel für ein »Read« mit zwei Variablen. Das sieht recht vertraut aus, allerdings ist das Ab-
die das eingelesene Element gespeichert wird. rufen der gespeicherten Werte schon etwas
Automatisch befindet sich der zuletzt eingelesene Schön zu erkennen ist auch, dass so Dateien ein- komplizierter.
Wert in »$REPLY«. Ähnlich einer for-Schleife kön- gelesen werden können, ohne vorher die Länge
nen so alle Elemente einer Ausgabe einfach echo $array
festzustellen. »Read« liest und liefert solange den
durchlaufen werden. Rückgabewert Null bis das »EOF« (End of File)
Gibt immer nur das erste Element aus. Um per
erreicht wurde. Index auf die anderen Einträge zuzugreifen, müs-
ls / | while read; do echo $REPLY; done
Yalm - Magazin 35
sen geschweifte Klammern verwendet werden. werden und wird in folgendem Beispiel rein mit Dadurch läuft das Programm tatsächlich aus-
Zuerst wird mit einem $ eine Substitution eingelei- Bordmitteln der Bash umgesetzt. schließlich nur mit Bashfunktionen. Man sollte aber
tet und dann gefolgt von geschweiften Klammer, beachten, dass mit diesem Verfahren nur Dateien
Name des Arrays und Index der Wert ausgegeben. IFS=":" eingelesen werden können. Es ist mit »Named
cat /etc/group | while read -a array; do Pipes« zwar auch möglich, die Ausgabe von nor-
echo ${array[1]}
malen Prozessen auf diese Weise umzuleiten und
echo -n "GROUP: ${array[0]} "
der while-Schleife zu übergeben, aber das würde
Arrays sind einfach in Listen umzuwandeln und
echo "ID: ${array[2]}" hier zu weit führen. Deshalb hier nur ein kleines
können dann von einer for-Schleife verarbeitet
done Beispiel.
werden. Hierzu kann in das Indexfeld ein Stern-
chen oder »@« eingefügt werden. Die Länge eines
In der while-Schleife liest »read« die aktuelle Zeile while read; do
Arrays kann folgendermaßen herausgefunden in ein Array mit dem kreativen Namen »array« ein.
werden: Im Schleifenkörper wird nun auf die passenden echo $REPLY
Indizes zugegriffen und diese durch »echo« aus-
echo ${#array[*]} done < <(echo 1)
gegeben. Es wäre auch eine Datei denkbar, die
Die Syntax ist alles andere als selbsterklärend und eine undefinierte Anzahl an Elementen pro Zeile Dieses etwas merkwürdige Konstrukt erzeugt eine
es ist oft anstrengend, in der Bash mit Arrays zu enthält, da das Array ohne Probleme mit einer temporäre »Datei«; einen einen so genannten fifo-
arbeiten. Sie können aber gut in Kombination mit zweiten Schleife durchlaufen werden kann. Aller- Speicher oder auch Queue genannt. Der »echo«-
den beiden hier vorgestellten Schleifen eingesetzt dings muss in diesem Fall vorher durch eine Pro- Befehl schreibt die »1« in diesen Speicher, und
werden. Wenn mit »Read« und der while-Schleife grammlogik analysiert werden, welche Elemente
durch die Eingabeumleitung der Bash wird die
einzelne Teile aus Dateien in Variablen eingelesen letztendlich in die Ausgabe geschrieben werden
Datei der while-Schleife zugeführt. Eine gelesene
werden sollen, steht oft nicht fest, wie viele sollen.
Zeile verschwindet sofort aus der temporären
Elemente sich daraus ergeben. Hier kann ein Datei und kann danach nicht wiederhergestellt
Bashkennern wird nun natürlich das »cat« bitter
Array nützlich sein, um den Umweg über eine werden.
aufstoßen, das, anders als oben angekündigt, kein
temporäre Datei zu umgehen.
Bestandteil der Bash ist. Es geht allerdings auch
Maximilian Schnur
Man stelle sich eine Datei mit einer wechselnden ohne. Es kann anstelle des »cat« auch die Einga-
be umgeleitet werden. max@yalmagazine.org
Anzahl an Zeilen vor, in der jede Zeile wiederum
einzelne Gruppen mit Informationen enthält, z. B.
IFS=":"
die Datei »/etc/group«. Diese Datei enthält eine
zwar ohne Probleme feststellbare, aber wechseln- while read -a array; do
de Anzahl von Zeilen. Die Elemente sind durch echo -n "GROUP: ${array[0]} "
Doppelpunkte getrennt. Nun sollen alle Gruppen
echo "ID: ${array[2]}"
mit der dazugehörigen ID ausgegeben werden.
Dieses Problem kann ohne Hilfsprogramme gelöst done < /etc/group
Yalm - Bunte Seite 36
vorkompilierte Version; Nutzer anderer Systeme
Bunte Seite müssen das Plugin selbst kompilieren.

Google anpassen Nach langer Recherche sind wir auf die Ursache
Die Suchmaschine Google ist für ihre Einfachheit des Problems gestoßen: Durch die eingeschalte-
bekannt, der Eine oder Andere behauptet sogar, ten Energiesparmodi der Grafikkarte taktet sich die
dass sie gerade wegen dieser Einfachheit so Karte automatisch rauf oder runter, was Strom
berühmt geworden ist. sparen soll. Dabei erscheint jedes Mal ein stören-
der Blitz.
Pidgin goes Facebook...
Beseitigt werden kann dies, indem man die Karte
immer mit höchster Taktfrequenz laufen lässt. 101 Linux Hacks
Folgender Befehl setzt die Optionen für das Das freie E-Book 101 Linux Hacks von Ramesh
Kernelmodul: Natarajan [5] enthält eine Liste von Tipps für die
Linux-Kommandozeile und ist damit gut als Nach-
sudo echo "options nvidia → schlagewerk geeignet. Leider muss man erst den
Nvreg_RegistryDwords=\"PerfLevelSrc→ RSS-Feed oder den Newsletter abonnieren, bevor
=0x2222\"" >> /etc/modprobe.conf man ein Passwort bekommt, welches man zum
Auch Google lässt sich anpassen... Herunterladen braucht.
Einziger Nachteil dabei ist ein höherer Stromver-
Allerdings lässt sich auch Google anpassen, brauch, woraus eine niedriegere Akkulaufzeit bei Obwohl das E-Book in Englisch verfasst wurde,
zumindest über User-Javascripts wie Greasemon- Notebooks resultiert. dürften die wenigsten damit Probleme haben; im-
key [1] oder Browser-Addons wie CustomizeGoo- merhin besteht der Großteil aus Befehlen und kur-
gle [2] So lassen sich Werbung und Spam entfer- Vielen Dank geht dabei an drago01, der uns im zen Erklärungen.
nen, das Aussehen verbessern und IRC [3] den entscheidenden Hinweis gab.
Vorschaufunktionen oder Links zu anderen Such-
Unliebsame Domains sperren
maschinen anzeigen. Facebook unter Pidgin
Mit der »/etc/hosts«-Datei ist es sehr einfach mög-
Das soziale Netzwerk Facebook bietet auch die lich, unliebsame Hosts (Domains) zu blockieren,
Flackern des Bildschirms bei Compositingef-
Möglichkeit des Chattens. Das lässt sich nun unter wie zum Beispiel »clients1.google.com«, welcher
fekten auf Laptops mit Nvidia Grafikkarten
Pidgin und anderen libpurple-Messengern wie für die seit kurzem in Google standardmäßig akti-
Manche Laptops mit Nvidia Grafikkarten fangen finch realisieren, indem man das entsprechende
bei eingeschaltenen Compositing-Effekten an, ab vierte Autovervollständigung zuständig ist. Die
Plugin [4] installiert. Für Debian-basierende »hosts«-Datei fungiert ähnlich wie ein DNS-Server,
und zu zu flackern: Es erscheint ein kurzer Blitz,
Systeme und Windows gibt es eine bereits es lassen sich darin Umleitungen für verschiedene
als ob man eine neue Auflösung setzt.
Yalm - Bunte Seite 37
Funktionen des Portals inklusive des Forums und
des Wikis angesprochen werden können, z. B. die
Suche. Etliche nützliche Links – u. a. auch die
Homepages von Yalm und freiesMagazin – sind
ebenfalls integriert.

Mario Fuest
keba@yalmagazine.org

Informationen
[1] Firefox-Addon Greasemonkey:
https://addons.mozilla.org/de/firefox/addon/748
[2] Firefox-Addon CustomizeGoogle:
https://addons.mozilla.org/de/firefox/addon/743
[3] Nvidia Channel auf Freenode:
irc.freenode.net, #nvidia
[4] Facebook-Plugin für Pidgin:
http://code.google.com/p/pidgin-facebookchat/
[5] Linux Hack 101:
http://www.thegeekstuff.com/2009/02/linux-101-
hacks-download-free-ebook/
[6] Firefox-Addon Ubuntuusers Menu:
Ubuntuusers im Firefox-Menu... https://addons.mozilla.org/de/firefox/addon/8388
[7] Deutsches Ubuntu Portal: www.ubuntuusers.de
Domainnamen definieren. Fügen wir am Ende der zum Beispiel Google Analytics, Adsense,
Datei folgende Zeile an: eTracker.com und weitere Datenkraken aus-
sperren.
127.0.0.1 clients1.google.com
Ubuntuusers Menu
...so wird jeder Aufruf der Domain »clients1.
Ein weiteres Firefox-Addon [6] erleichtert Nutzern
google.com« an »127.0.0.1« umgeleitet (welches
den Umgang mit dem Ubuntu-Portal Ubuntuusers
unsere lokale Maschine ist) – die Autovervollstän-
[7]: Inspiriert von der italienischen Community,
digung schlägt fehl und Google bekommt nicht
bietet das Addon ein Menü, über das fast alle
noch mehr Daten von uns. Genauso lassen sich
Yalm - Schlussbemerkungen 38
V.i.S.d.P.: Tobias Kündig
Schlussbemerkungen Sagenblickweg 6
CH-6030 Ebikon
Yalm ist ein privates, nichtkommerzielles Projekt. Die An dieser Ausgabe haben mitgewirkt: tobias@yalmagazine.org
Zeitschrift erscheint am dritten Sonntag eines Monats. Bernhard Posselt (Admin, Autor, Korrektur) Bildquellen
Rückmeldungen zu unserem Magazin – seien es Frank Brungräber (Layout, Korrektur) Die Inhaber der Bildrechte werden in den Bildunter-
Artikelwünsche, Verbesserungsvorschläge, Lob Jan Guth (Autor, Korrektur) schriften oder in den Artikelinformationen genannt.
oder auch Kritik – sind herzlich willkommen. Jonas Haag (Autor) Für den Fall, dass die Verwendung eines Bildes
Schreibt einfach an redaktion@yalmagazine.org nicht zulässig oder gewünscht ist, bitten wir um eine
Jürgen Weidner (Autor)
oder postet in unserem Forum auf http://www. kurze Information; wir werden es dann umgehend
yalmagazine.org/forum. Mario Fuest (Autor, Korrektur, Layout) entfernen. Quellen der auf der Titelseite verwende-
Maximilian Schnur (Autor, Korrektor) ten Grafiken folgen:
Wir suchen immer engagierte und zuverlässige Hel-
Ralf Hersel (Autor, Korrektur)
fer, die bei unserem Magazin mitarbeiten wollen. Das GIMP-Logo wurde der Open Clip Art Library
Nicht nur Layouter mit guten OpenOffice-Kenntnis- Peter Majmesku (Autor, Korrektur)
entnommen und ist gemeinfrei.
sen und natürlich Autoren sind gerne gesehen, son- Stefan Zaun (Autor, Korrektur, Layout)
dern auch Programmierer und Entwickler sind herz- Thomas Rudolph (Autor, Korrektor) Das Banshee-Icon wurde von Aaron Bockover
lich eingeladen, bei Yalm mitzumachen. Schreibt erstellt und unterliegt der MIT Licence.
uns bei Interesse bitte eine E-Mail an redaktion@ Lizenz
Yalm wird unter der Cre- Die Verwendung des Logos von Puppy Linux ist
yalmagazine.org oder seht euch für weitere Details
ative Commons Namens- laut der offiziellen FAQ bei gleichzeitigem Verweis
die Rubrik »Mitmachen« auf unserer Homepage an.
nennung-Weitergabe un- auf http:// puppylinux.com/, wie soeben gesche-
Layout ter gleichen Bedingungen hen, gestattet.
Die PDF-Ausgabe von Yalm wird mit OpenOffice 3.0 Deutschland Lizenz veröffentlicht.
3.0.1 erstellt; als Redaktionssystem und für die
Kurz: Yalm-Ausgaben oder einzelne Artikel dürfen
HTML-Ausgabe verwenden wir Dokuwiki. Die jeweils
kopiert, verbreitet und öffentlich zugänglich ge-
gültige Dokumentvorlage kann von der Yalm-Home-
macht werden; die Inhalte dürfen abgewandelt und
page (Rubrik »Extras«) heruntergeladen werden.
bearbeitet werden. Voraussetzung hierfür ist, dass
Weiterführende Informationen sowohl der Autor als auch Yalm genannt werden
Layoutbedingte Zeilenumbrüche werden mit einem und die Weitergabe unter den gleichen Lizenz-
Pfeil → dargestellt, wobei eventuell notwendige bedingungen erfolgt.
Leerzeichen vor diesem Pfeil stehen. $ wird als Yalm 05/2009 erscheint
Prompt für Befehle, die als normaler Nutzer und # Redaktion und Homepage
am 17. Mai 2009
für solche, die als Root ausgeführt werden, Kontakt: redaktion@yalmagazine.org
verwendet. Yalm-Homepage: http://www.yalmagazine.org Yalmagazine.org wird von NETzor.de gehostet.

Вам также может понравиться