26.02.2014 Aufrufe

LinuxUser Python-CODE, Embedded-Einstieg, Crosscompiling (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

www.linux-user.de<br />

NO-MEDIA-EDITION<br />

NUR 5,50 <br />

<strong>CODE</strong> &<br />

TOOLS<br />

Blender: Mit Materialien arbeiten S. 56<br />

Satelliten verfolgen mit Gpredict S. 64<br />

Readform wertet Fragebogen aus S. 92<br />

EUR 5,50<br />

Deutschland<br />

Österreich EUR 6,30<br />

Schweiz sfr 11,00<br />

Benelux EUR 6,50<br />

Spanien EUR 7,45<br />

Italien EUR 7,45<br />

02.2011<br />

02.2011<br />

BLENDER • BEETS • DING • LSHW • SANDY BRIDGE • XFE • PROGRAMMIEREN<br />

PYTHON-<strong>CODE</strong>, EMBEDDED-EINSTIEG, CROSSCOMPILING<br />

PROGRAMMIEREN<br />

<strong>Einstieg</strong> in <strong>Embedded</strong>-Entwicklung S. 36<br />

Mikrocontroller-Programmierung leicht gemacht<br />

mit dem Arduino-Komplettpaket von Franzis<br />

<strong>Crosscompiling</strong> öffnet fremde Welten S. 38<br />

So bringen Sie Ihre Programme im Nu auch auf<br />

andere Hardware- und Betriebssystem-Plattformen<br />

Professionelle <strong>Python</strong>-Programme S. 24, 28<br />

Komfortabel codieren und debuggen in der Entwicklungsumgebung Eric,<br />

die besten Tipps und Kniffe für fehlerfreien und robusten <strong>Python</strong>-Code<br />

Sandy Bridge: Intels neue CPUs im Test S. 86<br />

Die ersten Prozessoren und Motherboards der brandneuen Architektur<br />

unter Linux: Mehr Leistung, niedriger Verbrauch, schon wieder neue Sockel<br />

XFE S. 48<br />

Dateien verwalten<br />

ohne Schnickschnack<br />

Beets S. 52<br />

Endlich Ordnung in<br />

der MP3-Sammlung<br />

4 195111 005504 02<br />

Der Hardware S. 76<br />

aufs Bit geschaut<br />

Das clevere Lshw kennt mehr<br />

Details als viele Datenblätter<br />

int i=2;<br />

int j=3;<br />

int k;<br />

Komfortabel S. 42<br />

texten mit Ding<br />

Wörterbuch, Spellchecker,<br />

Thesaurus und Übersetzer<br />

Huawei E5: Überall ins Netz<br />

UMTS-WLAN-Router für bis zu 5 Clients: Mobiler<br />

Zugang auf Knopfdruck, Fileserver mit dabei S. 80


„Ich habe jederzeit Zugriff auf alle<br />

meine Firmendaten und doppelte<br />

Datensicherheit mit der NAS-Box!“<br />

STRATO HiDrive<br />

Der geniale Online-Speicher!<br />

HiDrive ist Ihre persönliche Festplatte im Internet mit bis zu<br />

5.000 GB – optimal für alle, die viel Speicherplatz benötigen!<br />

Damit haben Sie weltweit Ihre gesamten Firmendaten parat –<br />

unterwegs per Handy oder Notebook, im Büro und Zuhause.<br />

Verwalten und bearbeiten Sie Dateien online und vergeben<br />

Sie Zugriffsrechte an Ihre Mitarbeiter und Partner. Höchste<br />

Sicherheit dank TÜV-geprüfter Rechenzentren garantiert.<br />

AKTION bis 31.01.11: HiDrive Pro 1.000 bestellen und die<br />

Synology-Box günstig dazu mieten. Lokaler Zwischenspeicher<br />

für effizientes Arbeiten mit automatischer Sicherheitskopie.<br />

Gemeinsamer Zugriff<br />

User-Verwaltung inkl.<br />

Admin-Accounts für<br />

bis zu 120 Konten<br />

Höchste Sicherheit<br />

Verschlüsselung<br />

Ihrer Firmendaten<br />

(SSH, SCP, SFTP)<br />

Große Datenmengen<br />

Einfacher Transfer und<br />

Austausch von Dateien<br />

(alle Formate)<br />

Jetzt bestellen unter:<br />

Die ideale Ergänzung!<br />

Schneller Zugang<br />

Wie bei einer lokalen<br />

Festplatte über (S)FTP,<br />

rsync, SMB/CIFS, u.v.m.<br />

Noch Fragen? Anruf genügt: 0 18 05 - 055 055<br />

(0,14 €/Min. aus dem dt. Festnetz, Mobilfunk max. 0,42 €/Min.)<br />

HiDrive Pro 1.000<br />

mit 1.000 GB<br />

Online-Speicher!<br />

strato.de/hidrive<br />

nur<br />

39, 90 €<br />

mtl.<br />

*<br />

+<br />

NAS-Box von Synology<br />

mit 1 TB Speicher! *<br />

Daten-Backups<br />

Wiederherstellung von<br />

Dokumentenversionen<br />

mit BackupControl<br />

*Preise inkl. MwSt. Mindestvertragslaufzeit 24 Monate. Aktion: Bis 31.01.2011 HiDrive Pro 1.000 bestellen und die Synology DiskStation (DS110j) für nur 4,49 €/mtl. dazu mieten. Versandkosten 6,90 €.


EDITORIAL<br />

Toter Gaul?<br />

Sehr geehrte Leserinnen und Leser,<br />

Mit der Ankündigung der für<br />

Ubuntu in der nächsten Zukunft<br />

geplanten Neuerungen ließ Mark<br />

Shuttleworth Ende letzten Jahres<br />

zwei wahre Bomben platzen:<br />

Zum einen installiert Ubuntu ab<br />

Version 11.04 „Natty Narwhal“<br />

statt wie bisher Gnome eine<br />

eige ne Benutzeroberfläche namens<br />

Unity, die es bislang nur als<br />

Netbook-Desktop zu sehen gab.<br />

Zum anderen will Shuttleworth<br />

so bald wie möglich den X-Server<br />

durch den alternativen Display-<br />

Server Wayland ersetzen (der allerdings<br />

momentan noch in den<br />

Kinderschuhen steckt).<br />

Sieht man genauer hin, dann<br />

zeigen beide Innovationen in ein<br />

und dieselbe Richtung: Weg vom<br />

Desktop, hin zu mobilen Geräten.<br />

So präsentiert sich Unity in Sachen<br />

Layout und Bedienung ganz<br />

für kleine Bildschirme und Touchscreens<br />

hin optimiert, sprich: für<br />

Netbooks, Tablets und eventuell<br />

irgendwann sogar Smartphones.<br />

Das modular strukturierte Wayland<br />

wiederum gibt sich wesentlich<br />

leichtgewichtiger als der monolithische<br />

X-Server, was insbesondere<br />

den Einsatz auf leistungsärmerer<br />

Hardware erleichtert. Für<br />

den klassischen Desktop andererseits<br />

verheißen jedoch weder<br />

Unity noch Wayland Gutes.<br />

Die neue Oberfläche setzt zwingend<br />

3D-Beschleunigung voraus,<br />

nagelt eine nicht konfigurierbare<br />

Starterleiste mit monströs großen<br />

Icons am linken Bildschirmrand<br />

fest, glänzt nicht eben durch Stabilität<br />

und erhält in Sachen Usability<br />

von Rezensenten durch die<br />

Bank nur schlechte Noten. Zudem<br />

haben viele Anwendungen<br />

Schwierigkeiten in Mac-Manier<br />

mit der aus dem Fenster an den<br />

oberen Bildschirmrand verlegten<br />

Menüleiste. Mit der Ablösung des<br />

X-Servers durch Wayland dürften<br />

sich solche Probleme potenzieren:<br />

Da Letzteres ein völlig anderes<br />

Darstellungsparadigma verfolgt,<br />

müssen alle Anwendungen dafür<br />

einzeln angepasst werden. Um X-<br />

Anwendungen überhaupt darstellen<br />

zu können, setzt Wayland<br />

eine zusätzliche Kompatibilitätsschicht<br />

voraus. Die Netzwerktransparenz<br />

des X Window Systems<br />

geht komplett verloren,<br />

man kann sich also keine Anwendungsfenster<br />

von entfernten<br />

Rechnern mehr auf den eigenen<br />

Bildschirm holen.<br />

Es macht den Eindruck, als solle<br />

aus Ubuntu salopp gesprochen<br />

das „Android für Tablets“ werden:<br />

Die angekündigten Neuerungen<br />

machen nur auf den trendigen<br />

Mobilgeräten Sinn – von<br />

denen verspricht Mark Shuttleworth<br />

sich ganz offenbar eine Rekapitalisierung<br />

seiner Investitionen<br />

in Ubuntu. Das sei ihm von<br />

Herzen gegönnt, falls es denn<br />

funktioniert. Der unvermeidbare<br />

Umkehrschluss lautet aber, dass<br />

der Ubuntu-Mäzen den Linux-<br />

Desktop als toten Gaul abgeschrieben<br />

hat. Und damit liegt er<br />

meiner bescheidenen Meinung<br />

nach völlig falsch.<br />

Per Fingertapsen auf dem Bildschirm<br />

lässt sich nicht kreativ<br />

mit einem PC arbeiten, sondern<br />

nur passiv Vorgefertigtes konsumieren.<br />

Mit zugegeben komplexen,<br />

aber auch flexiblen Lösungen<br />

wie dem X-Server geht viel<br />

von dem Charme verloren, der<br />

Unix-basierte Systeme von der<br />

Betriebssystemkonkurrenz unterscheidet.<br />

Eben diese Kreativität<br />

und Flexibilität sind es aber,<br />

die Linux für die meisten Anwender<br />

überhaupt erst interessant<br />

machen. Wenn sich meine Interessen<br />

darauf beschränken, Apps<br />

herunterzuladen und mit Hühnern<br />

nach Schweinen zu schießen,<br />

warum sollte ich dann ausgerechnet<br />

Ubuntu gegenüber<br />

Android, iOS oder Windows<br />

Phone 7 den Vorzug einräumen?<br />

Behält Ubuntu die von Mark<br />

Shuttleworth favorisierte Linie<br />

bei, dürfte sich so mancher Desktop-Anwender<br />

schon bald dazu<br />

gezwungen sehen, sich nach einer<br />

Distributions-Alternative<br />

umzusehen. Mindestens einen<br />

User hat Ubuntu bereits jetzt<br />

verloren: mich.<br />

Herzliche Grüße,<br />

Jörg Luther<br />

Chefredakteur<br />

www.linux-user.de 02 | 11<br />

3


02 | 11<br />

92<br />

Das clevere Readform<br />

hilft beim Erstellen, Auswerten<br />

und Archivieren<br />

von klassischen Papierfragebögen.<br />

80<br />

In Sekundenschnelle verschafft der<br />

WLAN-UMTS-Hotspot Huawei E5<br />

bis zu fünf mobilen Clients Zugang<br />

ins Internet und glänzt dabei mit solider Verarbeitung,<br />

einem einfachen Bedienkonzept, durchdachter<br />

Konfiguration und perfekt auf den Einsatzbereich<br />

abgestimmten Funktionen.<br />

inzwischen im interstellaren<br />

Raum angelangte Sonde Voyager 1<br />

64Die<br />

kann Gpredict zwar nicht mehr<br />

verfolgen, dafür aber alle Satelliten in Umlaufbahnen<br />

um die Erde. Bei Bedarf richtet es die<br />

Antenne Ihrer Funkanlage gleich passend aus.<br />

HEFT-DVD<br />

SCHWERPUNKT<br />

PRAXIS<br />

Mandriva 2010.2 . . . . . . . . . 6<br />

Neu auf den DVDs . . . . . . . 10<br />

PinguyOS 10.10 . . . . . . . . . 12<br />

AKTUELLES<br />

Aktuelle Distributionen . . 16<br />

Aptosid 2010-03 mit verbessertem<br />

Hardware-Support, Linux<br />

Mint Debian Edition 201012<br />

jetzt auch in 64 Bit, XBMC 10.0<br />

„Dharma“ als Live-CD<br />

Neues rund um Linux . . . . 18<br />

Cirkuit zeichnet Schaltpläne,<br />

Knights 2.2.0 für KDE SC 4,<br />

LC-Linux-Kalender 2011,<br />

Virtualbox 4 ist erschienen, X.org<br />

7.6 tauscht HAL und Xlib aus<br />

Hardware im Kurztest . . . 20<br />

AMD Phenom II X4 970 Black<br />

Edition; Raidon Geartank<br />

GT1640-1S-SB3; Seagate Momentus<br />

XT 500 GB; Verbatim Quad-<br />

Interface External Hard Drive<br />

Software im Kurztest . . . . 22<br />

Image-Mounter Mount_dd 1.3,<br />

Netzwerk-Tacho Speedometer,<br />

Bild-Datenbank VVVP 0.95,<br />

Desktop-Wiki Zim 0.49<br />

Eric4/Eric5 . . . . . . . . . . . . . 24<br />

Die <strong>Python</strong>-IDE Eric4 vereinfacht<br />

das Schreiben von Skripten und<br />

komplexen Programmen durch<br />

zahlreiche Komfortfunktionen.<br />

Robuster <strong>Python</strong>-Code . . . 28<br />

<strong>Python</strong> ist einfach – aber nicht<br />

so einfach, dass man es allein<br />

durch das Lesen von Code lernen<br />

könnte. Mit etwas Hintergrundwissen<br />

vermeiden Sie typische<br />

Fehler in <strong>Python</strong>-Code.<br />

Arduino-Paket . . . . . . . . . . 36<br />

Das Arduino-Lernpaket aus dem<br />

Franzis-Verlag bündelt Board,<br />

Microcontroller, Bauteile, Handbuch<br />

und Software zu einem praktischen<br />

Einsteigerpaket für die<br />

<strong>Embedded</strong>-Programmierung.<br />

Cross-Compiling . . . . . . . . 38<br />

Der große Vorteil freier Software<br />

ist die Zugänglichkeit<br />

des Quellcodes. Mithilfe eines<br />

Cross-Compilers bringen Sie viele<br />

Programme auch auf fremde<br />

Betriebssysteme oder andere<br />

Hardware-Plattformen.<br />

Ding . . . . . . . . . . . . . . . . . . . 42<br />

Ding kombiniert als leistungsstarkes<br />

Frontend die Wörterbuchsuche,<br />

einen Thesaurus und das<br />

Übersetzen vom Deutschen ins<br />

Englische und umgekehrt.<br />

XFE . . . . . . . . . . . . . . . . . . . 48<br />

Mit dem schlanken X File Explorer<br />

und den kleinen Helfern, die<br />

er im Gepäck hat, verwalten Sie<br />

Dateien effizient und ohne jeden<br />

Schnickschnack.<br />

Beets . . . . . . . . . . . . . . . . . 52<br />

Viele Musikliebhaber hören Songs<br />

am liebsten direkt aus der MP3-<br />

Sammlung. Dabei bringt Beets<br />

schnell Ordnung ins Chaos der<br />

Lieder und Alben.<br />

Blender-Workshop . . . . . . 56<br />

Im zweiten Teil unseres Blender-<br />

Workshops geht es um den<br />

Umgang mit Materialien: Der<br />

Dust Puppy erhält endlich Augen,<br />

Haare und eine Haut.<br />

Gpredict . . . . . . . . . . . . . . . 64<br />

Mit Gpredict verfolgen Sie die<br />

Flugbahnen von Satelliten und<br />

richten sogar die Antenne Ihrer<br />

Amateurfunkanlage passend aus.<br />

4 02 | 11<br />

www.linux-user.de


Heft-DVDs<br />

Auf den Heft-DVDs dieser Ausgabe befindet<br />

sich ausschließlich Anwendungssoftware.<br />

Die Datenträger enthalten keine jugendgefährdenden<br />

Inhalte.<br />

Schwerpunkt<br />

stellt eine leistungsfähige<br />

Umgebung für das Programmieren mit <strong>Python</strong> vor<br />

24Der<br />

und gibt Tipps für robusteren Code. Per Cross-Compiling übertragen Sie<br />

Ihre Programme in fremde Hardware- und Betriebssystem-Welten – etwa<br />

auf die offene <strong>Embedded</strong>-Plattform Arduino aus dem Franzis-Lernpaket.<br />

Auf der Heft-DVD:<br />

Die auf Security und<br />

Forensik spezialisierte<br />

Distro Backtrack 4R2<br />

gehört in den Werkzeugkasten<br />

jedes sicherheitsbewussten<br />

Linux-<br />

Anwenders – mehr<br />

dazu auf Seite 10.<br />

IM TEST<br />

Fotobuch-Designer . . . . . . 70<br />

Die Fotobuchsoftware von Cewe<br />

gilt als eine der wenigen brauchbaren<br />

Lösungen für Linux. Auch<br />

die neueste Version weiß hinsichtlich<br />

Funktionalität und Benutzerfreundlichkeit<br />

zu überzeugen.<br />

NETZ&SYSTEM<br />

Lshw . . . . . . . . . . . . . . . . . . 76<br />

Mit Lshw enthüllen Sie Details<br />

der PC-Hardware, die Sie in einigen<br />

Fällen noch nicht mal in den<br />

Datenblättern finden.<br />

turen sind zählebig.<br />

86CPU-Architek-<br />

Nach rund 10 Jahren<br />

stellt Intel mit Sandy Bridge erstmals<br />

wieder eine komplett neue<br />

Technologie vor. Wir prüfen, wie<br />

gut sie sich mit Linux verträgt.<br />

HARDWARE<br />

Huawei E5 . . . . . . . . . . . . . 80<br />

Der kombinierte UMTS-WLAN-<br />

Router E5 des chinesischen<br />

Anbieters Huawei ermöglicht<br />

den mobilen Zugang ins Internet<br />

innerhalb von Sekunden.<br />

Intel Sandy Bridge . . . . . . 86<br />

Intels neue Prozessorgeneration<br />

„Sandy Bridge“ liefert überzeugende<br />

Leistung zum erschwinglichen<br />

Preis und bietet dabei<br />

gleichzeitig Zukunftssicherheit.<br />

KNOW-HOW<br />

Readform/ReadGUI . . . . . 92<br />

Wo elektronische Mittel zum Erfas<br />

sen von Daten versagen, erlebt<br />

der Papierfragebogen ein Comeback.<br />

Readform hilft, ihn zu erstellen<br />

und die Ergebnisse später<br />

komfortabel digital zu erfassen.<br />

SERVICE<br />

Editorial . . . . . . . . . . . . . . . . 3<br />

IT-Profimarkt . . . . . . . . . . 98<br />

Impressum . . . . . . . . . . . . 105<br />

<strong>Vorschau</strong> 03/2011 . . . . . . 106<br />

Das installierbare Live-System<br />

PinguyOS 10.10.1 ergänzt den<br />

Umfang von Ubuntu „Maverick“<br />

um zahlreiche Codecs,<br />

Treiber, Java und Flash. Daneben<br />

glänzt der Multimedia-Allrounder<br />

mit einer<br />

optimierten GUI. Lesen Sie<br />

dazu den Artikel ab Seite 12.<br />

Mandriva 2010.2 hat es<br />

in sich: Das außer der<br />

Reihe veröffentlichte<br />

Release verbindet<br />

Benutzerfreundlichkeit<br />

und Sicherheit<br />

zu einem runden<br />

Desktop-System.<br />

Weitere Details<br />

dazu finden Sie im<br />

Artikel ab Seite 6.<br />

Mit<br />

XBMC 10.0<br />

erscheint nach<br />

einem Jahr Entwicklung nun<br />

eine neue Version des beliebten<br />

Media centers. Ein<br />

cleveres Plugin-Konzept<br />

sorgt dabei für leichte Erweiterbarkeit.<br />

Testen Sie es<br />

mit der installierbaren Live-<br />

CD selbst – mehr auf Seite 10.<br />

<strong>LinuxUser</strong> DVD-Edition<br />

Hinweis: Haben Sie die DVD-Edition dieser Ausgabe erworben,<br />

finden Sie auf Seite 10 weitere Informationen zu<br />

den Programmen auf den beiden Datenträgern. Haben Sie<br />

dagegen die güns tigere No-Media-Ausgabe erstanden,<br />

enthält dieses Heft keine Datenträger.<br />

www.linux-user.de<br />

12 | 10 5


HEFT-DVD<br />

Mandriva 2010.2<br />

Maintenance-Release Mandriva 2010.2<br />

Modellpflege<br />

Mandriva One 2010.2,<br />

Mandriva 2010.2<br />

Free Edition<br />

(32+64 Bit), bootfähig<br />

auf den Heft-DVDs<br />

README<br />

Mandriva gilt seit jeher<br />

als ideale Einsteigerdistribution.<br />

Die aktuelle<br />

Release 2010.2 glänzt<br />

wieder durch sehr einfach<br />

zu bedienende<br />

Innovationen bei Desktop<br />

und System.<br />

Mandriva ist im Linux-Umfeld seit mehr als einem<br />

Jahrzehnt ein fester Begriff. Jetzt steht die bereits<br />

dritte Version des Jahres 2010 mit über 5000 aktualisierten<br />

Paketen zum Download bereit. Erik Bärwaldt<br />

Mandriva Linux [1], eine der ältesten<br />

und bedienerfreundlichsten<br />

Distributionen überhaupt, geriet<br />

im vergangenen Jahr in heftige<br />

Turbulenzen, die in Teilen der<br />

Community die Frage nach dem<br />

Fortbestand des französisch-brasilianischen<br />

Betriebssystems aufkommen<br />

ließen [2]. Kurz vor<br />

Weihnachten hat sich die Distribution<br />

jedoch mit dem Release<br />

2010.2 kraftvoll zurückgemeldet.<br />

Mandriva 2010.2 fällt zeitlich<br />

aus dem Rahmen. Üblicherweise<br />

liefert das französische Unternehmen<br />

halbjährlich eine neue Version,<br />

die 2010.2-Variante weicht<br />

als drittes Release im Jahr 2010<br />

vom bisherigen Veröffentlichungszyklus<br />

ab. Das Betriebssystem<br />

verzichtet deshalb auch auf<br />

revolutionäre Neuerungen und<br />

präsentiert sich vornehmlich als<br />

fehlerbereinigte und aktualisierte<br />

Fassung der „Spring“-Version. Die<br />

Entwickler geben an, über 5000<br />

Pakete auf den neuesten Stand<br />

gehoben zu haben.<br />

Als entsprechend aktuell erweist<br />

sich die Ausstattung: Mit Kernel<br />

2.6.33-7, KDE SC 4.4.3, Firefox<br />

© LNM AG<br />

3.6.13 sowie OpenOffice 3.2.0<br />

und dem Bildbearbeitungsprogramm<br />

Gimp 2.6.8 hat Mandriva<br />

2010.2 in vielen Bereichen eine<br />

Runderneuerung mit stabilen<br />

Versionen bekommen. Auch die<br />

distributionseigenen grafischen<br />

Drak-Tools, die der bequemen<br />

und einfachen Systemverwaltung<br />

dienen, wurden technischen Neuerungen<br />

angepasst.<br />

Wie gewohnt gibt es Mandriva<br />

2010.2 in den Varianten Free,<br />

One und PowerPack. Mandriva<br />

One enthält als Live-CD mit Installationsmöglichkeit<br />

auch proprietäre<br />

Codecs, die DVD-Variante<br />

Mandriva Free dient der direkten<br />

Installation des Systems auf der<br />

Festplatte [3]. Die kostenpflichtige<br />

Powerpack-Variante schließlich<br />

bringt Codecs und proprietäre<br />

Software beispielsweise von Fluendo<br />

und Adobe mit. Alle drei<br />

Versionen grenzen sich durch ein<br />

jeweils leicht verändertes Erscheinungsbild<br />

voneinander ab.<br />

Neben der Versionsvielfalt<br />

glänzt Mandriva wie bisher durch<br />

verschiedenste Desktop-Umgebungen.<br />

Als Standard-Desktop<br />

verwendet das System KDE, daneben<br />

lassen sich auch Gnome<br />

und LXDE auswählen. Als etwas<br />

exotischere Variante bietet die<br />

Distribution zudem den Xfce-<br />

Desktop an. Damit lässt sich das<br />

Betriebssystem sowohl auf alter<br />

als auch brandneuer Hardware<br />

problemlos betreiben. Zusätzliche<br />

64-Bit-Varianten der Free- und<br />

Powerpack-Edition erlauben, die<br />

Vorteile entsprechender Prozessoren<br />

voll auszunutzen.<br />

Hardware und Treiber<br />

Mandriva steht seit jeher im Ruf,<br />

eine der besten Hardware-Erkennungsroutinen<br />

im Linux-Umfeld<br />

zu besitzen. Auch die Version<br />

2010.2 macht hier keine Ausnahme,<br />

sondern gestattet sich selbst<br />

auf brandneuen Notebooks keinerlei<br />

Blöße. So erkannte es im<br />

Test auf einem ansonsten etwas<br />

kapriziösen Lenovo-Thinkpad<br />

nicht nur die integrierte Webcam<br />

und sprach sie korrekt an; auch<br />

der biometrische Sensor für die<br />

Authentifizierung und ein eingebauter<br />

Smartcard-Leser funktionierten<br />

ohne Nacharbeit (Abbildung<br />

).<br />

Den passenden Treiber zur Ansteuerung<br />

der Grafikkarte wählt<br />

das System aus und stellt das Display<br />

auf die korrekte Farbtiefe,<br />

Auflösung und Bildwiederholfrequenz<br />

ein. Eine weitere Besonderheit<br />

finden Sie im Untermenü<br />

Hardware | Konfigurieren der 3D<br />

Desktop Effekte des Mandriva-<br />

Kontrollzentrums (Abbildung ):<br />

Hier aktivieren Sie per Mausklick<br />

nicht nur das allseits bekannte<br />

Compiz Fusion, sondern daneben<br />

den wenig bekannten 3D-Manager<br />

Metisse [4]. Diese eher unbekannte<br />

Oberfläche ist das Ergebnis<br />

eines Forschungsprojekts, an<br />

dem sich das Unternehmen Mandriva<br />

direkt beteiligt [5].<br />

Das innovative Projekt will jenseits<br />

von optischen Gimmicks die<br />

Anwenderfreundlichkeit des PC-<br />

Desktops erhöhen. Dazu verzichtet<br />

es auf viele ressourcenfressen-<br />

6 02 | 11<br />

www.linux-user.de


Mandriva 2010.2<br />

HEFT-DVD<br />

de Spielereien und stellt stattdessen<br />

die Produktivität in den Vordergrund.<br />

So gestattet der Desktopmanager<br />

beispielsweise das<br />

Umblättern von Fenstern, um darunterliegende<br />

Programme oder<br />

Dateifenster sichtbar zu machen.<br />

Ein erweitertes Menü zum Verwalten<br />

der Fenster sowie über<br />

den Rand des eigentlich sichtbaren<br />

Bildschirmbereichs hinausgleitende<br />

Arbeitsoberflächen runden<br />

das Funktionsangebot von<br />

Metisse ab. Dabei implementiert<br />

es alle gängigen Standardfunktionen<br />

moderner Compositing-<br />

Desktops wie Transparenz.<br />

Sicherheit<br />

Die nicht nur bei Serveradministratoren<br />

geschätzte Sicherheit<br />

von Linux wahrt Mandriva konsequent<br />

auf dem Desktop. Während<br />

man sich bei weniger ausgereiften<br />

Linux-Distributionen<br />

durch einen Dschungel an unterschiedlichen<br />

Sicherheitseinstellungen<br />

kämpfen muss, bietet<br />

Mandriva mit MSEC im Rahmen<br />

des Kontrollzentrums alle relevanten<br />

Modifikationsoptionen<br />

unter einer einheitlichen Oberfläche<br />

an (Abbildung , folgende<br />

Seite).<br />

Diese einmalige, für Einsteiger<br />

ohne tiefere Vorkenntnisse leicht<br />

zu bedienende Oberfläche sorgt<br />

ohne umständliche Suche und<br />

Konfiguration auf der Kommandozeile<br />

für einen rundum sicheren<br />

Desktop. Eine Kindersicherung<br />

ergänzt das MSEC-Framework<br />

(Abbildung , folgende<br />

Seite). Sie finden diese ebenfalls<br />

im Mandriva-Kontrollzentrum im<br />

Untermenü Sicherheit | Kindersicherungen.<br />

Sie bietet neben den<br />

üblichen Black- und Whitelists<br />

von Internet-Adressen eine Feinjustierung<br />

des Netzzugangs sowie<br />

eine Zeitsteuerung für den Zugriff<br />

aufs Netz. Obendrein sperren<br />

Sie in einem eigenen Reiter<br />

benutzerspezifisch einzelne Anwendungen.<br />

Damit erfreut Mandriva<br />

2010.2 mit der wohl am<br />

einfachsten zu bedienenden und<br />

gleichzeitig funktionell umfangreichsten<br />

Kindersicherung, die es<br />

derzeit unter Linux im Lieferumfang<br />

einer Distribution gibt.<br />

Software<br />

Hinsichtlich der Auswahl an verfügbarer<br />

Software steht Mandriva<br />

anderen populären Distributionen<br />

wie Debian, Fedora oder<br />

Ubuntu in nichts nach. In den<br />

diversen Repositories finden sich<br />

mehr als 30 000 Applikationen,<br />

die selbst ausgefallene Anwenderwünsche<br />

befriedigen.<br />

Im Kontrollzentrum bietet<br />

Mandriva über das Menü Software<br />

verwalten | Installieren &<br />

Entfernen von Software eine einfache<br />

Möglichkeit, den Programmbestand<br />

auf der heimischen Festplatte<br />

zu erweitern. Bei der Installation<br />

löst das System alle Abhängigkeiten<br />

auf, alle benötigten<br />

Bibliotheken zieht Mandriva automatisch<br />

nach. Auf der Kommandozeile<br />

nutzen Sie bei Bedarf<br />

das Mandriva-eigene Urpm-Paketmanagement<br />

mit seinen äußerst<br />

mächtigen Funktionen [6].<br />

Qual der Wahl<br />

Bereits in der Standardinstallation<br />

steht der Anwender oftmals<br />

vor der Qual der Wahl, denn die<br />

Distribution installiert – sofern<br />

sinnvoll – für den gleichen Einsatzzweck<br />

oft zwei oder drei verschiedene<br />

Programme. So finden<br />

Sie beispielsweise im Untermenü<br />

Internet bei Mandriva neben Firefox<br />

stets auch Googles Webbrowser<br />

Chromium.<br />

Zusätzlich residieren hier auch<br />

noch die Desktop-spezifischen<br />

Browser wie Konqueror, Midori<br />

oder Epiphany, sodass Sie auf<br />

langsamen Rechnersystemen ressourcenschonende<br />

Applikationen<br />

nutzen können, ohne die Programme<br />

erst nachzuziehen.<br />

Lediglich Powerpack-Anwender<br />

müssen sich mit einem geringeren<br />

Softwarebestand zufriedengeben:<br />

Das auf den Unternehmensund<br />

Behörden-Desktop abzielende<br />

Mandriva Powerpack installiert<br />

keine Spiele. Als weitere Innovation<br />

integriert Mandriva<br />

2010.2 den semantischen Desktop<br />

Nepomuk [7]. Das von der<br />

Europäischen Union mit 11,5<br />

Millionen Euro geförderte Projekt<br />

entwickelt grob skizziert eine<br />

neuartige Form der Datei-Indizierung:<br />

Während die Suchfunktionen<br />

der Dateimanager sich bislang<br />

an Dateinamen und -endungen<br />

orientieren, gestattet Nepomuk<br />

eine kontextsensitive Indizierung<br />

anhand sogenannter Metatags.<br />

Hierbei handelt es sich um<br />

Schlagwörter, Zeitstempel oder<br />

auch Internet-Adressen. Der se-<br />

Wie üblich erkennt<br />

Mandriva 2010.2 die<br />

verbaute Hardware<br />

ohne Probleme.<br />

Mandriva bietet<br />

per Mausklick gleich<br />

zwei verschiedene 3D-<br />

Desktops an.<br />

www.linux-user.de<br />

02 | 11 7


HEFT-DVD<br />

Mandriva 2010.2<br />

Über das MSCE Framework sichern Sie Ihr System unter Mandriva<br />

ganz einfach mit wenigen Mausklicks ab.<br />

Dank integrierter Kindersicherung eignet sich Mandriva als System<br />

der Wahl für den Netzzugriff von Minderjährigen.<br />

Dateisuche leicht<br />

gemacht dank<br />

Nepomuk, dem<br />

semantischen<br />

Desktop.<br />

mantische Desktop – bislang im<br />

Linux-Umfeld nur vom KDE-Projekt<br />

konsequent implementiert –<br />

erleichtert die Arbeit mit Dateien<br />

und Programmen für den Endanwender<br />

enorm. Neben IBM beteiligt<br />

sich allerdings Mandriva bislang<br />

als einziger Betriebssystemhersteller<br />

von Bedeutung direkt<br />

an der Entwicklung des semantischen<br />

Desktops [8].<br />

In Mandriva 2010.2 ist Nepomuk<br />

erst einmal ausgeschaltet, da<br />

die unterschiedlichen Dienste für<br />

Indizierung, Backup und Suchfunktion<br />

auf leistungsschwächeren<br />

Computersystemen erhebliche<br />

Ressourcen in Anspruch nehmen.<br />

Auf dem Testsystem mit<br />

Zweikern-Prozessoren jenseits<br />

von 2 GHz Taktfrequenz arbeitete<br />

der Indizierungsdienst jedoch erstaunlich<br />

schnell. Sie aktivieren<br />

Nepomuk sowie die dazu gehörigen<br />

Dienste unter KDE im Menü<br />

Werkzeuge | Systemwerkzeuge |<br />

Die Arbeitsumgebung konfigurieren<br />

| Desktopsuche. Hier schalten<br />

Sie nach dem Anklicken des Radiobuttons<br />

Nepomuk-Semantik-<br />

Dienste aktivieren zusätzlich den<br />

Indexer Strigi ein (Strigi-Datei-Indexer<br />

aktivieren).<br />

Nach der erstmaligen Indizierung<br />

steht auf dem KDE-Desktop<br />

die semantische Suche bereit. Klicken<br />

Sie beispielsweise auf ein<br />

Bild, das von Nepomuk indiziert<br />

wurde, so bekommen Sie dazu die<br />

Metatags angezeigt. Die Suchfunktion<br />

in Dolphin öffnet ein gesondertes<br />

Filterfenster, in dem Sie<br />

bei Bedarf Metatags als Suchkriterien<br />

angeben (Abbildung ).<br />

Fazit<br />

Mit Mandriva 2010.2 legt die<br />

französisch-brasilianische Softwareschmiede<br />

wieder ein ausgezeichnetes<br />

Betriebssystem vor.<br />

Aufgrund der kontinuierlichen<br />

Weiterentwicklung mit Fokus auf<br />

Bedienerfreundlichkeit und durchdachte<br />

Eigenentwicklungen weist<br />

Mandriva die Desktop-Konkurrenz<br />

auch im Linux-Lager in die<br />

Schranken. Dabei demons trieren<br />

die Entwickler eindrucksvoll, dass<br />

Bedienerfreundlichkeit nicht – wie<br />

bei anderen Betriebssystemen –<br />

zulasten der Sicherheit gehen<br />

muss und umgekehrt nicht nur<br />

Sysadmins die Sicherheit des<br />

Desktops oder Servers adäquat<br />

konfigurieren können. Die Distribution<br />

eignet sich damit bestens<br />

sowohl für Einsteiger ohne Vorkenntnisse<br />

als auch für Profis, die<br />

ein zuverlässiges System mit guter<br />

Hardware-Unterstützung für den<br />

Servereinsatz benötigen. (jlu) ■<br />

INFO<br />

[1] Mandriva: http://www.mandriva.com<br />

[2] Mandriva und Mageia: Wolfgang Bornath,<br />

„Magische Momente“, LU 11/ 2010, S. 31,<br />

http://www.linux-community.de/22182<br />

[3] Downloadquellen: http://wiki.mandriva.<br />

com/en/Mandriva_mirrors#Germany<br />

[4] Metisse im Test: Erik Bärwaldt,<br />

„Gefällige Mischung“, LU 05/ 2007, S. 59,<br />

http://www.linux-community.de/12922<br />

[5] Metisse: http://insitu.lri.fr/metisse/<br />

[6] Mandriva-Paketmanagement:<br />

Oliver Burger und Wolfgang Bornath,<br />

„Dynamisches Duo“, LU 01/ 2010, S. 46,<br />

http://www.linux-community.de/19890<br />

[7] Semantischer Desktop Nepomuk:<br />

Sebastian Kügler, „Daten mit Bedeutung“,<br />

LU 04/ 2010, S. 88, http://www.<br />

linux-community.de/20409<br />

[8] Nepomuk-Projektseite:<br />

http://nepomuk.kde.org<br />

8 02 | 11<br />

www.linux-user.de


STRATO Pro<br />

Server-Technik, die begeistert!<br />

NEU!<br />

Jetzt Server mit echten<br />

Hexa-Core Prozessoren für:<br />

Leistungsstarke<br />

Dedicated Server<br />

Vorkonfigurierte<br />

Managed Server<br />

Auf alle Hexa-Core Server<br />

50% Rabatt<br />

für die ersten 3 Monate!<br />

Telefon: 0 18 05 - 00 76 77<br />

(0,14 €/Min. aus dem dt. Festnetz, Mobilfunk max. 0,42 €/Min.)<br />

strato-pro.de


HEFT-DVD<br />

DVD-Inhalt<br />

Neues auf<br />

den Heft-DVDs<br />

Trotz oder vielleicht auch<br />

gerade wegen des unruhigen<br />

Fahrwassers, in das Mandriva<br />

in den letzten Monaten gera-<br />

ten war, legt der französischbrasilianische<br />

Distributor jetzt<br />

außerhalb des regulären Release-<br />

Zyklus ein Maintenance-Release vor.<br />

Mandriva 2010.2<br />

demonstriert, dass<br />

die Entwickler ihr Handwerk verstehen: Sie<br />

haben erneut Benutzerfreundlichkeit mit Sicherheit<br />

zu einem runden System kombiniert. So<br />

bietet das System einige interessante Neuerungen<br />

rund um den Desktop, wie etwa die<br />

von der europäischen Union als Projekt geförderte<br />

semantische Suche Nepomuk, bei<br />

der Sie neben den bekannten Kriterien auch<br />

Meta-In for ma tio nen als Kriterium verwenden<br />

dürfen. Als Grundlage setzt Mandriva<br />

2010.2 auf Kernel 2.6.33 auf und bringt als<br />

Desktop neben KDE SC 4.4.3 die Gnome-Version<br />

2.30.0 mit. Dank des MSCE-Frameworks<br />

mit integrierter Kindersicherung eignet sich<br />

die Distribution auch für einen Internet-<br />

Rechner im Kinderzimmer. Lesen Sie<br />

mehr dazu ab Seite 6. Auf dem ersten<br />

Datenträger finden Sie die<br />

Live-Version Mandriva „One“<br />

zum Ausprobieren, auf der zweiten<br />

DVD die Installationsversion<br />

für 32- und 64-Bit-Systeme.<br />

Rund ein Jahr nach Erscheinen<br />

der ersten Alpha-Version des beliebten<br />

Multimediacenters legen<br />

die Entwickler nun die stabile Version<br />

XBMC 10.0 vor. Die Applikati-<br />

on läuft wahlweise auf Linux, Windows<br />

oder Mac OS X. Wer sie erst ausprobieren möchte,<br />

greift dagegen einfach zum Live-System, das auf<br />

Ubuntu basiert. XBMC bietet für alle Bereiche des<br />

Home-Entertainment ein passendes Modul an. Fehlende<br />

Funktionen rüsten Sie leicht über Plugins nach.<br />

Mit der Heft-DVD booten Sie XBMC 10.0 direkt vom<br />

Datenträger und haben so die Möglichkeit, sich einen<br />

Überblick über die Möglichkeiten zu verschaffen,<br />

ohne das installierte System zu verändern.<br />

Ebenfalls live testen Sie PinguyOS 10.10.1. Das einsteigerfreundliche<br />

System auf der Basis von Ubuntu<br />

nimmt Ihnen viele Konfigurationsschritte ab, mit denen<br />

Experten in der Regel eine Standardinstallation<br />

aufwerten. So haben Sie gleich nach dem ersten Start<br />

die Möglichkeit, ohne zusätzlichen Aufwand verschiedene<br />

Multimediaformate abzuspielen oder profitieren<br />

von der Integration von Java und Flash beim Surfen<br />

im Netz. Sie finden auf dem ersten Datenträger die<br />

Versionen für 32- und 64-Bit-Systeme, die Sie nicht<br />

nur im Live-Betrieb anschauen und testen können,<br />

sondern bei Gefallen gleich installieren.<br />

Ein Exemplar von Backtrack 4R2 sollte im digitalen<br />

Werkzeugkasten jedes sicherheitsbewussten Linux-<br />

Anwenders und Administrators liegen. Die Securityund<br />

Forensik-Distribution hat sich schon in zahllosen<br />

Einsätzen bewährt. Für die aktuell vorliegende Version<br />

brachten die Entwickler noch einmal viele Komponenten<br />

auf den neuesten Stand: Der Kernel 2.6.35.8<br />

hat neben verbesserten Mac80211-WLAN-Treibern<br />

auch USB-3.0-Support mit an Bord.<br />

Ein besonderes Schmankerl für Freunde des 3D-Modellings<br />

ist das Blender Video-Tutorial. Vom ersten<br />

Pixel bis zur fertigen Kreatur verfolgen Sie dabei in einem<br />

umfangreichen Video-Workshop, wie die Profis<br />

das Design und die Oberfläche eines futuristischen<br />

Wesens inklusive passender Landschaft gestalten –<br />

spannend und lehrreich in einem. (agr) ■<br />

NEUE PROGRAMME AUF DEM HEFT-DATENTRÄGER<br />

Wer regelmäßig <strong>Python</strong>-Programme schreibt,<br />

dem hilft eine maßgeschneiderte Entwicklungsumgebung<br />

bei vielen lästigen Handgriffen<br />

und räumt so den Weg frei, um die großen<br />

Ideen umzusetzen.<br />

Die IDE Eric4 gehört zu den besten freien<br />

Helfern für die beliebte Programmiersprache.<br />

Mit Templates, Codefragmenten und Syntax-<br />

Highlighting erleichtert sie die Arbeit und über-<br />

nimmt zugleich das Versionieren der Ergebnisse im Versionskontrollsystem<br />

Subversion. Mehr lesen Sie zu diesem<br />

praktischen Helfer ab Seite 24.<br />

Statt den Staub vom Wörterbuch zu pusten, greifen Sie<br />

lieber zu Ding 1.7. Der praktische Allrounder sollte auf<br />

keinem System fehlen, auf dem Sie mit Texten hantieren.<br />

Ganz nebenbei hilft er beim Übersetzen von Texten<br />

aus dem Deutschen ins Englische und umgekehrt. Einen<br />

Überblick der Funktionen bietet ein Artikel ab Seite 42.<br />

10<br />

02 | 11<br />

www.linux-user.de


SONDERAKTION!<br />

Testen Sie jetzt<br />

3 Ausgaben für<br />

NUR 3€<br />

MINIABO ohne Risiko!<br />

Jetzt schnell bestellen:<br />

Telefon: 07131 /2707 274<br />

Fax: 07131 / 2707 78 601<br />

E-Mail: abo@linux-user.de<br />

Web: www.linux-user.de/probeabo<br />

Mit großem Gewinnspiel<br />

(Infos unter: www.linux-user.de/probeabo)<br />

GEWINNEN SIE... DAS NAVIGATIONSGERÄT<br />

MIO MOOV SPIRIT V735 TV IM WERT VON 373,- EURO (UVP)<br />

Nur bis<br />

15.03.2011


HEFT-DVD<br />

PinguyOS 10.10<br />

PinguyOS 10.10<br />

bootfähig auf Heft-DVD<br />

PinguyOS – komfortable Distribution nicht nur für Einsteiger<br />

Gebrauchsfertig<br />

Vielen Linux-Distributionen haftet immer noch der Ruf an, sich nur für Geeks zu eignen.<br />

PinguyOS belegt eindrucksvoll, dass Linux längst reif auch für Anfänger ist. Erik Bärwaldt<br />

README<br />

PinguyOS, ein Ubuntu-<br />

Derivat mit konsequenter<br />

Ausrichtung auf dem<br />

Desktop, glänzt vor<br />

allem durch eine reichhaltige<br />

Software- und<br />

Multimedia-Ausstattung.<br />

Ubuntu ist eine der beliebtesten<br />

Linux-Distributionen überhaupt.<br />

Doch es gibt nichts, was nicht verbessert<br />

werden könnte, und so<br />

haben sich rund um die ohnehin<br />

schon große Ubuntu-Familie viele<br />

Derivate mit unterschiedlichen<br />

Schwerpunkten gebildet. Das relativ<br />

junge PinguyOS schreibt sich<br />

dabei die kompromisslose Bedienerfreundlichkeit<br />

des Desktops<br />

TECHNISCHE DATEN<br />

Name<br />

PinguyOS<br />

Version 10.10.1<br />

Basis<br />

Ubuntu 10.10 „Maverick Meerkat““<br />

Orientierung Einsteiger-Desktop<br />

Architektur i686, x86_64<br />

Release 17.11.2010<br />

Kernel 2.6.35<br />

Desktop<br />

Gnome 2.32.0 (modifiziert)<br />

X-Server 1.9.0<br />

Bootmanager Grub2 (1.98)<br />

auf die Fahnen und führt dazu<br />

Elemente aus verschiedenen Distributionen<br />

zusammen.<br />

PinguyOS laden Sie in der<br />

brandneuen Version 10.10.1 als<br />

etwa 1,4 GByte großes ISO-Image<br />

sowohl in einer 32-Bit- als auch in<br />

einer 64-Bit-Variante von der<br />

Homepage [1] herunter. Nach<br />

dem Brennen und Booten der<br />

DVD verzweigt das System zunächst<br />

in ein Auswahlmenü, mit<br />

dessen Hilfe Sie die Live-DVD<br />

auch in einem vereinfachten Grafikmodus<br />

starten können, falls<br />

Probleme mit der Bildschirmansteuerung<br />

auftreten. Dazu wählen<br />

Sie die Option xforcevesa - boot<br />

Live in safe graphics mode aus.<br />

Nach dem Laden des Systems<br />

präsentiert sich PinguyOS in einem<br />

ungewöhnlichen Outfit: Die<br />

leicht modifizierte Menüleiste<br />

von Gnome 2.32 ergänzen gleich<br />

zwei Dockleisten am linken und<br />

unteren Bildschirmrand. Im linken<br />

Dock findet sich dabei die<br />

Ordnerstruktur der eigenen Dateien,<br />

während die untere Dockleiste<br />

Starter für die wichtigsten<br />

Programme zusammenfasst.<br />

Das von Gnome her bekannte<br />

Hauptmenü mit den drei Punkten<br />

Anwendungen, Orte und System<br />

haben die Entwickler durch das<br />

Mintmenu des Ubuntu-Derivats<br />

Linux Mint ersetzt, das die drei<br />

Gnome-Menüs zusammenfasst.<br />

Zusätzlich zu diesen datei- und<br />

ordnerspezifischen Neuheiten<br />

präsentiert PinguyOS auf der Arbeitsoberfläche<br />

mittels des Systemmonitors<br />

Conky [2] ständig<br />

die wichtigsten Parameter des<br />

Computers in einem transparent<br />

gehaltenen Fenster.<br />

12 02 | 11<br />

www.linux-user.de


PinguyOS 10.10<br />

HEFT-DVD<br />

Falls Sie allerdings in Ihrem System<br />

eine ältere Grafikkarte betreiben,<br />

die noch kein Compositing<br />

unterstützt, dann startet Conky<br />

gelegentlich nicht. Auch die Docking-Leisten<br />

arbeiten in diesem<br />

Fall ohne Animationen beim Berühren<br />

mit dem Mauszeiger, weisen<br />

jedoch ansonsten keine Einschränkungen<br />

auf.<br />

Programmatisches<br />

Ein Klick auf das PinguyOS-Logo<br />

oben links in der Panelleiste fördert<br />

im sich öffnenden Mintmenu<br />

eine stattliche Anzahl an<br />

teils sehr ungewöhnlichen und<br />

unbekannten Programmen zutage.<br />

So finden Sie mit Ailurus [3]<br />

ein höchst nützliches Gnome-<br />

Tool, das mit einer intuitiv zu bedienenden<br />

grafischen Oberfläche<br />

das komplette System- und Software-Management<br />

enorm vereinfacht.<br />

Ailurus fasst dabei unterschiedlichste<br />

Einstellmöglichkeiten<br />

zusammen und entlastet Sie<br />

auf diese Weise von der Suche<br />

nach den entsprechenden Menüs<br />

oder Befehlen auf der Kommandozeile<br />

(Abbildung ).<br />

Mit Bleachbit [4] und dem Energiesparprogramm<br />

Granola hat<br />

PinguyOS weitere nützliche Utilities<br />

mit an Bord. Auch im multimedialen<br />

Bereich lassen<br />

Applikationen wie Handbrake<br />

[5], der Videoeditor<br />

Openshot [6], der lxBD-<br />

Player, VLC oder DeVeDe<br />

keine Langeweile aufkommen.<br />

Selbstverständlich<br />

bringt die Distribution<br />

auch die Standardprogramme<br />

wie OpenOffice,<br />

Firefox, Thunderbird,<br />

Rhythmbox und Totem in<br />

den jeweils aktuellen Versionen<br />

mit.<br />

Der Bildbearbeitungsbolide<br />

Gimp hingegen fehlt,<br />

und wie inzwischen unter<br />

Ubuntu üblich, ersetzen<br />

Applikationen wie Simple<br />

Scan und der Shotwell<br />

Photo Manager [7] die<br />

Klassiker Sane/ Xsane und<br />

den Bildbetrachter F-Spot. Da<br />

PinguyOS die meisten gebräuchlichen<br />

Audio- und Video-Codecs<br />

bereits von Haus aus mitbringt,<br />

steht dem multimedialen Vergnügen<br />

nichts im Wege.<br />

Daneben fällt die nahtlose Integration<br />

des Windows-Emulators<br />

Wine in der aktuellen Version 1.3<br />

auf, der es ermöglicht, eine stetig<br />

steigende Zahl von Windows-Programmen<br />

auch unter Linux auszuführen.<br />

Zusätzlich verfügt PinguyOS<br />

über zahlreiche Werkzeuge<br />

zum Dateimanagement, darunter<br />

insbesondere Such- und Indiziersoftware<br />

wie Gnome Do, Gloobus<br />

oder auch Catfish [8].<br />

Dauerhaftes<br />

Sofern Sie nach dem ersten Kennenlernen<br />

PinguyOS dauerhaft<br />

auf die heimische Festplatte packen<br />

möchten, aktivieren Sie die<br />

Installationsroutine mit einem<br />

Doppelklick auf das Desktop-Icon<br />

Install PinguyOS. Der von Ubuntu<br />

bekannte Installer führt Sie nun<br />

in wenigen Schritten zum Ziel.<br />

Dabei packt er mehr als 4 GByte<br />

an Daten auf die Platte, sodass<br />

eine ausreichend große Zielpartition<br />

angelegt sein will. Da der Installer<br />

die wichtigsten Systemparameter<br />

vorab prüft und bei zu geringen<br />

Kapazitäten Alarm schlägt,<br />

lassen sich diesbezüglich eventuelle<br />

Defizite noch vor der eigentlichen<br />

Installation beheben.<br />

Bei Systemen, auf denen bereits<br />

andere Linux-Distributionen oder<br />

weitere Betriebssysteme residieren,<br />

ist Vorsicht geboten: Pinguy-<br />

OS nutzt als Bootmanager die<br />

neue Version 1.98 von Grub (vulgo:<br />

Grub2) in einer an Ubuntu angepassten<br />

Variante. Im Gegensatz<br />

zum klassischen Grub erkennt er<br />

neue Dateisysteme oft nicht korrekt<br />

und bindet dann auch die<br />

vorhandenen Betriebssysteme<br />

nicht automatisch mit ins Bootmenü<br />

ein. In diesem Falle müssen<br />

Sie den Bootmanager Grub entsprechend<br />

manuell konfigurieren<br />

[9], um Ihre anderen Systeme<br />

weiterhin einsetzen zu können.<br />

Linguistisches<br />

Da PinguyOS von Haus aus lediglich<br />

Englisch beherrscht und auch<br />

trotz Einstellung der deutschen<br />

Sprache in der Installationsroutine<br />

keine vollständige Lokalisierung<br />

bietet, sollten Sie nach abgeschlossener<br />

Installation zunächst<br />

das deutsche Sprachmodul aktivieren.<br />

Dazu klicken Sie auf der<br />

Arbeitsoberfläche einfach auf das<br />

Icon Language Support, woraufhin<br />

Ailurus vereinfacht<br />

das Konfigurieren des<br />

Systems enorm.<br />

www.linux-user.de<br />

02 | 11 13


HEFT-DVD<br />

PinguyOS 10.10<br />

Auch proprietäre<br />

Treiber lassen sich unter<br />

PinguyOS automatisch<br />

installieren.<br />

Sie menügeführt beliebige Sprachen<br />

nachinstallieren können.<br />

Dazu benötigen Sie allerdings<br />

zwingend eine Internet-Verbindung,<br />

da der Installer die entsprechenden<br />

Module aus den Ubuntu-<br />

Repositories nachlädt.<br />

Im Test richtete PinguyOS eine<br />

bestehende DSL-Verbindung bei<br />

vorhandenem DHCP-Server automatisch<br />

ein. Bei Nutzung eines<br />

WLANs müssen Sie die entsprechenden<br />

Zugangsdaten manuell<br />

einstellen. Dazu klicken Sie im<br />

Mintmenu auf den Eintrag Control<br />

Centre im Abschnitt System und<br />

im sich daraufhin öffnenden Kontrollzentrum<br />

im Abschnitt Internet<br />

and Network auf den Eintrag<br />

Network Connections. Nun können<br />

Sie die nötigen Daten zum Verbindungsaufbau<br />

eingeben.<br />

Treibendes<br />

Insbesondere neue PCs und Notebooks<br />

bringen oft leistungsfähige<br />

3D-Grafikkarten mit, deren technische<br />

Dokumentation nur teilweise<br />

oder gar nicht offengelegt<br />

ist. Die Entwickler freier Treiber<br />

für solche Grafikkarten haben daher<br />

meist nicht die Möglichkeit,<br />

das Leistungsspektrum der Hardware<br />

voll auszuschöpfen. Ähnliches<br />

gilt auch für Winmodems<br />

oder andere proprietäre Komponenten.<br />

PinguyOS hat für diesen<br />

Fall die bei Ubuntu<br />

eingeführte Option<br />

des Nachladens proprietärer<br />

Treiber<br />

übernommen.<br />

Um zu prüfen, ob<br />

Ihr System mit<br />

Closed-Source-Treibern<br />

einen Leistungszuwachs<br />

erzielen<br />

kann, klicken Sie<br />

in PinguyOS einfach<br />

auf das Icon Zusätzliche<br />

Treiber auf dem<br />

Desktop. Die Prüfung<br />

des Systems,<br />

den passenden<br />

Download und die<br />

automatische<br />

Installa tion eines<br />

proprietären Treibers übernimmt<br />

dann ein entsprechender Installer,<br />

sodass nach einem Neustart<br />

die volle Leistung der fraglichen<br />

Hardware zur Verfügung steht<br />

(Abbildung ).<br />

Zusätzliches<br />

PinguyOS hat aufgrund seiner<br />

Herkunft vollen Zugriff auf die<br />

Repositories von Ubuntu und bietet<br />

somit einen der größten Softwarepools,<br />

den es unter Linux distributionsspezifisch<br />

gibt. Derzeit<br />

führt Synaptic mehr als 32 000<br />

Programme zur Installation auf.<br />

Damit dürften sich auch ausgefallene<br />

Software-Wünsche befriedigen<br />

lassen. Zusätzlich zu Synaptic<br />

bringt PinguyOS jedoch auch<br />

noch das für Einsteiger einfacher<br />

zu bedienende Ubuntu Software<br />

Center mit. Falls Ihnen die etwas<br />

rustikal wirkende Oberfläche von<br />

Synaptic nicht zusagt, können Sie<br />

also ohne Funktionsverlust auch<br />

zum übersichtlicheren Software<br />

Center wechseln.<br />

Fazit<br />

Mit PinguyOS platziert sich eine<br />

weitere interessante Ubuntu-Variante<br />

auf dem Markt, die vor allem<br />

durch das einfache Bedienkonzept<br />

auffällt. PinguyOS geht dabei eigene<br />

Wege, ohne sich äußerlich zu<br />

sehr an anderen Betriebssystemen<br />

zu orientieren. Durch eine<br />

geschickte Kombination etablierter<br />

Linux-Software und logischer<br />

Anordnung der Bedienelemente<br />

erzielt es einen höheren Komfort<br />

als andere Systeme. Dabei lässt<br />

die Software-Basis Ubuntu keine<br />

Wünsche offen, wenn es um die<br />

Vielfalt an Applikationen geht.<br />

Das System eignet sich daher<br />

sehr gut für Anfänger, die nicht<br />

erst tief in die Betriebssystem-<br />

Materie einsteigen wollen, sondern<br />

gleich einen vollständig<br />

nutzbaren Desktop vorfinden<br />

möchten. Treten trotzdem Fragen<br />

oder Wünsche auf, hilft ein gut<br />

bestücktes deutschsprachiges<br />

Forum im Internet weiter [10].<br />

Den insgesamt positiven Eindruck<br />

schmälern allerdings einige<br />

durch den experimentellen Charakter<br />

von Ubuntu verursachte<br />

Probleme bei der Hardware-Erkennung,<br />

die insbesondere bei<br />

nicht mehr ganz aktuellen Komponenten<br />

im Rechner gelegentlich<br />

Nacharbeit bei der Konfiguration<br />

erfordern können. (jlu) ■<br />

INFO<br />

[1] PinguyOS: http://pinguy-os.sourceforge.net<br />

[2] Systemmonitor Conky: Jan Rähm,<br />

„Lebenszeichen“, LU 02/ 2009, S. 46,<br />

http://www.linux-community.de/17363<br />

[3] Ailurus: Florian Effenberger, „Versteckte<br />

Optionen“, LU 01/ 2011, S. 56,<br />

http://www.linux-community.de/20657<br />

[4] Bleachbit: Erik Bärwaldt, „Sanfte<br />

Reinigung“, LU 08/ 2009, S. 64,<br />

http://www.linux-community.de/18942<br />

[5] Handbrake: Kristian Kißling, „Handbremse<br />

lösen“, LU 12/ 2008, S. 52,<br />

http://www.linux-community.de/17297<br />

[6] Video-Editor Openshot: Tim Schürmann,<br />

„Gegenschuss“, LU 04/ 2010, S. 46,<br />

http://www.linux-community.de/20481<br />

[7] Bildverwaltung Shotwell: Karsten Günther,<br />

„Gut archiviert“, LU 09/ 2010, S. 42,<br />

http://www.linux-community.de/21696<br />

[8] Suchmaschine Catfish: Karsten Günther,<br />

„Fischfutter“, LU 12/ 2010, S. 78,<br />

http://www.linux-community.de/21333<br />

[9] Grub2 einrichten: Andreas Bohle,<br />

„Ladehemmung“, LU 01/ 2010, S. 74,<br />

http://www.linux-community.de/19918<br />

[10] Deutsches PinguyOS-Forum:<br />

http://pinguyosusers.de/forum/index.php<br />

14 02 | 11<br />

www.linux-user.de


Duden für Linux?<br />

Aber sicher!<br />

Sie wollen z. B. Ihre<br />

Texte auf Rechtschreibung<br />

prüfen,<br />

Wörter direkt<br />

aus dem Text<br />

nachschlagen<br />

oder sich neu<br />

bewerben?<br />

Kein Problem!<br />

Diese und mehr Produkte für Linux fi nden Sie<br />

im Internet unter www.dudenshop.de.


AKTUELLES<br />

Distributionen<br />

Die Linux<br />

Mint Debian<br />

Edition<br />

glänzt mit<br />

einer soliden Basis und ausgeprägten<br />

Multimedia-Fähigkeiten.<br />

KURZ NOTIERT<br />

Für das WeTab stehen jetzt die<br />

Betriebssystemquellen und ein<br />

SDK zum Download bereit<br />

(http:// tinyurl. com/ lu1102-<br />

wetab). Der Hersteller 4tiito bietet<br />

zudem ein auf Vir tual box basierendes<br />

WeTab OS-Image sowie<br />

ein via USB-Stick einspielbares<br />

Recovery-System an.<br />

Mit dem Release von Salix OS<br />

13.1.2 LXDE gibt es jetzt erstmals<br />

eine 64-Bit-Ausgabe der<br />

auf Slackware basierenden Distribution<br />

mit dem leichtgewichtigen<br />

Desktop. Daneben bietet<br />

das Projekt (http:// www. salixos.<br />

org) auch Install- und Live-CD-<br />

ISOs für 32-Bit-Systeme an.<br />

Kurz vor Weihnachten ist die<br />

Sabayon 5.4 Gaming-Edition im<br />

DVD-Format erschienen, deren<br />

4,3 GByte großes ISO eine breite<br />

Auswahl an Spielen aus den Bereichen<br />

Arcade, Strategie und<br />

Shooter bereithält (http:// tinyurl.<br />

com/ lu1102-sabayon). Dazu gehören<br />

unter anderem FreeCiv,<br />

Micropolis, Neverball, Nexuiz,<br />

Scorched 3D, Simutrans, Torcs,<br />

Wesnoth und Warzone 2100.<br />

Das Ubuntu-Projekt hat seine<br />

Schriftart über die Projekt-Website<br />

http:// font. ubuntu. com sowie<br />

im Web-Schriftenverzeichnis<br />

von Google freigegeben. Der<br />

Font Ubuntu steht ab sofort in<br />

mehreren Schriftschnitten im<br />

Truetype-Format sowie als<br />

Quell code zum Download bereit.<br />

Linux Mint frischt die Debian-Edition auf<br />

Eigentlich baut das Linux-Mint-<br />

Projekt (http:// www.<br />

linuxmint. com) seine Dis-<br />

tribution auf Basis des jeweils<br />

aktuellsten Ubuntu-<br />

Releases, landete aber fang September<br />

An-<br />

mit einer stattdessen<br />

auf Debian<br />

„Testing“ beruhenden<br />

Mint-Variante<br />

einen vielbeachteten<br />

und gelobten<br />

Volltreffer. Dank<br />

der Integration pro pri etä rer<br />

Treiber und Codecs spielt die<br />

mit einem Gnome-Desktop ausgestattete<br />

Linux Mint Debian<br />

Edition (LMDE) von Haus aus<br />

die gängigsten Medienformate<br />

ab. Zudem handelt es sich um<br />

eine Rolling-Release-Distribution,<br />

die laufend aktualisier te<br />

Software einspielt und dadurch<br />

dedizierte Versionsupgrades<br />

überflüssig macht. Dank voller<br />

Kompatibilität zu Debian lässt<br />

sich dessen riesiger Paketfundus<br />

auch unter LMDE nutzen.<br />

Zu Weihnachten legten die<br />

Mint-Entwickler nun LMDE<br />

201012 nach, das den aktuellen<br />

Stand in ein Installationsimage<br />

bannt. Es bringt alle mit dem<br />

kurz zuvor erschienenen Mint<br />

10 eingeführten Features auch<br />

in den Debian-Ableger der Distribution.<br />

So werten beispielsweise<br />

die Integration der PPPund<br />

Mesa-Bibliotheken sowie<br />

der jeweiligen Tools die Connectivity<br />

und den Hardware-<br />

Support auf. Beim Sound-Support<br />

beseitigten die Entwickler<br />

Adressierungskonflikte zwischen<br />

Pulse Audio und Flash.<br />

Der Installer unterstützt jetzt<br />

auch Btrfs sowie mehrere Festplatten<br />

und kann den Bootloader<br />

statt im MBR auch in Partitionen<br />

ablegen. Der Software-<br />

Bestand wurde auf die neuesten<br />

Aptosid 2010-03 mit verbessertem Hardware-Support<br />

Das auf Debian „Sid“ basierende Aptosid 2010-03<br />

macht auch mit dem LXDE-Desktop eine gute Figur.<br />

Bei Aptosid (http:// aptosid.<br />

com) handelt es sich um eine<br />

Rolling-Release-Distribution<br />

auf Basis von Debian Unstable<br />

mit KDE-4-Desktop. Zu Weihnachten<br />

haben die Entwickler<br />

nun das Release 2010-03 mit<br />

dem Codenamen „Apate“ freigegeben,<br />

das auf dem Softwarestand<br />

von „Sid“ zum 26.<br />

Dezember 2010 beruht. Das<br />

hervorstechendste Merkmal<br />

des Releases ist der Kernel<br />

2.6.36.2, der zahlreiche Verbesserungen<br />

beim Hardware-<br />

Support mitbringt. Diese betreffen<br />

vor allem die Unterstützung<br />

von (USB-)WLAN-<br />

Chipsätzen,<br />

darunter solche<br />

von<br />

Atheros,<br />

Broadcom,<br />

Intel, Ralink<br />

sowie Realtek.<br />

Daneben<br />

bietet das<br />

verbesserte<br />

Kernel Mode<br />

Switching<br />

jetzt Unterstützung<br />

für<br />

ATI-Radeon-<br />

Versionen aufgefrischt, der<br />

Cgroups-Patch im Kernel soll<br />

für verbesserte Desktop-Reaktionszeiten<br />

sorgen.<br />

Aufgrund der positiven Reaktionen<br />

auf die Debian Edition<br />

und des großen Zuspruchs seitens<br />

der Anwender macht das<br />

Linux-Mint-Projekt seinen ursprünglich<br />

als Experiment<br />

deklarier ten Debian-Ableger<br />

nun wohl zur festen Einrichtung.<br />

Zwar erwähnen die Release<br />

Notes das nicht explizit,<br />

doch es gibt diesmal anders als<br />

beim Erstling neben der 32-Bit-<br />

Ausgabe auch eine 64-Bit-Edition.<br />

Zudem ist bereits die Rede<br />

von weiteren Versionen mit anderen<br />

Desktops, insbesondere<br />

mit KDE SC 4. Eine Liste der<br />

Download-Mirrors für die<br />

knapp 1 GByte großen LMDE-<br />

ISO-Images finden Sie unter<br />

http:// www. linuxmint. com/<br />

download_lmde.php.<br />

und Intel-Grafik sowie DRI-<br />

Support für ATI-Radeon-Chipsätze<br />

bis r7xx. Aktualisierungen<br />

erfuhren zudem auch<br />

der X-Server (X.org 7.5), der<br />

KDE-Desktop (KDE SC 4.4.5)<br />

und der Webbrowser Iceweasel<br />

(3.5.16). Das Projekt offeriert<br />

drei verschiedene Versionen<br />

der Distribution in 32- und<br />

64-Bit-Ausführungen als ISO-<br />

Image (http:// tinyurl. com/<br />

lu1102-aptosid). Bei der als<br />

„KDE-full“ bezeichneten Variante<br />

(2 GByte) handelt es sich<br />

um eine kombinierte 32-/64-<br />

Bit-Installer-DVD. Als separate<br />

32- und 64-Bit-Versionen gibt<br />

es diese Spielart auch als<br />

„KDE-lite“ (jeweils rund 600<br />

MByte). Ebenfalls in 32- und<br />

64-Bit-Ausführung existiert<br />

noch eine Ausgabe mit LXDE-<br />

Desktop (je 500 MByte).<br />

16<br />

02 | 11<br />

Das Neueste rund um Linux, aktuelle Kurztests und Artikel aus<br />

<strong>LinuxUser</strong> finden Sie täglich auf www.linux-community.de


Distributionen<br />

AKTUELLES<br />

XBMC 10.0 mit mehr Formaten und Plugins<br />

Nach fast einem Jahr Entwicklungszeit<br />

erschien Mitte<br />

Dezember die finale Version<br />

10.0 „Dharma“ des freien<br />

Mediacenters XBMC (http://<br />

xbmc.org). Sie spielt Videound<br />

Audiodateien verschiedenster<br />

Formate ab und präsentiert<br />

Bildsammlungen als<br />

Diaschauen. Dabei erlaubt<br />

XBMC das Fernsteuern via<br />

iPhone oder Android-Smartphones.<br />

Die dafür benötigten<br />

Apps stehen in den jeweiligen<br />

App-Stores von Android und<br />

Apple zum kostenlosen Download<br />

bereit. XBMC gibt es sowohl<br />

als Standalone-Version<br />

in Form einer installierbaren<br />

Live-CD auf Ubuntu-Basis<br />

(auch auf der Heft-DVD dieser<br />

Ausgabe) als auch als nachinstallierbare<br />

Anwendung für<br />

Linux, Windows und Mac OS X.<br />

XBMC versteht sich nicht nur<br />

als Mediaplayer für lokale Dateien,<br />

sondern bietet auch ein<br />

breit gefächertes Funktionsspektrum<br />

zum Darstellen und<br />

Abspielen von Multimediadaten<br />

aus dem Internet. Die<br />

dafür benötigten Schnittstellen<br />

installieren Sie als Plugin<br />

nach. Mehrere Dutzend davon<br />

stehen alleine zur Wiedergabe<br />

von Filmen bereit, aber auch<br />

für den Zugriff auf Bilddatenbanken<br />

wie Flickr oder Picasaweb.<br />

Ebenfalls in Form von<br />

Plugins bietet XBMC verschiedene<br />

Downloadmanager wie<br />

jDownloader, Transmission<br />

oder rTorrent an, die es Ihnen<br />

ermöglichen, im Torrent-<br />

Netzwerk gehostete Dateien<br />

direkt herunterzuladen und<br />

danach mit dem Videoplayer<br />

abzuspielen. An Codec-Unterstützung<br />

lässt die Suite kaum<br />

Wünsche offen. Sie spielt Videodateien<br />

unter anderem<br />

in den<br />

Formaten<br />

H.263/ 4,<br />

MPEG-1,<br />

MPEG-4<br />

(Xvid, DivX),<br />

Realvideo und<br />

Quicktime ab.<br />

An Audio-<br />

Codecs bietet<br />

die Software<br />

auch MP3,<br />

OGG, WMA,<br />

APE und FLAC. Die aktuelle<br />

Version unterstützt darüber<br />

hinaus Googles neues Videoformat<br />

WebM/ VP8. Eine<br />

Übersicht aller unterstützten<br />

Formate finden Sie im XBMC-<br />

Wiki. (jlu) ■<br />

XBMC, eine der ausgereiftesten<br />

Mediacenter-Lösungen für Linux,<br />

glänzt in Version 10.0 „Dharma“<br />

mit Unterstützung für noch mehr<br />

Formate und einem ausgefeilten<br />

neuen Plugin-Konzept.<br />

1. Lernen Sie!<br />

Ja, ã training-on-the-jobÒ , oft praktiziert, aber nicht<br />

Ÿ berzeugend. Denn die Kollegen haben nie Zeit<br />

fŸ r echte ErklŠ rungen, au§ erdem werden ã NeueÒ<br />

sofort von dem vereinnahmt, was im Unternehmen<br />

schon seit Ewigkeiten tradiert wird. Warum gibt's<br />

seit 2000 Jahren Schulen und UniversitŠ ten?<br />

ã LERNENÒ ist eine vollwertige TŠ tigkeit, auf die<br />

man sich konzentrieren mu§ , die man nicht 'mal<br />

eben so nebenbei tun kann, und die immer auch<br />

eine Prise ã ErneuerungÒ beinhalten sollte!<br />

2. Ineffiziente Arbeit nicht akzeptieren!<br />

Je spezialisierter Sie arbeiten, desto weniger<br />

echte, fachliche Kollegen haben Sie in Ihrem eigenen<br />

Unternehmen. Wir stellen deshalb Gruppen<br />

zusammen, in denen Sie neben hilfsbereiten<br />

Kollegen mit Š hnlichen Kenntnissen an IHREM<br />

Projekt arbeiten. Und stŠ ndig ist ein fachlicher Berater<br />

anwesend.<br />

ã Guided CoworkingÒ nennen wir das, und es<br />

kš nnte DIE Lš sung fŸ r so manches Projekt sein,<br />

das in Ihrer Firma ã haktÒ .<br />

3. Hintergrund<br />

Wer den riesigen OpenSource-Baukasten schnell<br />

beherrschen mu§ , geht zu einer unserer Ÿ ber 100<br />

Schulungen. Wer das bereits kann, aber schneller<br />

mit seinen Projekten vorankommen will, der<br />

kommt mit seiner Arbeit zum Guided Coworking.<br />

Wir sind eine der erfolgreichsten Schulungseinrichtungen<br />

im gesamten Bereich ã OpenSourceÒ<br />

- sowohl fŸ r Admins, als auch fŸ r Entwickler.<br />

Siehe www.linuxhotel.de


AKTUELLES<br />

Neues rund um Linux<br />

Knights für KDE SC 4 jetzt als Stable-Release 2.2.0<br />

Mit Knights 2.2.0 liegt jetzt<br />

eine erste offizielle stabile<br />

Version des ends für KDE SC 4<br />

Schach-Frontvor.<br />

Es erlaubt das<br />

Spielen gegen<br />

menschliche Gegner<br />

auf derselben Maschine<br />

oder dem Free<br />

Internet Chess Server<br />

FICS sowie gegen jede<br />

Xboard-kompatible<br />

Schach-Engine. Dabei bietet es<br />

eine volle Regelüberprüfung,<br />

zeigt auf Wunsch mögliche eigene<br />

Züge und wahrscheinliche<br />

Reaktionen des Gegners auf<br />

und kann vor gefährlichen Stellungen<br />

warnen.<br />

Optisch bietet Knights 2.2.0<br />

vier Themes vom klassischschlichten<br />

2D-Schwarzweiß-<br />

Look bis zu verspielten animierten<br />

(ab Qt 4.6) Pseudo-<br />

3D-Figuren in mittelalterlicher<br />

Aufmachung. Die optionalen<br />

Schachuhren für die beiden<br />

Kontrahenten borgt Knights<br />

wahlweise in analogen oder digitalen<br />

Varianten beim Plasma-<br />

Desktop. Den Quellcode und<br />

Binärpakete von Knights 2.2.0<br />

für Fedora, Mandriva, Open-<br />

Suse und Ubuntu finden Sie<br />

auf KDE-Apps.org (http://<br />

tinyurl. com/ lu1102-knights).<br />

KURZ NOTIERT<br />

Der deutsche Server-Spezialist<br />

Thomas Krenn AG hat dem freien<br />

Flugsimulationsprojekt Flightgear<br />

eine Workstation aus dem<br />

eigenen Haus mit zwei Sechskern-Xeons,<br />

vier Geforce-GTX-<br />

Grafikkarten und reichlich RAM<br />

gespendet. Die Maschine dient<br />

dem Flightgear-Team zur Weiterentwicklung<br />

des Simulators.<br />

Ein Whitepaper beschreibt, wie<br />

das Projekt den Rechner einsetzt<br />

(http:// tinyurl. com/ lu1102-krenn).<br />

Anfang Dezember wurde via Bundeskartellamt<br />

(Aktenzeichen: B5-<br />

148/ 10) bekannt, wer außer<br />

Microsoft noch hinter der geheimnisvollen<br />

CPTN Holdings steht, die<br />

Novell bei der Übernahme durch<br />

Attachmate fast 900 Patente abkaufen<br />

will: Bei den weiteren Partnern<br />

handelt sich um EMC, Oracle<br />

und Apple (http:// tinyurl. com/<br />

lu1102-cptn). Die Viererbande will<br />

sich mit der Akquisition offenbar<br />

für die nächs te Runde des laufenden<br />

Patentkriegs rund um<br />

Mobilgeräte und speziell Android<br />

bewaffnen.<br />

Mit Cloud Computing und insbesondere<br />

Google wird GNU-Altmeister<br />

Richard M. Stallman<br />

wohl nie mehr richtig warm.<br />

Nachdem er vor zwei Jahren<br />

schon GMail als „schlimmer als<br />

Blödheit“ apostrophiert hatte,<br />

warnt er nun, Googles Chrome-<br />

OS verleite zu „careless computing“,<br />

dem unvorsichtigen Umgang<br />

mit den eigenen Daten<br />

(http:// tinyurl. com/ lu1102-rms).<br />

Oracle gibt Virtualbox 4 frei<br />

Linux-Kalender 2011 von LinuxCommunity.de<br />

Aus den zehn schönsten Fotos<br />

der Leser und zwei redaktionellen<br />

Beiträgen hat unsere<br />

Schwester-Website Linux-Community<br />

einen Jahreskalender<br />

Nach vier kurz aufeinander folgenden<br />

Betas schickte die neue<br />

Virtualbox-Mutter Oracle zu<br />

Weihnachten das finale<br />

Virtualbox 4 (http:// www.<br />

virtualbox. org) in die Welt und<br />

betont als wichtigste Neuerung<br />

deren modulares Konzept: In<br />

der aktuellen Version kommt<br />

die Virtualisierungssoftware in<br />

einzelnen Paketen daher, von<br />

denen lediglich das Basispaket<br />

quelloffen ist. An Erweiterungen<br />

liegt erst einmal nur ein sogenanntes<br />

Extension-Paket von<br />

Oracle vor, das Funktionen<br />

zum Einbinden physikalischer<br />

USB-Ports sowie das Virtualbox<br />

Remote Desktop Protocol<br />

VRDP mitbringt. Sie erkennen<br />

dieses wie andere Virtualbox-<br />

Extension-Pakete an der Endung<br />

.vbox-extpack. Weitere<br />

Neuheiten zeigen sich direkt im<br />

grafischen Frontend, das jetzt<br />

Virtualbox Manager heißt. Die<br />

mit den wichtigsten Linux-<br />

Terminen 2011 zusammengestellt.<br />

Er enthält sämtliche Erscheinungsdaten<br />

unserer Zeitschriften<br />

Admin-Magazin,<br />

Der LinuxCommunity-Kalender 2011 enthält alle wichtigen Linux-<br />

Termine und steht als PDF- und ODF-Dokument zum Download bereit.<br />

GUI ermöglicht nun zum Beispiel<br />

größenverstellbare Fenster<br />

für Gastmaschinen oder<br />

sortierbare VM-Listen. Unter<br />

der Haube haben sich die Orte<br />

geändert, an denen die<br />

Virtualbox ihre Dateien lagert:<br />

VMs sowie deren Konfigurationsdateien<br />

und Disk-Images<br />

speichert der VM-Wizard nun<br />

im Ordner VirtualBox VMs/<br />

VM-Name/ im Home-Verzeichnis<br />

des Anwenders ab.<br />

EasyLinux, <strong>LinuxUser</strong>, Linux-<br />

Magazin, Open Source Spezial<br />

und Ubuntu User, die Termine<br />

der wichtigsten Linux-Veranstaltungen<br />

sowie die geplanten<br />

Releases der großen Distributionen.<br />

Das Kalender-PDF<br />

(http:// tinyurl. com/<br />

lu1102-lcpdf) im praktischen<br />

A4-Format lässt sich zu Hause<br />

ausdrucken, zusammenheften<br />

und an die Wand hängen. Das<br />

lockere Layout bietet auch<br />

noch Platz für eigene Notizen.<br />

Zudem steht der Kalender auch<br />

im „Quellcode“ als OpenOffice-<br />

Tabellendokument zum Download<br />

bereit (http:// tinyurl. com/<br />

lu1102-lcooo), sodass Sie ihn<br />

beliebig ergänzen oder umbauen<br />

können.<br />

18<br />

02 | 11<br />

Das Neueste rund um Linux, aktuelle Kurztests und Artikel aus<br />

<strong>LinuxUser</strong> finden Sie täglich auf www.linux-community.de


Cirkuit zeichnet Schaltpläne und Graphen<br />

Mit Cirkuit stellt der KDE-<br />

Entwickler Matteo Agostinelli<br />

eine neue Anwendung<br />

zum Zeichnen von Schaltplänen<br />

und Graphen vor.<br />

Das Programm war ursprünglich<br />

als Frontend für<br />

die Circuit-Makros gedacht,<br />

die Schaltpläne und andere<br />

Strichgrafiken zur Verwendung<br />

in LaTeX-Dokumenten<br />

produzieren. Die Editorkomponente<br />

von Cirkuit<br />

stammt aus Kate und bietet<br />

Syntax-Highlighting. Cirkuit,<br />

das mittlerweile in<br />

Version 0.3.1.1 vorliegt,<br />

zeigt eine Echtzeit-<strong>Vorschau</strong><br />

und exportiert das Ergebnis<br />

wahlweise in den Formaten<br />

PDF, EPS, SVG, PNG, JPEG<br />

oder Pstricks. Mittlerweile<br />

kann das KDE-4-Programm<br />

auch Gnuplot und Tikz/ PGF<br />

als Backends benutzen, um<br />

Graphen zu generieren. Mittels<br />

der Erweiterung Circui-<br />

Tikz lassen sich elektrische<br />

Schaltpläne erstellen. Die<br />

Software ist auf KDEs Projekt-Plattform<br />

erhältlich, wo<br />

unter anderem der Quelltext<br />

per Git verfügbar ist.<br />

Den Quelltext des unter<br />

GPLv2 lizenzierten Cirkuit<br />

erhalten Sie als Tarball über<br />

die Projekthomepage<br />

(http:// wwwu. uni-klu. ac. at/<br />

magostin/ cirkuit. html).<br />

Dort findet sich auch eine<br />

ausführliche Anleitung zum<br />

Übersetzen des Programms.<br />

Top-Performance Neues rund um Linux zum AKTUELLES Tiefpreis!<br />

Virtuelle Server<br />

netclusive Virtuelle Server:<br />

Mit Cirkuit erstellen Sie nicht nur einfache Zeichnungen und<br />

Schaltpläne, sondern auch anspruchsvollere Grafiken.<br />

X.org 7.6 tauscht HAL und Xlib aus<br />

Mit Version X11R7.6 hat die<br />

X.org-Foundation nach rund<br />

einem Jahr Entwicklung ein<br />

Update des modularen X<br />

Window System veröffentlicht<br />

(http:// www. x. org/<br />

releases/ X11R7. 6/). Zu den<br />

Neuerungen der Version 7.6<br />

zählt unter Linux die nun<br />

vollzogene Umstellung von<br />

HAL auf Udev für die Erkennung<br />

von Eingabegeräten<br />

und beim Hot-Plug. Das X-<br />

Protocol C-Language Binding<br />

(XCB) ersetzt die Xlib, wovon<br />

sich die Entwickler ein besseres<br />

Threading nebst geringerer<br />

Systembelastung und besseren<br />

Reaktionszeiten versprechen.<br />

Zudem brachten<br />

sie die Dokumentation auf<br />

den aktuellen Stand, sie liegt<br />

den Modulen nun in einheitlichem<br />

Format bei. (jlu) ■<br />

• bis zu 3 CPU-Kerne und 8 GB RAM<br />

• bis zu 95 GB Festplatte (RAID 10)<br />

• 5 TB Traffic inklusive<br />

• SSL-Zertifikat inklusive<br />

• Voller Root-Zugriff (SSH)<br />

• 100 % Backup-Speicher<br />

• 99,9 % garantierte Verfügbarkeit<br />

• auch als Managed Server erhältlich<br />

• viele 64-Bit-Betriebssysteme nach Wahl<br />

6 Monate<br />

kostenlos<br />

danach ab 12,99 €*<br />

0800 638 2587 | www.netclusive.de<br />

* Aktion 6 Monate kostenlos bis 28.02.2011. Nach 6 Monaten regulärer monatlicher Grundpreis:<br />

VPS L 12,99 €, VPS XL 16,99 €, VPS XXL 29,99 €. Die Mindestvertragslaufzeit beträgt wahlweise 12 Monate<br />

(Aktion 6 Monate kostenlos entfällt) bzw. 24 Monate (6 Monate kostenlos). Zzgl. 9,99 € einmalige Einrichtungsgebühr.<br />

Die Abrechnung erfolgt vierteljährlich. Alle Preise inkl. MwSt.


AKTUELLES<br />

News: Hardware<br />

JJJJI<br />

Raidons GT1640-1S-SB3<br />

ist das ideale Gehäuse<br />

für Anwender, die maximale<br />

Festplattengeschwindigkeit<br />

in allen<br />

Umgebungen wollen.<br />

Festplattengehäuse mit eSATA und USB 3.0<br />

Von Raidon erreicht uns das erste<br />

Gerät mit eSATA- und USB-3.0-<br />

Schnittstelle, das externe Gehäuse<br />

Geartank GT1640-1S-SB3 für eine<br />

Festplatte im 3,5-Zoll-Format.<br />

Das Fehlen einer eSATA-Schnittstelle<br />

war der Hauptkritikpunkt<br />

beim großen USB3-Peripherie-<br />

Test in LU 08/ 2010, da der Anwender<br />

in Systemen ohne USB 3.0<br />

auf das sehr langsame USB 2.0 zurückgreifen<br />

muss.<br />

Wer sich ein USB-3.0-<br />

Gerät zulegt, der hat es<br />

gerne<br />

schnell –<br />

mobile Geräte<br />

kommen<br />

jedoch auch an<br />

älteren Systemen<br />

zum Einsatz, die<br />

meist keine USB-3.0-<br />

Schnittstelle, dafür aber<br />

oft eSATA haben. Hier<br />

schaffen Lösungen wie das Geartank<br />

GT1640-1S-SB3 von Raidon<br />

Abhilfe. Im Handel ist das Gehäuse<br />

kaum teurer als reine USB-<br />

3.0-Geräte, verfügt jedoch nicht<br />

nur über einen USB-3.0-Anschluss<br />

(abwärtskompatibel zu USB 2.0),<br />

sondern auch über einen eSATA-<br />

Port. Dieser ist sogar als eSATA II<br />

(auch „3G“ für 3 GBit/ s genannt)<br />

für Durchsatzraten jenseits der<br />

150 MByte/ s ausgelegt.<br />

Beim Test mit einer Intel-Postville-SSD<br />

ließ sich die volle<br />

Geschwindigkeit erzielen, etwa<br />

170 MByte/ s sowohl via eSATA<br />

als auch USB 3.0. Geschwindigkeiten<br />

jenseits von 130 MByte/ s<br />

bleiben allerdings SSD-Festplatten<br />

vorbehalten, die im 2,5-Zoll-<br />

Formfaktor daherkommen und<br />

sich daher zwar ins Geartank<br />

GEARTANK GT1640-1S-SB3<br />

GT1640-1S-SB3 stecken, dort<br />

aber nicht verschrauben lassen.<br />

Das den Schlafmodus beherrschende<br />

GT1640-1S-SB3 nutzt einen<br />

ASM1051-Chip von AS Media.<br />

Das lüfterlose Gerät führt die<br />

Wärme über das Aluminiumgehäuse<br />

ab. Es ist als Tray ausgeführt,<br />

in den man die Platte wie in<br />

einem RAID montiert, um sie mit<br />

einem Handgriff wechseln zu können.<br />

Für Einzelplatten erscheint<br />

das Konzept etwas übertrieben.<br />

Entgegen der Angaben auf der<br />

Webseite, dass das GT1640-1S-<br />

SB3 Platten bis zu 2 TByte Kapazität<br />

unterstützt, kommt der Chip<br />

selbst prinzipiell auch mit größeren<br />

Platten zurecht.<br />

Hersteller: Raidon<br />

Produkt: externes Festplattengehäuse<br />

Preis: ca. 70 Euro<br />

Anschlüsse: eSATA/ USB 3.0<br />

Lieferumfang: Gehäuse, Standfuß, Netzteil, eSATA/ USB3-Kabel<br />

Webseite: http:// www. raidon. com. tw/ content. php? sno=0000094& p_id=70<br />

JJJJI<br />

Verbatims Quad-Interface-Festplatte<br />

lässt<br />

sich an praktisch jeden<br />

Rechner anschließen<br />

und bietet überzeugende<br />

Performance.<br />

Quad-Interface-Festplatte mit guter Ausstattung<br />

Platten mit vielen Anschlüssen<br />

sind schwer zu finden – Lacie und<br />

Onnto sind die bekanntesten<br />

Hersteller in dieser Kategorie.<br />

Eine der seltenen Quad-Interface-<br />

Platten erreicht uns vom altehrwürdigen<br />

Speichermedien-Hersteller<br />

Verbatim, der seit einiger<br />

Zeit auch Festplatten im Pro-<br />

gramm führt. Die ganz schlicht<br />

nur face External<br />

„Quad-Intersogar<br />

das Hard Drive“<br />

genannte<br />

Platte mit einer<br />

Kapazität<br />

von 1 TByte<br />

kommt mit<br />

vielen Kabeln<br />

daher: eSATA,<br />

Firewire 400,<br />

Firewire 800,<br />

USB 2.0 und<br />

in<br />

vielen Laptops verbaute 4-Pin-<br />

Firewire 400 (auch als iLink bezeichnet)<br />

legt Verbatim bei.<br />

Die Platte bietet das Maximum<br />

an Anschlüssen: Neben USB 2.0,<br />

eSATA und Firewire 400 findet<br />

sich auch zweimal Firewire 800<br />

für den Festplattenbetrieb in<br />

Reihe. Das integrierte Netzteil<br />

macht die mit Standfuß gelieferte<br />

Platte allerdings deutlich größer<br />

und schwerer als andere Geräte.<br />

Dafür versieht der kleine integrierter<br />

Lüfter seinen Dienst beinahe<br />

geräuschlos, das wertig wirkende<br />

gebürstete Gehäuse aus<br />

eloxiertem Aluminium wird selbst<br />

unter Last nur handwarm. Im<br />

Performancetest überzeugt die<br />

Verbatim-Platte mit Lesegeschwindigkeiten<br />

von 32 MByte/ s<br />

für USB 2.0, 39 MByte/ s für Firewire<br />

400, 76 MByte/ s für Firewire<br />

800 und 102 MByte/ s für<br />

eSATA. Einziger Kritikpunkt, der<br />

allerdings auch für die Konkurrenz<br />

gilt: Es gibt kein USB 3.0.<br />

Der Preis wirkt für eine 1-TByte-<br />

Platte hoch, erscheint für eine<br />

Quad-Interface-HDD allerdings<br />

angemessen; Leergehäuse hierfür<br />

kosten meist rund 50 bis 60 Euro.<br />

QUAD-INTERFACE EXTERNAL HARD DRIVE<br />

Hersteller: Verbatim<br />

Produkt: 3,5-Zoll-Festplatte<br />

Preis: ca. 110 Euro<br />

Spezifikationen: 1 TByte, 1,46 kg, Lesegeschwindigkeit: 32 MByte/ s USB 2.0,<br />

39 MByte/ s FW400, 76 MByte/ s FW800, 102 MByte/ s eSATA<br />

Webseite: http:// tinyurl. com/ verbatim-quad<br />

20 02 | 11<br />

www.linux-user.de


News: Hardware<br />

AKTUELLES<br />

Flinke Hybrid-Festplatte mit 4 GByte SSD-Cache<br />

Bei Seagates Momentus-XT-Serie<br />

handelt es sich um Festplatten<br />

mit 500, 320 oder 250 GByte<br />

Kapazität, die zusätzlich 4 GByte<br />

SSD-Speicher (SLC-NAND) integrieren.<br />

Der SSD-Lesecache puffert<br />

oft gelesene Dateien (etwa beim<br />

System- oder Programmstart) automatisch,<br />

sodass diese mit SSD-<br />

Geschwindigkeit zur Verfügung<br />

stehen. Anders als der nur unter<br />

Windows nutzbare Hybrid-Vorgänger<br />

Momentus XP, arbeitet die<br />

MOMENTUS XT 500 GB<br />

XT auf Blockebene und funktioniert<br />

daher mit allen Datei- und<br />

Betriebssystemen.<br />

Im Test stoppten wir die Bootzeit<br />

von Ubuntu 10.10 mit automatisch<br />

startendem OpenOffice<br />

Writer, Calc und Impress sowie<br />

Gimp, Shotwell (mit 550 Bildern),<br />

PiTiVi und Firefox. Während eine<br />

3,5-Zoll-Barracuda-Festplatte dafür<br />

36 Sekunden benötigte,<br />

brauchte eine Intel-SSD des Typs<br />

X25-V lediglich 18 Sekunden. Die<br />

Hersteller: Seagate<br />

Produkt: 2,5-Zoll-Festplatte<br />

Preis: ca. 120 Euro<br />

Spezifikationen: 500 GByte HDD, 4 GByte SSD, 32 MByte Cache, 7200 U/ min,<br />

SATA II/ 3G, Lesen 102 MByte/ s (Hdparm) Schreiben 81 MByte/ s (Nautilus)<br />

Webseite: http:// tinyurl. com/ lu1210-momentus-xt<br />

sehr leise Momentus XT lag jedoch<br />

nur knapp dahinter: Beim<br />

ersten Start, bei dem der SSD-<br />

Cache noch nicht griff, benötigte<br />

sie noch 42 Sekunden. Der zweite<br />

Start dauerte noch 27 Sekunden,<br />

beim dritten vergingen nur noch<br />

21 Sekunden. Der für System wie<br />

Anwender völlig transparente<br />

Hyb rid-Ansatz funktioniert<br />

auch in vielen anderen Szenarien,<br />

in denen SSDs<br />

brillieren. Die<br />

Seagate Momentus<br />

XT präsentiert<br />

sich damit<br />

als ideale Wahl für alle,<br />

die mit SSD liebäugeln, aber<br />

weder Kompromisse bei der Plattengröße<br />

eingehen, noch Unsummen<br />

zahlen wollen.<br />

JJJJI<br />

Die Hybrid-Platte Momentus<br />

XT bietet zum erschwinglichen<br />

Preis viel<br />

Platz und in vielen Fällen<br />

SSD-Performance.<br />

Neuer Black-Edition-Quadcore von AMD<br />

AMD stellt als neues Topmodell<br />

der Vierkern-Serie nun<br />

den Phenom II X4 970 Black<br />

Edition mit 3,5 GHz Taktrate<br />

vor. Für Großabnehmer kostet<br />

die CPU 185 US-Dollar, 14 Dollar<br />

mehr als der mit 3,4 GHz<br />

getaktete Phenom II X4 965<br />

BE. Außer der angehobenen<br />

Taktrate bleibt beim X4 970 BE<br />

ansonsten alles beim Alten.<br />

Wie bei allen „Black Editions“<br />

lässt sich der Taktmultiplikator<br />

frei einstellen. Unser Testmodell<br />

weist<br />

den bekannten<br />

„Deneb“-<br />

Kern vom<br />

Januar 2009<br />

auf. Da sich<br />

außer dem<br />

Takt nichts<br />

ändert, fällt auch die Performance<br />

entsprechend aus: Die<br />

2,9 Prozent mehr Takt setzt<br />

der X4 970 BE im LUbench-<br />

CPU-Test in eine Mehrleistung<br />

von 2,7 Prozent zum Vorgänger<br />

X4 965 BE um (546 statt<br />

532 Punkte). Damit bewegt<br />

sich der Phenom II X4 970 BE<br />

in derselben Leistungsklasse<br />

wie der 11 US-Dollar teurere,<br />

aber deutlich Strom sparendere<br />

Core i7 750 von Intel<br />

(550 Punkte). (jlu) ■<br />

JJJJI<br />

Der Phenom II X4 970<br />

Black Edition liefert bei<br />

fast identischem Preis<br />

etwas mehr Leistung<br />

als der Vorgänger,<br />

schluckt aber deutlich<br />

weniger Strom.<br />

openbook<br />

online!<br />

NEU<br />

Linux, Ausgabe 2011<br />

1302 S., 4. Auflage 2011, mit 2 DVDs, 39,90 €<br />

» www.GalileoComputing.de/2522<br />

NEU<br />

<strong>Einstieg</strong> in Ubuntu 10.10<br />

»Maverick Meerkat«<br />

412 S., 4. Auflage 2011, mit DVD, 19,90 €<br />

» www.GalileoComputing.de/2521<br />

Linux-Know-how<br />

Linux-Server<br />

www.GalileoComputing.de<br />

GIMP 2.6<br />

PHENOM II X4 970 BLACK EDITION<br />

Hersteller: AMD<br />

Produkt: CPU<br />

Spezifikationen: Sockel AM2+/ AM3, K10-Architektur, L2/ L3-Cache<br />

512 KByte/ 6 MByte, Strukturbreite 45nm, TDP 125 Watt<br />

LUbench-Punkte (Ubuntu 9.04, 64 Bit): 546<br />

Webseite: http:// tinyurl. com/ phenomx4-970be<br />

815 S., 2011, 49,90 €<br />

» www.GalileoComputing.de/2205<br />

920 S., 2010, komplett in Farbe, mit DVD, 49,90 €<br />

» www.GalileoDesign.de/2395<br />

Wissen, wie’s geht.<br />

www.linux-user.de<br />

02 | 11 21


AKTUELLES<br />

Angetestet<br />

JJJII<br />

Mount_dd bindet ISOund<br />

Festplatten-Images<br />

mit wenigen Mausklicks<br />

ins System ein und erleichtert<br />

so den Zugriff.<br />

ISOs und HDD-Images einbinden mit Mount_dd<br />

Mobile Datenträger wie CDs oder<br />

USB-Sticks binden aktuelle Linux-<br />

Distributionen zwar selbstständig<br />

ins System ein, beim Einhängen<br />

von ISO- oder Festplatten-Images<br />

muss man aber noch selbst Hand<br />

anlegen. Mit Mount_dd steht jetzt<br />

ein kompaktes Shell-Skript zur<br />

Verfügung, das die einzelnen<br />

Mount-Schritte hinter einer übersichtlichen<br />

Oberfläche zusammenfasst.<br />

Für die grafische Oberfläche<br />

greift das Tool auf Zenity<br />

zurück. Da unter<br />

Linux nur Benutzer<br />

mit administrativen<br />

Rechten Geräte oder<br />

Images in den Verzeichnisbaum<br />

einhängen<br />

dürfen, prüft<br />

Mount_dd direkt<br />

beim Start, ob Sie<br />

über die erforderlichen<br />

Privilegien<br />

verfügen. Ist das der Fall, startet<br />

das Tool mit einer Funktionsauswahl.<br />

Sie haben die Möglichkeit,<br />

ein Image lesend oder schreibend<br />

einzubinden, ein ISO einzuhängen<br />

oder ein bereits integriertes Image<br />

wieder aus dem Verzeichnissystem<br />

zu entfernen. ISO-Images, also der<br />

Abzug einer CD oder DVD, lassen<br />

sich grundsätzlich nur für den Lesezugriff<br />

einbinden. Mit dd erzeugte<br />

Festplattenabbilder dürfen<br />

Sie auch zum Beschreiben einbinden<br />

und nachbearbeiten. Image-<br />

Formate wie AFF, das Advanced<br />

Forensics Format, oder das Expert<br />

Witness Format EWF bindet<br />

Mount_dd wiederum ausschließlich<br />

für den Lesezugriff ein: Da es<br />

sich hier um Formate zur forensischen<br />

Beweissicherung handelt,<br />

wäre jeder Schreibzugriff katastrophal.<br />

Haben Sie sich für eine der<br />

Mount-Optionen entschieden,<br />

öffnet Mount_dd nacheinander<br />

verschiedene Dateidialoge, in denen<br />

Sie das einzubindende Image<br />

und den Einhängepunkt im Verzeichnisbaum<br />

auswählen. Nach<br />

dem Einbinden des Images öffnet<br />

Mount_dd außerdem den Nautilus<br />

mit dem Verzeichnis des Einhängepunkts.<br />

Bevorzugen Sie einen<br />

anderen Dateimanager, müssen<br />

Sie das Mount_dd-Skript entsprechend<br />

modifizieren.<br />

Mount_dd selbst beendet sich<br />

nach erfolgreichem Einbinden<br />

eines Images nicht, sondern kehrt<br />

in die Startauswahl zurück. Dort<br />

beenden Sie das Tool gegebenenfalls<br />

über die Stop-Option.<br />

MOUNT_DD 1.3<br />

Lizenz: OSL<br />

Quelle: http:// netsorcist. be/<br />

freebieken/<br />

JJJJI<br />

Mithilfe des <strong>Python</strong>-Programms<br />

Speedometer<br />

behalten Sie den Datendurchsatz<br />

auf einzelnen<br />

Schnittstellen oder die<br />

Übertragung einer Datei<br />

im Auge.<br />

Den Datendurchsatz mit Speedometer im Auge<br />

Möchten Sie wissen, wie hoch der<br />

Datendurchsatz auf einer bestimmten<br />

Netzwerkschnittstelle<br />

ausfällt oder wie schnell eine Datei<br />

übertragen wird, dann brauchen<br />

Sie ein Tool wie Speedometer.<br />

Das <strong>Python</strong>-Programm erfasst<br />

den Datendurchsatz und<br />

stellt ihn in einer Konsole grafisch<br />

dar. Dazu greift es auf die<br />

Urwid-Bibliotheken zurück.<br />

Stand ardmäßig bietet Speedometer<br />

eine 16-farbige Darstellung,<br />

auf Wunsch zeigt es auch bis zu<br />

256 verschiedene Farben an. Falls<br />

Sie nichts anderes vorgegeben,<br />

erfasst das Programm die Durchsatzdaten<br />

im Sekundentakt, Sie<br />

können aber auch eine andere<br />

Intervallgröße festlegen.<br />

Für jede überwachte Komponente<br />

zeichnet Speedometer im<br />

Konsolenfenster einen separaten<br />

Graphen, ganz gleich, ob es sich<br />

um eine Netzwerkschnittstelle<br />

oder den Download einer Datei<br />

handelt. Standardmäßig ordnet<br />

es die Graphen untereinander an.<br />

Geben Sie dagegen beim Aufruf<br />

vor einer Komponente den Parameter<br />

-c an, stellt Speedometer<br />

diese und alle folgenden Komponenten<br />

in einer eigenen Spalte<br />

dar. Auf diese Weise lassen sich<br />

mehrere Ausgaben übersichtlich<br />

in ein Terminalfenster packen.<br />

Ungeachtet dessen geht insbesondere<br />

bei kleinen Terminalfenstern<br />

schnell der Überblick verloren.<br />

In diesem Fall empfiehlt es<br />

sich, mehrere Speedometer-Instanzen<br />

zu starten. Überwacht das<br />

Programm den Datentransfer einer<br />

Datei, beendet es sich nach<br />

abgeschlossener Übertragung automatisch,<br />

sofern Sie es mit dem<br />

Parameter -x gestartet haben.<br />

Können Sie auf die grafische<br />

Darstellung des Datendurchsatzes<br />

verzichten, bietet Speedometer<br />

mit dem Parameter -p auch<br />

eine reine Textausgabe. Allerdings<br />

lässt sich auf diese Weise<br />

nur der Datenstrom in eine Richtung<br />

anzeigen. Somit eignet sich<br />

diese Ausgabeform eher zum Protokollieren<br />

des Durchsatzes in<br />

eine Datei. Auf der Webseite des<br />

Programms finden Sie bei Interesse<br />

noch weitere Nutzungsbeispiele<br />

und Anregungen.<br />

SPEEDOMETER 2.7<br />

Lizenz: LGPL<br />

Quelle: http:// excess. org/<br />

speedometer/<br />

0<br />

22 02 | 11<br />

www.linux-user.de


Angetestet<br />

AKTUELLES<br />

Das heimische Fotoarchiv im Griff mit VVVP<br />

Virtual Volumes View PhotoEdition<br />

oder kurz VVVP unterstützt<br />

Sie beim Verwalten und Katalogisieren<br />

von Bildern. Das kompakte,<br />

in C++ geschriebene Programm<br />

liegt in Versionen für Mac OS X<br />

und Windows vor, benötigt keinerlei<br />

Installation und ist sofort<br />

nach dem Entpacken lauffähig.<br />

Die Metadaten der verwalteten<br />

Bilder legt das Programm in der<br />

mitgelieferten Firebird-Datenbank<br />

ab. Neben den zugehörigen<br />

Exif-Daten und einem Miniaturbild<br />

erzeugt und speichert VVVP<br />

VVVP 0.95<br />

Lizenz: GPLv2<br />

Quelle: http:// vvvp. sourceforge. net<br />

auch einen SHA1-Hash zu jedem<br />

Eintrag. Sie haben die Möglichkeit,<br />

jedes Bild mit einem Kommentar<br />

zu versehen. Sämtliche<br />

Bilder verwaltet VVVP in einem<br />

Katalogsystem. Dabei unterscheidet<br />

es zwischen vier unterschiedlichen<br />

Katalogansichten. In der<br />

fixed-Ansicht verwaltet das Tool<br />

Kataloge mit Bildern, die auf der<br />

lokalen Festplatte liegen und daher<br />

immer verfügbar sind. Die<br />

removable-Ansicht enthält all jene<br />

Kataloge, deren Bilder auf einem<br />

Wechseldatenträger lagern. Die<br />

virtuelle Ansicht erlaubt das Verwalten<br />

von Bildern in einer logischen<br />

Verzeichnisstruktur, unabhängig<br />

vom Medium. Zu guter<br />

Letzt steht mit der search-Ansicht<br />

ein Instrument für die Bildsuche<br />

über verschiedene Kataloge zur<br />

Verfügung. Die im aktuellen Katalog<br />

enthaltenen Bilder zeigt VVVP<br />

in der Miniaturbild-Übersicht an.<br />

Hier wählen Sie zwischen einer<br />

Anzeige der Thumbnails in verschiedenen<br />

Größen oder lassen<br />

sich lediglich eine Liste mit Dateinamen<br />

anzeigen.<br />

Beim Anklicken<br />

eines<br />

Eintrags öffnet<br />

VVVP das entsprechende<br />

Bild<br />

– vorausgesetzt,<br />

der jeweilige Datenträger<br />

befindet<br />

sich auch im<br />

System.<br />

JJJII<br />

VVVP präsentiert sich<br />

als leistungsfähiges und<br />

dabei plattformübergreifendes<br />

Hilfsmittel zum<br />

Archivieren und Organisieren<br />

großer Mengen<br />

von Bildern.<br />

Zim, das probate Wiki für den Desktop<br />

Möchten auch Sie Ihr Know-how Programm in einer Verzeichnisstruktur,<br />

gerne in einem Wiki verwalten,<br />

auf die Sie über ein Navi-<br />

scheuen jedoch den Aufbau einer gationsverzeichnis am linken<br />

entsprechenden Infrastruktur mit Fens terrand direkt zugreifen. Den<br />

Datenbank und Webserver, dann aktuellen Eintrag bearbeiten Sie<br />

sollten Sie einen Blick auf Zim nach Belieben und verknüpfen ihn<br />

werfen: Die Anwendung bietet die dabei über Links mit anderen.<br />

Kernfunktionen eines Wikis als lokale<br />

Sämtliche Einträge legt Zim in ei-<br />

Applikation. Zim basiert auf ner Notizbuchdatei ab, wobei das<br />

den GTK-Bibliotheken und wartet Erstellen mehrerer Notizbücher<br />

mit einer übersichtlichen Oberfläche<br />

die Möglichkeit bietet, mehrere<br />

auf. Wichtige Elemente des in-<br />

voneinander unabhängige Wikis<br />

tegrierten WYSIWYG-Editors sowie<br />

aufzubauen. Auf Wunsch erzeugt<br />

eine Reihe von Navigations-<br />

das Tool auch einen Index über die<br />

symbolen stehen über die Symbolleiste<br />

jeweilige Notizdatei. Zur weiteren<br />

jederzeit zur Verfügung. Die Nutzung in anderen Programmen<br />

einzelnen Einträge verwaltet das lassen sich Einträge oder ganze<br />

Notizdateien mithilfe der Exportfunktion<br />

ZIM 0.49<br />

nach HTML-Dateien<br />

Lizenz: GPLv2<br />

oder LaTeX übertragen. Mittels<br />

Plugins lässt sich der Funktionsumfang<br />

19:00 Uhr von Zim Seite praktisch 1<br />

Quelle: http:// zim-wiki. org<br />

00_LU1106_F-Weber_neu1.qxd 18.09.2006 beliebig<br />

erweitern. Das Programmarchiv<br />

enthält bereits 15 Plugins, die<br />

Sie bei Gefallen nur zu aktivieren<br />

brauchen – vorausgesetzt, die zugehörigen<br />

Drittprogramme wie<br />

beispielsweise Plot sind auf dem<br />

System installiert. Die Palette der<br />

mitgelieferten Erweiterungen<br />

reicht vom Kalender über Diagramm-Tools<br />

bis zur Rechtschreibkontrolle.<br />

Als besonderes Goodie<br />

bringt Zim einen Webserver mit,<br />

über den auch externe<br />

Anwender<br />

auf die aktuelle<br />

Notizdatei zugreifen<br />

können.<br />

Das Verändern<br />

von Einträgen<br />

funktioniert auf<br />

diesem Weg aber<br />

nicht. (jlu) ■<br />

JJJJJ<br />

Zim eignet sich hervorragend<br />

als einfach zu bedienende<br />

lokale Informationsablage.<br />

X23


SCHWERPUNKT<br />

<strong>Python</strong>-IDE Eric<br />

<strong>Python</strong>-Programme schreiben in der IDE Eric<br />

Recht gut<br />

entwickelt<br />

Die <strong>Python</strong>-IDE Eric4 vereinfacht das Schreiben von<br />

Skripten und komplexen Programmen durch<br />

zahlreiche Komfortfunktionen. Daniel Stender<br />

© Lolamix, sxc.hu<br />

Für <strong>Python</strong> [1] gibt es im Bereich<br />

der freien Software mittlerweile<br />

eine ganze Reihe von Programmierumgebungen<br />

[2]. Das Tool<br />

Eric von Detlev Offenbach [3] gehört<br />

zu den ausgereifteren und<br />

steht für <strong>Python</strong> 2.x (Eric4) mittlerweile<br />

in der Version 4.4.9 zur<br />

Verfügung (4.4.7 in Debian „Testing“,<br />

4.4.4a in Ubuntu „Maverick“,<br />

4.3.7 in Fedora) und präsentiert<br />

sich als umfangreiche,<br />

schlichte IDE speziell für <strong>Python</strong>,<br />

die aber auch mit Ruby umgehen<br />

kann. Bei Bedarf installieren Sie<br />

Eric auf Systemen wie Debian<br />

oder Ubuntu ohne Weiteres über<br />

den Paketmanager (sudo apt‐get<br />

install eric). Für Informationen<br />

zu Eric5 lesen Sie den Kasten<br />

Eric5 für <strong>Python</strong> 3.<br />

Vor allem wenn Sie Qt­Applikationen<br />

oder selbst Eric­Plugins<br />

schreiben möchten, empfiehlt es<br />

sich, das Zusatzpaket eric-api-files<br />

mit zu installieren, das spezielle<br />

Vorlagen für das Vervollständigen<br />

von Code enthält. Wenn Sie Plugins<br />

über Eric installieren, dann<br />

gilt es unter Umständen, zusätzliche<br />

Software per Hand nachzuziehen.<br />

Obwohl das Paketmanagement<br />

das Paket python-qt4-sql nur<br />

als Vorschlag anzeigt (apt‐cache<br />

show eric), lohnt es sich, dieses direkt<br />

im gleichen Atemzug mit zu<br />

installieren. Das Standard­Plugin<br />

Assistant Eric greift darauf zu. Außerdem<br />

gibt es manchmal Fehlermeldungen,<br />

wenn das Paket<br />

libqt4-sql-sqlite nicht im System<br />

eingerichtet ist.<br />

README<br />

Die auf Basis von Qt<br />

entwickelte <strong>Python</strong>-IDE<br />

Eric bietet ein umfangreiches<br />

Projektmanagement<br />

mit automatischer<br />

Todo-Liste, zahlreichen<br />

Hilfsfunktionen sowie<br />

ein Interface zu Versionskontrollsystemen.<br />

ERiC5 füR PyTHoN 3<br />

Mit dem Release von <strong>Python</strong> 2.7 im Juli 2010 endet der<br />

Versionszweig 2.x offiziell. Er wird noch gepflegt, auch Updates<br />

fließen ein. Da der Nachfolger <strong>Python</strong> 3 sich nicht<br />

mehr abwärtskompatibel verhält, sind Entwickler angehalten,<br />

ihre Programme für den Zweig 3.x umzuschreiben, was<br />

nur schleppend geschieht. <strong>Python</strong> 2.6 fungiert noch immer<br />

als Standard für Debian 6.0 „Squeeze“, und eine Menge<br />

beliebter Bibliotheken haben weiterhin ihre Probleme mit<br />

dem entscheidend veränderten <strong>Python</strong> 3 (aktuell 3.1).<br />

Einige Applikationen und Module unterhalten – wie <strong>Python</strong><br />

selbst bisher – zwei getrennte, parallele Entwicklungszweige.<br />

Das in <strong>Python</strong> geschriebene Eric findet sich in der<br />

aktuellen <strong>Python</strong>-3-Version (5.0.3) noch nicht in Debian oder<br />

Ubuntu. Unter anderem gab es zu Redaktionsschluss immer<br />

noch Probleme mit den <strong>Python</strong>-3-Bindings der Qt4-<br />

Biblio thek PyQt, obwohl aktuelle Versionen davon <strong>Python</strong> 3<br />

eigentlich bereits unterstützen (Debian Bug #558389). Der<br />

Schwerpunkt der Weiterentwicklung von Eric findet bereits<br />

in Eric5 statt. Hier gibt es ein Plugin für die Mercurial-<br />

Schnittstelle, Funktionen für die Echtzeit-Kollaboration in<br />

Form eines Chat-Widgets und eines Shared Editors sowie<br />

ein Interface zum Codechecker Pyflakes.<br />

Eric5 ohne Hilfe des Paketmanagers zu installieren, bereitet<br />

einige Probleme: Das Kommando python3 install.py<br />

im Hauptverzeichnis des entpackten Tarballs führt zum Hinweis,<br />

dass das Modul PyQt4.QtCore nicht bereitsteht (Problem<br />

mit den <strong>Python</strong>-3-Bindings). Versuchen Sie den Trick,<br />

die PyQt-Bibliothek (aktuell im <strong>Python</strong> Package Index:<br />

v4.8.1) in Debian „Testing“ manuell zu installieren, erhalten<br />

Sie den Hinweis, dass die vorhandene Version des Interface-Generators<br />

SIP (v4.10.2) damit nicht zusammenarbeitet,<br />

und somit manuell in der aktuellsten Version nachinstalliert<br />

wäre (Package Index: v4.11.2). Allerdings macht<br />

es keinen Sinn, sich so weitab vom Upstream-Status der<br />

verwendeten Distribution zu bewegen. So bleibt nur übrig,<br />

abzuwarten, bis sich alles weiterentwickelt hat.<br />

24 02 | 11<br />

www.linux-user.de


<strong>Python</strong>-IDE Eric<br />

SCHWERPUNKT<br />

Starten Sie die IDE, so öffnet sich<br />

kurz ein Splashscreen mit dem<br />

Eric­Maskottchen – einem kleinen,<br />

frechen Troll. Kurz danach<br />

erscheint der Hauptbildschirm. In<br />

der Mitte befindet sich das Editorfenster,<br />

um das sich eine Reihe<br />

von Toolboxen anordnen lässt,<br />

darunter ein Terminalfenster und<br />

eine <strong>Python</strong>­Shell (Abbildung ).<br />

Details des Layouts passen sich<br />

dabei der Bildschirmauflösung an.<br />

Grundfunktionen<br />

Das Programm bietet die Möglichkeit,<br />

das Aussehen individuell<br />

zu verändern und in verschiedenen<br />

Profilen abzuspeichern (siehe<br />

Dropdown­Menü Fenster). Selbst<br />

wer nicht gleich Klassen und Module,<br />

sondern erst mal einfachere<br />

Programme schreibt, stellt sehr<br />

schnell fest, dass es in Eric an allen<br />

Ecken und Enden kleine nützliche<br />

Helferlein gibt.<br />

Haben Sie Ihren ersten Programmcode<br />

geschrieben und diesen<br />

als <strong>Python</strong>­Programm mit der<br />

Endung .py abgespeichert, dann<br />

zeigt die IDE zum Beispiel sofort<br />

alle syntaktisch falschen Stellen<br />

im Code an. Starten Sie nach deren<br />

Beseitigung dann das Programm<br />

mit Start | Script ausführen,<br />

hebt die Software zusätzlich<br />

noch tiefer sitzende Fehler im<br />

Quellcode automatisch hervor.<br />

Eric fragt vor dem Ausführen außerdem<br />

noch nach optionalen<br />

Werten wie zum Beispiel Kommandozeilenparameter.<br />

Die Applikation bietet selbstverständlich<br />

Syntax­Highlighting,<br />

beherrscht aber auch das automatische<br />

Vervollständigen des Codes<br />

(nach Aktivieren in den Einstellungen).<br />

Sie prüft das Setzen von<br />

Klammern und kontrolliert die<br />

Einrücktiefe, aus der sich in <strong>Python</strong><br />

die Konstruktion von Strukturen<br />

wie Klassen, Funktionen<br />

oder Schleifen ergibt.<br />

Außerdem erlaubt es Eric, zusammenhängende<br />

Abschnitte wie<br />

zum Beispiel Funktionen nach<br />

Bedarf ein­ und wieder aufzufalten<br />

(„Code folding“). Der Editor<br />

erlaubt es zudem, Lesezeichen an<br />

beliebigen Stellen im Code anzubringen.<br />

Als nette Dreingabe exportiert<br />

die Software auf Wunsch<br />

den Quellcode schick eingefärbt<br />

als PDF­Datei, HTML­, RTF­ oder<br />

als TeX­Dokument.<br />

Debugging<br />

Existieren logische Fehler im Programm,<br />

spüren Sie diese in einer<br />

IDE wie Eric am einfachsten mithilfe<br />

des Debuggers auf. Dazu<br />

starten Sie Ihr selbstgeschriebenes<br />

Programm im Debugging­Modus<br />

(Start | Debug Skript). Vorher<br />

setzen Sie noch Haltepunkte (Debug<br />

| Haltepunkt setzen) in den<br />

Quellcode, an denen der Debugger<br />

das Ausführen des Programms<br />

anhält. Die Anzeige schaltet dann<br />

auf das Profil Debuggen um (Fenster<br />

| Debuggen Profil), und rechts<br />

neben dem Editorfenster öffnet<br />

sich ein weiterer Dialog mit verschiedenen<br />

Analyse­Listen (Dateibrowser,<br />

lokale und globale Variablen),<br />

die den Status des Programms<br />

am Haltepunkt jeweils<br />

genau abbilden (Abbildung ).<br />

Jetzt haben Sie die Möglichkeit,<br />

zwischen den Haltepunkten hinund<br />

herzuspringen (Debug |<br />

Nächster/ Vorheriger Haltepunkt)<br />

Das Hauptfenster<br />

bietet neben dem<br />

Code-Editor Zugriff auf<br />

ein Terminal, eine <strong>Python</strong>-Shell<br />

und zeigt<br />

zudem die Struktur<br />

des Projektes an.<br />

Im Debugging-Profil<br />

sehen Sie genau, welche<br />

Werte lokale und<br />

globale Variablen zur<br />

Laufzeit haben.<br />

www.linux-user.de<br />

02 | 11 25


SCHWERPUNKT<br />

<strong>Python</strong>-IDE Eric<br />

Das Pylint-Plugin<br />

fördert Schwächen im<br />

Quellcode zutage.<br />

Mit einem entsprechenden<br />

Autopiloten<br />

definieren Sie via<br />

Dialog einen regulären<br />

Ausdruck passend zur<br />

<strong>Python</strong>-Version.<br />

und sich in Einzelschritten (Debug<br />

| Einzelschritt) oder größeren,<br />

ganzen Prozedurschritten umherzubewegen,<br />

um die Interna des<br />

Programmablaufs im Detail nachzuvollziehen.<br />

Auf diese Weise decken<br />

Sie verborgene Fehler im<br />

Code auf, wie etwa falsch zugewiesene<br />

Variablen.<br />

Versionskontrolle<br />

Eine luxuriöse IDE wie Eric entwickelt<br />

ihren vollen Funktionsumfang<br />

allerdings erst dann so<br />

richtig, wenn Sie ganze<br />

Projekte damit betreuen<br />

und mehrere<br />

aufeinander bezogene<br />

Dateien gleichzeitig<br />

damit pflegen. Über<br />

den Punkt Projekt |<br />

Neu erstellen Sie den<br />

Rahmen für ein solches<br />

Unterfangen.<br />

Das Programm fragt<br />

zunächst die Projekteigenschaften<br />

ab –<br />

unter anderem, ob Sie<br />

schon vorhandene<br />

Dateien hinzufügen<br />

wollen.<br />

Optional wählen Sie<br />

ein Versionskontrollsystem<br />

aus. Die Versionskontrolle<br />

gehört zu den wichtigen<br />

Bestandteilen von fortgeschrittener<br />

Software­Entwicklung.<br />

Auch Einsteigern bietet die<br />

Möglichkeit Vorteile, auf Knopfdruck<br />

ältere Versionen wiederzuherstellen.<br />

Außerdem liegt in einem<br />

zentralem Repository der<br />

Schlüssel zum Entwickeln mit<br />

mehreren Beteiligten.<br />

Die Grundinstallation von Eric<br />

bietet ein Interface für Subversion<br />

(SVN, [4]). Daneben existieren<br />

Plugins für andere Versionskontrollsysteme<br />

wie CVS<br />

und Mercurial. Ein lokales<br />

Repository für<br />

Subversion legen Sie<br />

auf der Kommandozeile<br />

via svnadmin<br />

create ~/src/Projekt<br />

an. Das setzt natürlich<br />

voraus, dass Sie<br />

das Paket subversion<br />

installiert haben.<br />

Fragt Eric beim Erstellen<br />

eines neuen<br />

Projektes nach den<br />

Daten des Repositorys,<br />

so wählen Sie<br />

nun Protokoll: file://<br />

und geben den entsprechenden<br />

Pfad an.<br />

Eric erstellt dann die<br />

Basisdateien für ein<br />

Projekt (den Marker<br />

__init__.py sowie die<br />

Datei Projekt.e4p) und bucht sie<br />

gemäß der Standard­Hierarchiestruktur<br />

von Subversion direkt<br />

ins Unterverzeichnis trunk im Repository<br />

ein. Die verschiedenen<br />

Funktionen von Subversion erreichen<br />

Sie nun bequem über Projekt<br />

| Versionskontrolle.<br />

Genauso gut funktioniert es,<br />

mit verfügbaren Netzwerkprotokollen<br />

von Subversion entfernte<br />

Repositorien anzusprechen. Jede<br />

neue Datei im Projekt steht nun<br />

automatisch unter der Versionskontrolle.<br />

Falls gewünscht, entfernen<br />

Sie ein File gegebenenfalls<br />

im Dateibrowser oben links mit<br />

Rechtsklick | Versionskontrolle |<br />

Vom Repository (und der Platte) löschen<br />

aus der Versionskontrolle.<br />

Erstellen Sie bei geöffnetem Projekt<br />

eine neue Datei oder ein Modul<br />

mit Datei | Neu, müssen Sie<br />

diese zunächst mit Datei | In Projekt<br />

speichern abspeichern. Danach<br />

erscheint in der Projektanzeige<br />

oben links das neue Modul mit allen<br />

Variablen, Funktionen und<br />

Klassen im Datei­ beziehungsweise<br />

Klassenbrowser.<br />

Interfaces<br />

Eric bietet Interfaces für eine ganze<br />

Reihe von Tools, die beim Entwickeln<br />

von Software mit <strong>Python</strong><br />

helfen. Zum Teil gehören die Plugins,<br />

die mehr Flexibilität bieten,<br />

nicht zur Standard­Distribution.<br />

Um also beispielsweise die Funktion<br />

für den Quellcode­Checker<br />

Pylint [5] nachzuziehen, wechseln<br />

Sie mit Plugins | Repository in den<br />

entsprechenden Dialog, wählen<br />

das Plugin aus, laden es herunter<br />

und installieren es. Ergibt die Prüfung<br />

unter Plugins | Plugin Informationen,<br />

dass es noch nicht aktiv<br />

ist, holen Sie das mit Rechtsklick |<br />

Aktivieren nach.<br />

Haben Sie nun auch noch das<br />

Paket pylint installiert (v0.21.1 in<br />

Debian „Testing“ und Ubuntu<br />

„Maverick“), gilt es noch, Eric neu<br />

zu starten. Danach werten Sie Ihren<br />

Code über Projekt | Prüfen |<br />

PyLint ausführen auf Schwächen<br />

hin aus. In Abbildung rügt der<br />

26 02 | 11<br />

www.linux-user.de


<strong>Python</strong>-IDE Eric<br />

SCHWERPUNKT<br />

Checker zum Beispiel fehlende<br />

Docstrings. Auch Code­Profiling<br />

mithilfe des Moduls profile [6]<br />

(Paket python-profiler) gehört<br />

zum Funktionsumfang der Entwicklungsumgebung.<br />

Darüber hinaus bietet die IDE<br />

Interfaces für Methoden zum<br />

Code­Refactoring, wie zum Beispiel<br />

für Bicycle Repair Man [7]<br />

(Standard) oder alternativ für<br />

Rope [8]. Daneben existiert die<br />

Möglichkeit, untergeordnete Programmeinheiten,<br />

wie Module,<br />

mithilfe des Frameworks Unittest<br />

[9] unabhängig vorzutesten.<br />

iNfo<br />

[1] <strong>Python</strong>-Einführung:<br />

http://www.linux-community.de/11346<br />

[2] <strong>Python</strong>-IDEs:<br />

http://en.wikipedia.org/wiki/<strong>Python</strong>_IDE<br />

[3] Eric: http://eric-ide.python-projects.org/<br />

[4] Subversion: http://de.wikipedia.org/wiki/<br />

Apache_Subversion<br />

[5] Pylint: http://www.logilab.org/project/pylint<br />

[6] Profile-Modul: http://docs.python.org/<br />

release/2.6.6/library/profile.html<br />

[7] Bicycle Repair Man:<br />

http://bicyclerepair.sourceforge.net<br />

[8] Rope: http://rope.sourceforge.net<br />

[9] Unittests: http://docs.python.org/release/<br />

2.6.6/library/unittest.html<br />

[10] Informationen zu Wx<strong>Python</strong>:<br />

http://en.wikipedia.org/wiki/Wxpython<br />

[11] Informationen zum Qt-Toolkit:<br />

http://de.wikipedia.org/wiki/Qt_(Bibliothek)<br />

[12] PyQt: http://www.riverbankcomputing.co.<br />

uk/software/pyqt/intro<br />

[13] Eric-Mailingsliste:<br />

http://www.riverbankcomputing.com/<br />

mailman/listinfo/eric<br />

[14] Logparser und Minibrowser: http://eric-ide.<br />

python-projects.org/eric-tutorials.html<br />

Wizards<br />

Eric bietet eine ganze Reihe von<br />

Wizards für das einfache Generieren<br />

von <strong>Python</strong>­Quellcode an, die<br />

in der deutschen Version „Autopiloten“<br />

heißen. Von diesen fällt zuerst<br />

der Generator für reguläre<br />

Ausdrücke ins Auge, den Sie über<br />

Extras | Autopiloten | <strong>Python</strong> re<br />

Autopilot erreichen.<br />

Hier gilt es, zunächst den gewünschten<br />

<strong>Python</strong>­Zweig auszuwählen<br />

und einen Variablennamen<br />

zu definieren, mit dem Sie<br />

den regulären Ausdruck in den<br />

Quellcode einfügen möchten. Es<br />

gibt hier Buttons und Hilfen für<br />

verschiedene Standard­Elemente,<br />

eine Gültigkeitsprüfung, ein Testfeld,<br />

eine Undo/ Redo­Funktion<br />

sowie die Möglichkeit, fertige<br />

Konstrukte abzuspeichern und<br />

später zu importieren.<br />

Ein weiteres Plugin hilft beim<br />

Erstellen von Widgets für das<br />

GUI­Framework wx<strong>Python</strong> [10].<br />

Da der Maintainer Eric aber nicht<br />

nur mit Qt [11] entwickelt hat,<br />

sondern darüber hinaus als IDE<br />

für dieses GUI­Framework, verfügt<br />

die Applikation über eine<br />

Reihe von Autopiloten zum Generieren<br />

von <strong>Python</strong>­Code, mit dem<br />

Sie Qt­Elemente über die PyQt­<br />

Bindings [12] ansprechen. Möchten<br />

Sie eine Stufe weitergehen,<br />

rufen Sie den Qt4­Designer direkt<br />

aus dem Programm heraus auf.<br />

Letztendlich zeigt sich an dieser<br />

Stelle das enorme Potenzial von<br />

Eric und sein konkurrenzloser<br />

Spezialanwendungsbereich: das<br />

Entwickeln von Qt­Applikationen<br />

mit <strong>Python</strong>.<br />

Fazit<br />

Eric ist im Laufe der letzten Jahre<br />

zu einer umfangreichen und professionellen<br />

Entwicklungsumgebung<br />

für <strong>Python</strong> herangereift, die<br />

sich ohne Weiteres für den täglichen<br />

Einsatz empfiehlt. Unglücklicherweise<br />

hapert es – typisch<br />

für größere Einzelperson­Projekte<br />

wie dieses – an der Dokumentation,<br />

die sich bisher rein auf das<br />

Niveau der Quellcode­Dokumentation<br />

auf Grundlage der Docstrings<br />

beschränkt. So bleibt dem<br />

Anwender bisher nichts anderes<br />

übrig, als sich im Netz oder in der<br />

Eric­Mailingliste [13] zu informieren,<br />

falls etwas nicht wie vorgesehen<br />

klappt.<br />

Geduldiges Herumexperimentieren<br />

lohnt sich aber auf jeden<br />

Fall. Eine umfangreiche IDE wie<br />

Eric zu benutzen, gehört zu den<br />

Grundvoraussetzungen für ambitionierte<br />

<strong>Python</strong>­Entwicklung.<br />

Den resultierenden Komfort wissen<br />

aber auch angehende Entwickler<br />

zu schätzen.<br />

Die IDE basiert auf der gediegenen<br />

Qt4­Bibliothek für GUI­Widgets.<br />

Diese besonders enge Bindung<br />

macht Eric besonders interessant<br />

für Entwickler, die selbst<br />

Qt­Applikationen auf der Grundlage<br />

von <strong>Python</strong> erstellen wollen.<br />

Zwei Anwendungsstudien auf der<br />

Homepage des Projektes, die Implementation<br />

eines Log­Parsers<br />

und ein rudimentärer Webbrowser<br />

[14], demonstrieren die Fähigkeiten<br />

auf beeindruckende<br />

Weise. (agr) ■<br />

GLoSSAR<br />

Code-Profiling: Test<br />

eines Programms während<br />

seines Ablaufs auf<br />

Daten wie Geschwindigkeit,<br />

Prozessaufkommen<br />

oder Speicherverbrauch<br />

zum Optimieren<br />

des Quellcodes bei umfangreicheren<br />

Projekten.<br />

Code-Refactoring: Das<br />

kontrollierte Umgestalten<br />

eines Quellcodes,<br />

bei dem ein Tool zum<br />

Beispiel beim Ändern<br />

des Namens einer<br />

Variab len, einer Funktion<br />

oder einer Klasse<br />

alle Aufrufe davon im<br />

gesamten Projekt automatisch<br />

mit verändert.<br />

Ein nur aus wenigen<br />

Zeilen Code bestehender<br />

Minibrowser auf<br />

Qt-Basis direkt aus der<br />

IDE als <strong>Python</strong>-Skript<br />

gestartet.<br />

www.linux-user.de<br />

02 | 11 27


schwerpunkt<br />

Robuste <strong>Python</strong>-Programme<br />

Typische Fehler in<br />

<strong>Python</strong>-Code vermeiden<br />

Falsche<br />

Schlange<br />

© Hans Thoursie, sxc.hu<br />

<strong>Python</strong> ist einfach – aber nicht so einfach, dass man es allein durch Lesen von Code lernen könnte. Mit etwas Hintergrundwissen<br />

vermeiden Sie typische Fehler in <strong>Python</strong>-Code und schreiben so bessere Programme. Stefan Schwarzer<br />

readme<br />

Gerade Einsteiger und<br />

Gelegenheitsprogrammierer<br />

wiederholen in<br />

<strong>Python</strong> regelmäßig<br />

einige typische Fehler.<br />

Der Artikel zeigt diese<br />

auf, macht Vorschläge<br />

zu deren Vermeidung<br />

und gibt Tipps für besser<br />

wartbaren Code.<br />

<strong>Python</strong> ist eine relativ leicht zu<br />

erlernende Sprache, mit der man<br />

in kurzer Entwicklungszeit viel<br />

erreichen kann. Das verführt vor<br />

allem Einsteiger dazu, <strong>Python</strong> [1]<br />

nur durch Anschauen von <strong>Python</strong>­Code<br />

zu „lernen“, was oft<br />

unangenehme Überraschungen<br />

nach sich zieht: <strong>Python</strong> verhält<br />

sich nicht unbedingt so, wie man<br />

es von den jeweils bisher gelernten<br />

Sprachen kennt. Fehler, die<br />

zügig zu einer unwarteten Ausnahme<br />

mit einem Traceback führen,<br />

stellen da noch das geringste<br />

Problem dar. Kniffliger sind Fehler<br />

in Gestalt von Code, der nur<br />

scheinbar das Gewünschte tut.<br />

Dieser Artikel spricht solche<br />

Missverständnisse zur Funktionsweise<br />

von <strong>Python</strong> an und erklärt<br />

die Hintergründe. Darüber hinaus<br />

gibt er diverse Tipps, um kompakten<br />

und dennoch lesbaren Code<br />

zu schreiben. Der Schwerpunkt<br />

des Artikels liegt auf <strong>Python</strong> 2.x,<br />

da sich diese Versionen noch wesentlich<br />

häufiger im Einsatz befinden,<br />

unter anderem für Systemprogramme<br />

diverser Linux­<br />

Distributionen.<br />

Einrückungen: Vorsicht,<br />

Tabulator!<br />

<strong>Python</strong> erkennt einen Anweisungsblock<br />

wie etwa einen Schleifenrumpf<br />

an seiner einheitlichen<br />

Einrückung. Dabei empfiehlt der<br />

„Style Guide for <strong>Python</strong> Code“ [2]<br />

eine Einrücktiefe von vier Zeichen<br />

pro logischer Ebene und das ausschließliche<br />

Verwenden von Leerzeichen<br />

zum Einrücken.<br />

Listing 1<br />

def f(a, b):<br />

if a > b:<br />

a = g(a)<br />

>---b = h(b)<br />

return a, b<br />

Probleme treten unter Umständen<br />

dann auf, wenn Sie sowohl<br />

Leerzeichen als auch Tabulatoren<br />

zum Einrücken nutzen. Für den<br />

<strong>Python</strong>­Interpreter entspricht ein<br />

Tabulator acht Leerzeichen beziehungsweise<br />

füllt auf das nächste<br />

Vielfache von acht Leerzeichen<br />

auf. Betrachtet man Quelltexte<br />

mit einer anderen Tabulator­Weite,<br />

sieht man unter Umständen<br />

eine andere Logik im Code, als sie<br />

der Interpreter wahrnimmt.<br />

Ein Beispiel zeigt das Listing 1.<br />

Die vier Zeichen breite Sequenz<br />

>--- steht hier (in Anlehnung an<br />

den beliebten Editor Vim) für<br />

Listing 2<br />

def f(a, b):<br />

if a > b:<br />

a = g(a)<br />

>---else:<br />

b = h(b)<br />

return a, b<br />

28 02 | 11<br />

www.linux-user.de


Robuste <strong>Python</strong>-Programme<br />

schwerpunkt<br />

einen Tabulator, den der Editor<br />

mit vier Zeichen Breite darstellt.<br />

Auf den ersten Blick scheint <strong>Python</strong><br />

die Anweisung b = h(b) auf<br />

jeden Fall auszuführen. Da ein Tabulatorzeichen<br />

aber acht Leerzeichen<br />

entspricht, bearbeitet der<br />

Interpreter diese Zeile wie die<br />

vorherige, aber nur im Fall a > b.<br />

Glück im Unglück: Das Mischen<br />

von Leerzeichen und Tabulatoren<br />

führt eher zu Syntaxfehlern als<br />

zu falsch funktionierendem Code.<br />

Ein Beispiel zeigt Listing 2. Hier<br />

ist aus Sicht von <strong>Python</strong> das<br />

Schlüsselwort else genauso weit<br />

eingerückt wie die Zuweisungen<br />

an a und b – ein Syntaxfehler.<br />

Um die potenzielle Verwirrung<br />

durch einen Mix von Leerzeichen<br />

und Tabulatoren von vornherein<br />

zu vermeiden, lassen Sie den Editor<br />

auch bei Drücken der Tabulatortaste<br />

immer mit vier Stellen<br />

pro logischer Ebene einrücken.<br />

Natürlich wären auch andere Regeln<br />

denkbar, aber vier Leerzeichen<br />

sind wie gesagt die im „Style<br />

Guide“ empfohlene Variante und<br />

daher in den allermeisten <strong>Python</strong>­<br />

Projekten üblich.<br />

Haben Sie Code im Verdacht, inkonsistent<br />

eingerückt zu sein, machen<br />

Sie mittels des Kommandos<br />

$ find . -name "*.py" -exec grepU<br />

-EnH "\t" {} \;<br />

alle <strong>Python</strong>­Dateien im und unterhalb<br />

des aktuellen Verzeichnisses<br />

ausfindig, die Tabulatoren enthalten.<br />

Geht es nur um wenige Dateien,<br />

ist es praktikabel, im Editor<br />

Tabulatorzeichen explizit anzuzeigen.<br />

In Vim geht das mit dem Befehl<br />

:set list (Abbildung ). Viele<br />

Programmiereditoren bieten<br />

ähnliche Möglichkeiten.<br />

Objekte und Namen:<br />

Who is who?<br />

In <strong>Python</strong> gibt es keine Variablen<br />

wie bei C oder Pascal, die einen<br />

bestimmten Speicherbereich<br />

kennzeichnen. Die <strong>Python</strong>­Zuweisung<br />

a = 1 verknüpft lediglich<br />

das Ganzzahl­Objekt 1 mit dem<br />

Namen a. Ein und dasselbe Objekt<br />

lässt sich prinzipiell unter beliebig<br />

vielen Namen erreichen. Es<br />

gibt auch anonyme (namenlose)<br />

Objekte, wie die Zahl 2 in der Anweisung<br />

L = [1, 2, 3].<br />

Wichtig zum Verständnis von<br />

<strong>Python</strong> sind die Konzepte der<br />

Identität und der Gleichheit.<br />

Identität bedeutet, dass es sich<br />

um ein und dasselbe Objekt handelt,<br />

während Gleichheit zweier<br />

Objekte aussagt, dass diese den<br />

gleichen Wert haben. Ob zwei Objekte<br />

identisch sind, stellen Sie<br />

mithilfe des Operators is fest<br />

(Listing 3).<br />

Für von Ihnen definierte Datentypen<br />

legen Sie selbst fest, wie<br />

Gleichheit zwischen deren Instanzen<br />

definiert ist. Wie Listing 4 auf<br />

der nächsten Seite verdeutlicht,<br />

könnten Sie auf diese Weise sogar<br />

dafür sorgen, dass zwei Objekte<br />

zwar identisch, aber dennoch ungleich<br />

sind!<br />

In <strong>Python</strong>­Code bedeutet der<br />

Wert None üblicherweise, dass ein<br />

Name keinen „richtigen“ Wert<br />

hat, zum Beispiel weil er bisher<br />

nicht explizit initialisiert wurde.<br />

Prüfungen eines Namens auf None<br />

sollten Sie immer mit is vornehmen,<br />

nicht mit ==. Analog zu Listing<br />

4 kann eine Klasse ja den Vergleichsoperator<br />

so definieren, dass<br />

alle Vergleiche einen wahren Wert<br />

liefern (Listing 5, nächste Seite).<br />

Nur die Operation in der letzten<br />

Zeile des Listings, die is verwendet,<br />

funktioniert zuverlässig.<br />

Wie schon erwähnt, führt eine<br />

Zuweisung nur zur Verknüpfung<br />

von Namen und Objekten. Objekte<br />

werden dabei nicht kopiert.<br />

Das erklärt auch das Ergebnis in<br />

Listing 6 (nächste Seite), das bei<br />

<strong>Python</strong>­Einsteigern immer wieder<br />

für Überraschungen sorgt.<br />

Die erste Zuweisung erzeugt<br />

eine Liste mit den Elementen 1<br />

und 2, die zweite Zuweisung gibt<br />

der derart erzeugten Liste einen<br />

zweiten Namen L2. L1 und L2 stehen<br />

nun für ein­ und dasselbe<br />

Objekt. Die dritte Anweisung<br />

hängt die Zahl 3 ans Ende der Liste.<br />

Da L2 nur ein anderer Name<br />

für dieselbe Liste ist, bekommen<br />

Sie bei der Ausgabe von L1 und L2<br />

auch ein identisches Ergebnis.<br />

Die letzte Zeile bestätigt das vorher<br />

Gesagte: L1 und L2 bezeichnen<br />

ein und dieselbe Liste.<br />

Objektverknüpfungen können<br />

natürlich auch komplexer ausfallen.<br />

So greifen Sie nach den ersten<br />

drei Anweisungen in Listing 7<br />

(nächste Seite) auf die erzeugte<br />

Liste sowohl unter dem zuerst<br />

vergebenen Namen L als auch<br />

über das Tupel t zu.<br />

Unveränderliche und<br />

veränderliche Objekte<br />

Die Veränderbarkeit von Objekten<br />

stellt ein wichtiges Konzept<br />

von <strong>Python</strong> dar. Erst wenn man<br />

es verstanden hat, ergeben vermeintlich<br />

seltsame Verhaltensweisen<br />

von <strong>Python</strong> einen Sinn.<br />

Sogenannte unveränderliche<br />

Objekte wie zum Beispiel Zahlen<br />

oder Zeichenketten kann man –<br />

wie der Begriff schon sagt – nicht<br />

verändern. Mitunter entsteht je­<br />

Zwei Ansichten der<br />

gleichen fehlerhaften<br />

Datei in Vim, oben<br />

ohne, unten mit gesetzter<br />

list-Option.<br />

Diese macht Tabulator-<br />

und Zeilenende-<br />

Zeichen sichtbar.<br />

gLossar<br />

Traceback: Folge der<br />

Funktionsaufrufe bis<br />

zum Auftreten eines<br />

Fehlers. <strong>Python</strong> gibt<br />

die se Aufruf-Folge, auch<br />

Stacktrace genannt, bei<br />

bestimmten Fehlern<br />

aus. Diese Ausgabe hilft<br />

oft sehr bei der Eingrenzung<br />

der Fehlerursache.<br />

x = 1.0<br />

y = x # Das Objekt 1.0 mit dem Namen x ist<br />

# jetzt auch über den Namen y erreichbar.<br />

print x is y # True<br />

print x == y # True<br />

y = 1<br />

print x is y # False<br />

print x == y # True, 1.0 bezeichnet den gleichen<br />

# Wert wie 1<br />

Listing 3<br />

www.linux-user.de<br />

02 | 11 29


schwerpunkt<br />

Robuste <strong>Python</strong>-Programme<br />

Listing 5<br />

class ImmerGleich(object):<br />

doch das Missverständnis, dass<br />

sich in den beiden Zuweisungen:<br />

a = 1<br />

a = 2<br />

der Wert von a ändern würde, es<br />

sich bei Zahlen also nicht um unveränderbare<br />

Objekte handele.<br />

Das Konzept der Veränderbarkeit<br />

bezieht sich aber nicht auf Namens<br />

verknüpfungen, sondern<br />

vielmehr auf das jeweilige Objekt<br />

selbst: So ist nach der zweiten Zuweisung<br />

immer noch das Objekt<br />

1 das Objekt 1; aus der Ganzzahl<br />

Eins ist ja nicht plötzlich die<br />

Ganzzahl Zwei entstanden.<br />

Anders sieht es bei veränderbaren<br />

Objekten aus. Dazu gehören<br />

in <strong>Python</strong> Listen, Dictionaries,<br />

Sets sowie im Allgemeinen Klassen<br />

und Instanzen. In Listing 5<br />

änderte die Methode append() der<br />

Liste diese selbst; das Listenobjekt<br />

erhielt ein zusätzliches Element.<br />

Alle Zugriffe auf dieses Objekt,<br />

egal über welchen Namen,<br />

„sehen“ die Veränderung.<br />

Listing 4<br />

Funktionen, Methoden<br />

und Parameter<br />

Manche Sprachen erlauben, die<br />

Klammern am Ende eines Funktionsaufrufs<br />

wegzulassen, wenn<br />

man keine Argumente übergibt. In<br />

<strong>Python</strong> sind die Klammern jedoch<br />

Pflicht. Der Ausdruck fobj.close in<br />

Listing 9 liefert nur die Methode<br />

selbst, ruft diese aber nicht auf.<br />

Die Datei bleibt daher offen.<br />

Default­Argumente werden nur<br />

einmal erzeugt, nämlich während<br />

der Definition der Funktion oder<br />

Methode. Daher bleibt das Listen­Objekt<br />

L in Listing 10 während<br />

der gesamten Laufzeit des<br />

Codes erhalten.<br />

Längere Parameterlisten führen<br />

leichter als kurze zu einer falschen<br />

Reihenfolge der Argumente<br />

in einem Aufruf. In <strong>Python</strong> minimieren<br />

Sie dieses Risiko, indem<br />

Sie Parameter beim Aufruf mit deren<br />

Namen versehen (Listing 11).<br />

Sie müssen also nicht unbedingt<br />

auswendig wissen, dass in der Definition<br />

die Liste vor der Zeichenclass<br />

ImmerUngleich(object):<br />

def __eq__(self, rechte_<br />

seite):<br />

"""Definiere das<br />

Verhalten des Gleichheits-<br />

Operators ==."""<br />

return False<br />

x = ImmerUngleich()<br />

y = x<br />

print x is y # True<br />

print x == y # False<br />

def __eq__(self, rechte_seite):<br />

"""Definiere das Verhalten des Operators ==."""<br />

return True<br />

x = ImmerGleich()<br />

print x == None # True, obwohl x nicht None ist<br />

print None == x # True, obwohl x nicht None ist<br />

print x is None # False<br />

Listing 6<br />

L1 = [1, 2]<br />

L2 = L1<br />

L1.append(3)<br />

print L1 # [1, 2, 3]<br />

print L2 # auch [1, 2, 3]<br />

print L1 is L2 # True<br />

Listing 7<br />

L = [1]<br />

t = (L,) # Tupel mit der Liste<br />

als einzigem Element<br />

L.append(2)<br />

print L # [1, 2]<br />

print t[0] # [1, 2]<br />

print L is t[0] # True<br />

Listing 8<br />

def zeige_namen(namen):<br />

"""Gib die Namen in der<br />

Liste `namen` aus."""<br />

if namen:<br />

print "\n".join(namen)<br />

else:<br />

print "keine Namen<br />

vorhanden"<br />

„Wahrheit“ und<br />

„Falschheit“<br />

Für die eingebauten Datentypen<br />

von <strong>Python</strong> gilt: Als „falsch“ gelten<br />

numerische Null­Werte (0, 0.0,<br />

0.0+0.0j), leere Strings ("", u""),<br />

leere Container ([], (), {}, set(),<br />

frozenset()) sowie None und False.<br />

Alle anderen eingebauten Objekte<br />

sind „wahr“. Folglich lassen sich<br />

viele if­, elif­ und while­Bedingungen<br />

wie in der Tabelle Idiomatische<br />

Bedingungen aufgeführt<br />

auch einfacher schreiben. Eine<br />

Anwendung zeigt das Listing 8.<br />

Abgesehen davon, dass sie sich<br />

kompakter schreiben und leichter<br />

lesen lässt, hat die kurze Form<br />

noch einige weitere Vorteile:<br />

• Sie führt zu einem höheren Abstraktionsniveau.<br />

Man fragt also<br />

zum Beispiel nicht, „Ist die Liste<br />

namen ungleich der leeren Liste?“,<br />

sondern „Gibt es Namen?“<br />

• Die Kurzform macht Code­Änderungen<br />

unnötig, wenn sich<br />

der Container­Typ ändert. Die<br />

Funktion zeige_namen in Listing<br />

8 kann unverändert bleiben,<br />

wenn Sie der Funktion<br />

statt einer Namensliste ein<br />

Tupel oder ein Set übergeben.<br />

• Deshalb gilt die Funktion nicht<br />

nur für Listen, sondern auch für<br />

andere Sequenzen. Ein Umstellen<br />

der Schnittstelle ist also<br />

nicht nötig, sondern die Funktion<br />

kann mehrere Schnittstellen<br />

gleichzeitig anbieten.<br />

Listing 9<br />

fobj = open(dateiname, 'rb')<br />

# Lies die ersten 100 Bytes.<br />

data = fobj.read(100)<br />

# Keine Klammern nach `close`,<br />

also kein Aufruf.<br />

fobj.close<br />

Listing 10<br />

def anhaengen(obj, L=[]):<br />

L.append(obj)<br />

return L<br />

print anhaengen(2) # [2]<br />

print anhaengen(5) # [2, 5]<br />

print anhaengen(1, []) # [1];<br />

Default-Argument nicht benutzt<br />

30 02 | 11<br />

www.linux-user.de


Robuste <strong>Python</strong>-Programme<br />

schwerpunkt<br />

kette steht. Die drei Aufrufe von<br />

merke sind gleichwertig: Alle hängen<br />

die Zeichenkette an die Liste,<br />

auch wenn wie im dritten Aufruf<br />

der String zuerst steht.<br />

In <strong>Python</strong> dürfen Sie in Funktions­<br />

oder Methodenaufrufen ein<br />

Tupel, eine Liste oder ein Dictionary<br />

implizit in mehrere Argumente<br />

umwandeln. Die entsprechenden<br />

Beispiele aus Listing 12<br />

sind zwar konstruiert, erklären<br />

aber, was hier passiert. Die als Tupel<br />

oder Liste übergebenen Argumente<br />

nennt man Positionsargumente<br />

(„positional arguments“),<br />

die als Dictionary übergebenen<br />

Argumente Schlüsselwortargumente<br />

(„keyword arguments“).<br />

Natürlich schreibt man in realem<br />

Code keine Parameterübergaben<br />

wie in Listing 12. Liegen die<br />

Argumente aber schon als Tupel,<br />

Listen oder Dictionaries vor, vereinfachen<br />

Positions­ und Schlüsselwortargumente<br />

den Code.<br />

Positions­ und Schlüsselwortargumente<br />

lassen sich nicht nur<br />

beim Aufruf einer Funktion oder<br />

Methode anwenden, sondern auch<br />

in deren Definition. Dabei „sieht“<br />

die aufgerufene Funktion die Parameter<br />

als Tupel beziehungsweise<br />

Dictionary. Ein Beispiel zeigt Listing<br />

13. Die Funktion parameterausgabe<br />

gibt die für eine Funktion<br />

bestimmten Argumente aus und<br />

ruft die Funktion anschließend<br />

mit diesen Argumenten auf. Dabei<br />

muss parameterausgabe nichts<br />

über die aufzurufende Funktion<br />

wissen, sondern reicht einfach<br />

nur die Parameter durch.<br />

Eine weitere nützliche Anwendung<br />

zeigt Listing 14. Hier muss<br />

die abgeleitete Klasse nicht im<br />

idiomatische Bedingungen<br />

Langform Idiomatische<br />

Kurzform<br />

if wert == True if wert<br />

if liste != [] if liste<br />

if liste == [] if not liste<br />

if len(liste) == if not liste<br />

0<br />

if string == u"" if not string<br />

… und so weiter<br />

Einzelnen wissen, welche Parameter<br />

der Konstruktor der Basisklasse<br />

verarbeitet. Sie kümmert<br />

sich stattdessen nur um das für<br />

sie bestimmte Argument titel.<br />

Die Übergabe eines Arguments<br />

läuft wie eine Zuweisung ab: Der<br />

lokale Name innerhalb der Funktionsdefinition<br />

wird mit dem übergebenen<br />

Objekt verknüpft. Zuweisungen<br />

innerhalb des Funktionsrumpfes<br />

beziehen sich aber standardmäßig<br />

nur auf den lokalen Namensraum<br />

der Funktion. Der Code<br />

in Listing 15 (nächste Seite), der<br />

die übergebene Liste löschen soll,<br />

funktioniert daher nicht.<br />

Tatsächlich entsteht hier innerhalb<br />

der Funktion eine neue Liste,<br />

die mit dem lokalen Namen liste<br />

verknüpft wird. Die vorherige Bindung<br />

an die Liste [1, 2, 3] geht<br />

verloren, sodass das ursprüngliche<br />

Argument nicht mehr zugänglich<br />

ist. Dennoch lässt sich<br />

die übergebene Liste innerhalb<br />

von liste_loeschen leeren, indem<br />

man die Zeile liste = [] durch<br />

liste[:] = [] ersetzt. Dadurch ändert<br />

sich die übergebene Liste.<br />

Im Gegensatz dazu funktioniert<br />

so etwas bei unveränderlichen<br />

Objekten definitionsgemäß nicht.<br />

Hier ist das übliche Vorgehen, das<br />

Ergebnis eines Funktionsaufrufs<br />

dem ursprünglichen Namen zuzuweisen.<br />

Bei veränderlichen Argumenten<br />

verfährt man aber oft<br />

genauso.<br />

Umgang mit Ausnahmen<br />

(Exceptions)<br />

Einige Sprachen wie die Unix­<br />

Shell oder C nutzen typischerweise<br />

Rückgabewerte zur Fehlerbehandlung.<br />

Verschiedene andere<br />

Sprachen, unter anderem <strong>Python</strong>,<br />

def merke(liste, string):<br />

liste.append(string)<br />

Listing 11<br />

L = []<br />

merke(L, u"<strong>Python</strong> macht Spaß!")<br />

merke(liste=L, string=u"<strong>Python</strong><br />

macht Spaß!")<br />

merke(string=u"<strong>Python</strong> macht<br />

Spaß!", liste=L)<br />

Listing 12<br />

def print3(a, b, c):<br />

"""Gib die drei Argumente aus."""<br />

print a, b, c<br />

# Übergabe eines Tupels oder einer Liste für die drei<br />

Parameter.<br />

# Entspricht print3("Parameterübergabe", "mit", "*")<br />

print3(*("Parameterübergabe", "mit", "*"))<br />

print3(*["Parameterübergabe", "mit", "*"])<br />

# Übergabe eines Dictionarys für die drei Parameter.<br />

# entspricht print3(a="Parameterübergabe", c="**",<br />

b="mit")<br />

print3(**{"a": "Parameterübergabe", "c": "**", "b":<br />

"mit"})<br />

Listing 13<br />

def parameterausgabe(func, *args, **kwargs):<br />

"""Gib die Argumente aus und rufe die Funktion func<br />

mit diesen auf.<br />

"""<br />

# Funktionsname.<br />

print "Funktion:", func.__name__<br />

# `args` ist ein Tupel; kein * davor.<br />

print "Positions-Argumente:", args<br />

# Dito für Dictionary.<br />

print "Schlüsselwort-Argumente:", kwargs<br />

# Rufe Funktion auf.<br />

return func(*args, **kwargs)<br />

def polynom(x, a, b, c):<br />

return a * x**2 + b * x + c<br />

# Ausgabe:<br />

# 18<br />

#<br />

# Funktion: polynom<br />

# Positions-Argumente: (2,)<br />

# Schlüsselwort-Argumente: {'a': 2, 'c': 4, 'b': 3}<br />

# 18<br />

print polynom(2, a=2, b=3, c=4)<br />

print<br />

print parameterausgabe(polynom, 2, a=2, b=3, c=4)<br />

Listing 14<br />

class Person(object):<br />

def __init__(self, vorname, nachname):<br />

self.vorname = vorname<br />

self.nachname = nachname<br />

def __str__(self):<br />

return "%s %s" % (self.vorname, self.nachname)<br />

class Autor(Person):<br />

def __init__(self, *args, **kwargs):<br />

self.titel = kwargs.pop("titel")<br />

super(Autor, self).__init__(*args, **kwargs)<br />

autor = Autor(u"Stefan", u"Schwarzer",<br />

titel=u"Robuste <strong>Python</strong>-Programme")<br />

www.linux-user.de<br />

02 | 11 31


schwerpunkt<br />

Robuste <strong>Python</strong>-Programme<br />

Listing 19<br />

Listing 15<br />

soll. Die Idee dabei: Ein Zugriff<br />

auf person[name] löst einen<br />

KeyError aus, falls es keinen Personen­Datensatz<br />

im Dictionary<br />

person gibt. (Der Dictionary­Zugriff<br />

über den Schlüssel alter<br />

kann nicht zu einem KeyError führen,<br />

da der Schlüssel alter gegebenenfalls<br />

erzeugt wird.)<br />

So weit, so gut. Enthält aber<br />

alter_aus_db selbst einen Dictionary­Zugriff,<br />

zum Beispiel return<br />

cache[name], fängt dies unabsichtlich<br />

auch einen dadurch entstandenen<br />

KeyError ab.<br />

Die Abhilfe besteht darin, gezielt<br />

nur jenen Code in den try­<br />

Block zu schreiben, der von der<br />

Ausnahmebehandlung betroffen<br />

sein soll (Listing 18). Noch besser:<br />

Lassen Sie alter_aus_db einen<br />

KeyError gar nicht erst „durchreichen“,<br />

sondern setzen Sie ihn in<br />

eine stärker abstrahierte Exception<br />

wie CacheError um. Dazu fangen<br />

Sie den KeyError in alter_aus_<br />

db und lösen die stärker abstrahierte<br />

Ausnahme mit raise aus.<br />

Erzeugen Sie irgendwo im Code<br />

Ressourcen wie Dateien, Sockets<br />

oder Datenbank­Verbindungen,<br />

dann sollten Sie diese nach der<br />

Verwendung mit einem try/<br />

finally­ oder einem with­Konstrukt<br />

freigegeben (Listing 19).<br />

Wollen Sie mehrere Ausnahmetypen<br />

gleich behandeln, umgeben<br />

Sie diese wie in Listing 20 mit<br />

Klammern. Fehlen Letztere, versteht<br />

<strong>Python</strong> das folgendermadef<br />

liste_loeschen(liste):<br />

liste = []<br />

eine_liste = [1, 2, 3]<br />

liste_loeschen(eine_liste)<br />

print eine_liste # [1, 2, 3],<br />

nicht gelöscht!<br />

Listing 16<br />

# Dieser Code tut nicht, was man<br />

erwartet.<br />

try:<br />

fobj = opne("evtl_nicht_da")<br />

except:<br />

print "Datei nicht<br />

vorhanden"<br />

Listing 17<br />

def alter_aus_db(name):<br />

...<br />

try:<br />

person[name][alter] = alter_<br />

aus_db(name)<br />

except KeyError:<br />

print 'Kein Datensatz für<br />

Person "%s"' % name<br />

Listing 18<br />

def alter_aus_db(name):<br />

...<br />

db_alter = alter_aus_db(name)<br />

try:<br />

person[name][alter] = db_<br />

alter<br />

except KeyError:<br />

print 'Kein Datensatz für<br />

Person "%s"' % name<br />

db_conn = connect(datenbank)<br />

try:<br />

# Datenbank-Operationen<br />

...<br />

finally:<br />

db_conn.rollback()<br />

db_conn.close()<br />

# Für Dateien alternativ mit `with` (ab <strong>Python</strong> 2.5) ...<br />

# Import-Anweisung ist nur bei <strong>Python</strong> 2.5 nötig.<br />

from __future__ import with_statement<br />

with open(dateiname) as fobj:<br />

# Datei wird am Ende des `with`-Blocks automatisch<br />

geschlossen.<br />

data = fobj.read()<br />

arbeiten stattdessen mit Ausnahmen<br />

(„Exceptions“). Zwei Erörterungen<br />

des Programmierers Ned<br />

Batchelder beschreiben anhand<br />

von Beispielen ausführlich die<br />

Konsequenzen der beiden Strategien<br />

([3],[4]).<br />

Oft findet man in <strong>Python</strong>­Code<br />

„leere“ except­Anweisungen wie in<br />

Listing 16. Der Hintergedanke des<br />

Programm­Autors dabei ist normalerweise,<br />

dass nur ein bestimmter<br />

Fehler auftreten kann. Das<br />

würde die gezielte Kontrolle auf<br />

einen IOError, OSError oder eine<br />

andere Ausnahme unnötig machen.<br />

Dieser Ansatz erweist sich<br />

als problematisch, weil ein leerer<br />

except­Zweig auch Schreibfehler<br />

in Form von NameError­ und AttributeError­Ausnahmen<br />

abfängt.<br />

Im Beispiel steht in der zweiten<br />

Zeile opne statt open. Das ist nicht<br />

etwa ein Syntaxfehler, sondern<br />

erzeugt – zur Laufzeit – einen<br />

NameError. Der Code weist beim<br />

Lauf also auf eine nicht gefundene<br />

Datei hin, auch wenn es diese<br />

tatsächlich gibt. Viel Spaß<br />

beim Finden solcher Fehler! Falls<br />

nicht ausgesprochen gute Gründe<br />

dagegen sprechen, sollten Sie die<br />

zu behandelnden Ausnahmeklassen<br />

also immer angeben.<br />

Eine Übersicht der von der Sprache<br />

selbst erzeugten Ausnahmen<br />

gibt es unter [5]. Die mit <strong>Python</strong><br />

gelieferten Module können darüber<br />

hinaus freilich noch andere<br />

Ausnahmen auslösen, deren Dokumentation<br />

sich jeweils in den<br />

Modulbeschreibungen findet.<br />

Tückisch ist auch zu viel Code in<br />

einem try­Block. Listing 17 zeigt<br />

ein Beispiel, in dem eine Funktion<br />

alter_aus_db das Alter einer<br />

Person aus einer Datenbank laden<br />

Listing 20<br />

try:<br />

# Kann `ValueError` oder<br />

`IndexError` auslösen.<br />

...<br />

except (ValueError, IndexError):<br />

# Gleiche Fehlerbehandlung<br />

für `ValueError` und<br />

`IndexError`<br />

...<br />

Listing 21<br />

class DatabaseError(Exception):<br />

pass<br />

class<br />

NotUniqueError(DatabaseError):<br />

pass<br />

...<br />

try:<br />

...<br />

# Abgeleitete vor der<br />

Basisklasse!<br />

except NotUniqueError:<br />

...<br />

except DatabaseError:<br />

...<br />

32 02 | 11<br />

www.linux-user.de


Robuste <strong>Python</strong>-Programme<br />

schwerpunkt<br />

ßen: Fange einen ValueError ab<br />

und mache das Ausnahme­Objekt<br />

unter dem Namen IndexError verfügbar.<br />

In <strong>Python</strong> 3 sollte diese<br />

Fehlerquelle nicht mehr vorkommen,<br />

denn es macht beim gleichzeitigen<br />

Fangen mehrerer Ausnahmeklassen<br />

solche Klammern<br />

zur Pflicht; ein Ausnahme­Objekt<br />

wird stattdessen durch except<br />

ValueError as exception_object zugänglich.<br />

<strong>Python</strong> 2.6 erlaubt diese<br />

Syntax ebenfalls.<br />

Da bei mehreren gleichermaßen<br />

passenden except­Zweigen immer<br />

der erste verwendet wird, müssen<br />

abgeleitete Ausnahmeklassen wie<br />

in Listing 21 vor deren Basisklassen<br />

erscheinen. Anderenfalls wird<br />

nur der except­Zweig für die Basisklasse<br />

ausgeführt.<br />

Vom Umgang mit<br />

Exec und Eval<br />

<strong>Python</strong> gilt als eine sehr dynamische<br />

Sprache. Das bringt manchen<br />

Zeitgenossen auf die Idee,<br />

die Anweisung exec beziehungsweise<br />

die Funktion eval zur Ausführung<br />

von Text als Code zu verwenden.<br />

Tatsächlich benötigt<br />

man exec und eval aber nur sehr<br />

selten, da <strong>Python</strong> für deren vermeintlich<br />

typische Anwendungen<br />

weit bessere Möglichkeiten bietet.<br />

Das ist auch gut so, denn exec<br />

und eval haben eine ganze Reihe<br />

von Nachteilen:<br />

• Der Code fällt weniger übersichtlich<br />

aus.<br />

• Es passieren wesentlich leichter<br />

Einrückungsfehler.<br />

def baue_addierer(offset):<br />

# Fuer konsistente<br />

Einrueckungen sorgen.<br />

code = """<br />

def addierer(n):<br />

return n + %d<br />

""" % offset<br />

exec code<br />

return addierer<br />

neuer_addierer =<br />

Listing 22<br />

baue_addierer(3)<br />

print neuer_addierer(2) # 3 +<br />

2 = 5<br />

• Die Kontrolle der Syntax findet<br />

erst zur Laufzeit statt.<br />

• Es schleichen sich leicht Sicherheitslücken<br />

ein.<br />

• Die Möglichkeiten, Code mit<br />

speziellen Programmen (dazu<br />

später mehr) zu untersuchen,<br />

werden eingeschränkt.<br />

Eine „typische“ Anwendung von<br />

exec ist, Code unter Verwendung<br />

von vorher definierten Bezeichnern<br />

zu generieren. Ein Beispiel<br />

findet sich in Listing 22. Die<br />

Funktion baue_addierer erzeugt<br />

eine andere Funktion addierer, die<br />

zu ihrem Argument n einen Offset<br />

hinzuzählt. Der Code von<br />

baue_addierer erscheint recht unübersichtlich;<br />

die Einrückungen<br />

des Codes der eingebetteten<br />

Funktionsdefinition addierer<br />

müssen <strong>Python</strong>­gemäß natürlich<br />

stimmen, jedoch muss die Einrückung<br />

„von Null aus“ am linken<br />

Rand starten.<br />

Wie Listing 23 zeigt, geht es viel<br />

einfacher: In <strong>Python</strong> lassen sich<br />

Funktionsdefinitionen beliebig<br />

verschachteln. Sie dürfen sogar<br />

ganze Klassen innerhalb von<br />

Funk ti o nen oder Methoden erzeugen<br />

und als Resultat zurückgeben.<br />

Die Funktion eval setzen manche<br />

Programmierer dazu ein, auf<br />

ein erst zur Laufzeit bekanntes<br />

Attribut eines Objekts zuzugreifen<br />

(Listing 24). Genau hierfür<br />

gibt es jedoch eigentlich die<br />

Funktionen getattr, setattr und<br />

delattr. Der eval­Ausdruck lässt<br />

sich daher durch getattr(obj,<br />

"wert%d" % n) ersetzen. (Bei mehreren<br />

Attributnamen, die sich wie<br />

hier nur durch Zahlen unterscheiden,<br />

sollten Sie eher eine Liste beziehungsweise<br />

ein Dictionary<br />

def baue_addierer(offset):<br />

def addierer(n):<br />

return n + offset<br />

return addierer<br />

Listing 23<br />

Listing 24<br />

def wert_n(obj, n):<br />

return eval("obj.wert%d" %<br />

n)<br />

nutzen. In diesen fungieren die<br />

Zahlen dann als Indizes beziehungsweise<br />

Schlüssel.)<br />

Für Modul­globale Werte funktionieren<br />

zwar nicht die oben angegebenen<br />

Funktionen, Sie können<br />

aber direkt das von der Funktion<br />

globals gelieferte Dictionary manipulieren.<br />

Dies zeigt Listing 25.<br />

Ein weiteres Problem von exec<br />

und eval: Beide reißen leicht Sicherheitslöcher,<br />

falls beliebige<br />

Eingabedaten in auszuführenden<br />

Code gelangen. Die Abbildung B<br />

auf der nächsten Seite zeigt als<br />

Beispiel eine Eingabemaske für<br />

einen Funktionsplotter im Internet.<br />

Das Listing 26 enthält den<br />

zugehörigen Code. Die Schleife<br />

durchläuft (durch Multiplikation<br />

des Schleifenzählers mit 0.1) eine<br />

Wertetabelle von ­10 bis +10,<br />

wertet die vom Anwender eingegebene<br />

Funktion für den aktuellen<br />

X­Wert aus und trägt den<br />

Punkt in eine Liste ein, aus der<br />

nach Ende der Schleife ein Diagramm<br />

entsteht.<br />

Was aber geschieht, wenn die<br />

anzuzeigende „Funktion“ nicht<br />

2*x + 3 heißt, sondern stattdessen<br />

os.system('rm -rf *')? Falls irgendwo<br />

im Modul das Modul os<br />

importiert wurde und der Funktionsplotter<br />

mit Schreibrechten<br />

auf das Verzeichnis zugreifen<br />

kann, löscht er in diesem Fall alle<br />

dort gelagerten Dateien!<br />

for name in u"Dies ist ein<br />

Beispiel".split():<br />

globals()[name] = name<br />

Das ist äquivalent zu:<br />

Dies = u"Dies"<br />

ist = u"ist"<br />

ein = u"ein"<br />

Beispiel = u"Beispiel"<br />

def auswertung(funktion):<br />

Listing 25<br />

Listing 26<br />

for i in xrange(-100, 101):<br />

x = 0.1 * i<br />

y = eval(funktion)<br />

punkte.append((x, y))<br />

zeige_funktion(punkte)<br />

www.linux-user.de<br />

02 | 11 33


schwerpunkt<br />

Robuste <strong>Python</strong>-Programme<br />

B Ein Funktionsplotter<br />

mit eingebauter Sicherheitslücke<br />

(siehe auch<br />

Listing 26, vorige Seite).<br />

Es gibt mehrere Möglichkeiten,<br />

um derartige Sicherheitslücken<br />

beim Umgang mit exec und eval<br />

zu vermeiden. Zum einen sollten<br />

Sie eine erhaltene Eingabe möglichst<br />

auf gültige Werte prüfen<br />

(Listing 27). Im Code könnte<br />

gueltige_werte beispielsweise eine<br />

Liste oder ein Set sein. Lässt sich<br />

keine Menge gültiger Werte erzeugen,<br />

muss ein Parser her. Damit<br />

zerlegen Sie die Eingaben für<br />

eine sinnvolle Auswertung.<br />

Je nach gewünschten Ein­ und<br />

Ausgabedaten können Parser aber<br />

recht aufwendig sein. Erfreulicherweise<br />

gibt es verschiedene<br />

Parser­Frame works für <strong>Python</strong> [6].<br />

Interessanterweise findet sich im<br />

dort genannten PyParsing­Paket<br />

auch ein Parser für arithmetische<br />

Ausdrücke, wie man ihn für den<br />

Funktionsplotter aus dem Beispiel<br />

benutzen könnte.<br />

Auch für das Auswerten des<br />

JSON­Formats [7], das oft für<br />

den Datenaustausch zwischen<br />

Listing 27<br />

if eingabe in gueltige_werte:<br />

# Alles ok - exec oder eval<br />

anwendbar.<br />

...<br />

else:<br />

# Erzeuge Fehlermeldung oder<br />

verwende einen Vorgabwert.<br />

Listing 28<br />

import os<br />

def verzeichnis(name):<br />

return os.system("ls -l %s"<br />

% name)<br />

Browsern und Webservern zum<br />

Einsatz kommt, missbrauchen<br />

manche Programmierer gerne<br />

eval. Für JSON gibt es jedoch in<br />

der <strong>Python</strong>­Standardbibliothek<br />

das Modul json. Viele andere spezialisierte<br />

Parser finden sich im<br />

<strong>Python</strong> Package Index, PyPI [8].<br />

Lücken vermeiden<br />

mit Subprocess<br />

Das Modul subprocess hilft ebenfalls<br />

beim Vermeiden von Sicherheitslücken.<br />

Bis vor einigen Jahren<br />

diente zur Ausführung von externen<br />

Kommandos in der Regel<br />

die Funktion system aus dem Modul<br />

os. Entsprechend oft finden<br />

sich entsprechende Stellen noch<br />

in älterem Code – und neuerem,<br />

bei dem sich der Autor den älteren<br />

zum Vorbild genommen hat.<br />

Die Funktion os.system weist jedoch<br />

einen großen Nachteil auf,<br />

wie Listing 28 zeigt. Für „normale“<br />

Verzeichnisnamen ohne Leerzeichen<br />

funktioniert dieser Code.<br />

Stammt allerdings der Name von<br />

außerhalb des Programms, lässt<br />

er sich so manipulieren, dass der<br />

Code etwas Unerwünschtes tut.<br />

Lautet name zum Beispiel . ; rm<br />

-rf *, dann zeigt der Aufruf von<br />

verzeichnis nicht nur das aktuelle<br />

Verzeichnis an, sondern leert es<br />

anschließend auch.<br />

Listing 29<br />

import subprocess<br />

def verzeichnis(name):<br />

return subprocess.<br />

call(["ls", "-l", name])<br />

Zwar verhindern Sie diesen Angriff<br />

durch Einschließen des<br />

Platzhalters %s in einfache Anführungszeichen,<br />

aber eine nur wenig<br />

kompliziertere Zeichenkette<br />

umgeht auch diesen vermeintlichen<br />

Schutz. Solche Sorgen ersparen<br />

Sie sich mit dem subprocess­<br />

Modul. Der Code aus Listing 29<br />

deckt die gleiche Funktionalität<br />

ab wie jener aus Listing 28, lässt<br />

sich aber von hinterhältigen Zeichenketten<br />

wie oben nicht verwirren.<br />

Hier geht der Inhalt von<br />

name direkt an den ls­Befehl, ohne<br />

Interpretation durch eine Shell.<br />

Im subprocess­Modul finden sich<br />

daneben auch noch sichere Varianten<br />

von os.popen und ähnlich<br />

gearteten Funktionen.<br />

For-Schleifen konsequent<br />

vereinfachen<br />

Umsteiger von manchen Programmiersprachen<br />

sind es gewohnt,<br />

auf Arrays über Indizes<br />

zuzugreifen. Nach diesem Muster<br />

könnte man die Namen einiger<br />

Programmiersprachen so ausgeben,<br />

wie in Listing 30 zu sehen.<br />

Da <strong>Python</strong>s for­Schleife jedoch<br />

einfach Wert für Wert über eine<br />

Sequenz iteriert, kann man den<br />

vorherigen Code deutlich einfacher<br />

schreiben, wie Listing 31 zeigt. Benötigen<br />

Sie den Index doch einmal,<br />

nehmen Sie am besten die eingebaute<br />

Funktion enumerate in Anspruch<br />

(Listing 32). Der bei jedem<br />

Schleifendurchlauf erzeugte Index<br />

startet bei null.<br />

Einfacher Umgang mit<br />

Zeichenketten<br />

Zeichenketten, sowohl Byte­ als<br />

auch Unicode­Strings, gelten in<br />

<strong>Python</strong> als unveränderbar. Sie<br />

können hier also nicht wie bei Listen<br />

einzelne Abschnitte verändern,<br />

sondern müssen bei Bedarf<br />

ein neues String­Objekt erzeugen.<br />

Zwar besitzen Strings die Methoden<br />

index und find. Wollen Sie<br />

aber nur feststellen, ob eine Zeichenkette<br />

in einer anderen enthalten<br />

ist, erledigen Sie das einfach<br />

wie in der ersten if­Anwei­<br />

34 02 | 11<br />

www.linux-user.de


Robuste <strong>Python</strong>-Programme<br />

schwerpunkt<br />

sung in Listing 33. Daneben gibt<br />

es noch Zeichenketten­Methoden,<br />

um festzustellen, ob ein<br />

String mit einer bestimmten Zeichenkette<br />

beginnt beziehungsweise<br />

endet. Das demonstrieren<br />

die beiden weiteren if­Anweisungen<br />

des Listings.<br />

Wichtig für robuste <strong>Python</strong>­Programme<br />

ist auch die Unterscheidung<br />

zwischen Byte­Strings und<br />

Unicode­Strings. Dazu gilt es aber<br />

weiter auszuholen, sodass dieses<br />

Thema einem späteren Artikel<br />

vorbehalten bleibt. Einen <strong>Einstieg</strong><br />

ins Thema finden Sie in der<br />

<strong>Python</strong>­Unicode­FAQ [9].<br />

Faustregel: Optimiere<br />

(noch) nicht<br />

Sowohl Programmieranfänger als<br />

auch mancher Fortgeschrittene<br />

versuchen sich schon beim ursprünglichen<br />

Schreiben von Code<br />

an Geschwindigkeitsoptimierungen.<br />

In aller Regel führt das jedoch<br />

nicht zu einer schnelleren<br />

Ausführung, sondern nur zu<br />

schwerer verständlichem Code.<br />

Obendrein haben manche vermeintliche<br />

„Optimierungen“ nicht<br />

den gleichen Effekt wie in anderen<br />

Sprachen und machen den<br />

Code womöglich sogar langsamer.<br />

In Bezug auf Geschwindigkeitsoptimierungen<br />

sollten Sie sich daher<br />

an die Regeln halten, die für<br />

alle Programmiersprachen gleichermaßen<br />

gelten: Schreiben Sie<br />

den Code zunächst so wartbar wie<br />

möglich. Stellen Sie parallel dazu<br />

sicher, dass der Code wie erwartet<br />

funktioniert. Oft läuft das Programm<br />

am Ende dieser Entwicklung<br />

schon schnell genug.<br />

Listing 30<br />

sprachen = [u"<strong>Python</strong>", u"Ruby",<br />

u"Perl"]<br />

for i in range(len(sprachen)):<br />

print sprachen[i]<br />

Listing 31<br />

sprachen = [u"<strong>Python</strong>", u"Ruby",<br />

u"Perl"]<br />

for sprache in sprachen:<br />

print sprache<br />

Tut es das nicht, hilft definitiv<br />

kein Raten, um herauszufinden,<br />

wo Sie dem Code auf die Sprünge<br />

helfen müssen. Mit einem Profiler<br />

(in der Regel kommt dazu das <strong>Python</strong>­Modul<br />

cProfile zum Einsatz)<br />

finden Sie heraus, wo genau sich<br />

die Flaschenhälse verbergen. Nur<br />

an diesen Stellen optimieren Sie<br />

gezielt und nehmen die Änderungen<br />

im Interesse der Wartbarkeit<br />

wieder zurück, falls sie nicht den<br />

erwarteten Erfolg bringen.<br />

Einen ausführlichen Leitfaden<br />

zum Optimieren von <strong>Python</strong>­Code<br />

finden Sie bei Interesse in einem<br />

älteren Artikel unserer Schwesterzeitschrift<br />

Linux­Magazin [10].<br />

Freie Werkzeuge zur<br />

Code-Analyse<br />

Kein Programmierer hat stets alle<br />

Ratschläge zum Vermeiden typischer<br />

Fehler im Kopf. Zum Glück<br />

gibt es einige Open­Source­Werkzeuge,<br />

die <strong>Python</strong>­Code statisch<br />

auf so manches typische Problem<br />

untersuchen wie etwa ungenutzte<br />

Module oder Funktionsargumente.<br />

Die bekanntesten Werkzeuge<br />

dieses Genres sind PyLint, Py­<br />

Checker und PyFlakes [11].<br />

Wunder dürfen Sie von diesen<br />

Werkzeugen freilich nicht erwarten.<br />

Da sich die Prüfungen jedoch<br />

automatisiert vornehmen lassen,<br />

sprachen = [u"<strong>Python</strong>", u"Ruby",<br />

u"Perl"]<br />

for index, sprache in<br />

enumerate(sprachen):<br />

print "%d: %s" % (index + 1,<br />

sprache)<br />

string = "<strong>Python</strong>"<br />

Listing 32<br />

Listing 33<br />

if "th" in string:<br />

print 'String enthält "th".'<br />

if string.startswith("Py"):<br />

print 'String beginnt mit<br />

"Py".'<br />

if string.endswith("on"):<br />

print 'String endet mit<br />

"on".'<br />

sollten Sie die gebotenen Möglichkeiten<br />

regelmäßig nutzen.<br />

Selbst fortgeschrittene Entwickler<br />

profitieren noch von diesen<br />

nützlichen Tools.<br />

Fazit: einfach,<br />

verständlich, robust<br />

<strong>Python</strong> ist einfach – aber nicht so<br />

einfach, dass man es allein durch<br />

Lesen von Code lernen könnte.<br />

Um Fehler zu vermeiden, gilt es,<br />

mögliche Fallstricke zu kennen.<br />

Falls Sie aber bei der Lektüre dieses<br />

Artikels den Eindruck gewonnen<br />

haben, <strong>Python</strong> sei eine sehr<br />

fehleranfällige Sprache, sollten<br />

Sie bedenken, dass viele der Ratschläge<br />

(speziell jene zum Vermeiden<br />

von Sicherheitslücken)<br />

ganz ähnlich auch auf andere<br />

Sprachen zutreffen.<br />

Manche Verwirrung entsteht<br />

dadurch, dass Programmierer<br />

Konzepte aus anderen Sprachen<br />

unbedacht auf <strong>Python</strong> anwenden.<br />

Wer erst einmal beispielsweise<br />

das Konzept von Namen und Objekten<br />

begriffen hat, dem unterlaufen<br />

entsprechende Fehler nur<br />

noch selten. Daneben enthält der<br />

Artikel noch diverse Ratschläge,<br />

die nicht der Fehlervermeidung<br />

dienen, sondern zu leichter verständlichem<br />

und besser wartbarem<br />

Code führen, zum Beispiel<br />

kompakter formulierte Bedingungen<br />

in if­Anweisungen. (jlu) n<br />

[1] <strong>Python</strong>: http:// www. python. org<br />

[2] Style Guide for <strong>Python</strong> Code (PEP 8):<br />

http:// www. python. org/ dev/ peps/ pep-0008<br />

[3] Exceptions vs. Statuscodes (1):<br />

http:// nedbatchelder. com/ text/ exceptions-vs-status. html<br />

[4] Exceptions vs. Statuscodes (2):<br />

http:// nedbatchelder. com/ text/ exceptions-in-the-rainforest. html<br />

[5] Eingebaute Ausnahmeklassen: http:// docs. python. org/ library/ exceptions. html<br />

[6] Parser-Frameworks für <strong>Python</strong>:<br />

http:// nedbatchelder. com/ text/ python-parsers. html<br />

[7] JSON: http:// de. wikipedia. org/ wiki/ JSON<br />

[8] <strong>Python</strong> Package Index: http:// pypi. python. org/ pypi<br />

[9] <strong>Python</strong>-Unicode-FAQ: http:// www. p-nand-q. com/ python/ unicode_faq. html<br />

[10] Optimierung von <strong>Python</strong>-Code:<br />

http:// www. linux-magazin. de/ Heft-Abo/ Ausgaben/ 2006/ 12/ Gut-gezielt<br />

[11] Analyse-Tools für <strong>Python</strong>: http:// www. doughellmann. com/ articles/<br />

pythonmagazine/ completely-different/ 2008-03-linters/<br />

der autor<br />

Stefan Schwarzer verwendet<br />

Unix und Linux<br />

seit über zehn Jahren<br />

auf Servern und Desktops.<br />

Sie erreichen<br />

den selbstständigen<br />

Software-Entwickler<br />

und Berater per Mail<br />

unter sschwarzer@<br />

sschwarzer.com.<br />

info<br />

www.linux-user.de<br />

02 | 11 35


schwerpunkt<br />

Arduino<br />

Die quelloffene<br />

Hardware Arduino<br />

gewährt einen<br />

faszinierenden Einblick<br />

in die Welt<br />

der Mikrocontroller<br />

und elektronischen<br />

Schaltungen.<br />

Ein passendes<br />

Lernpaket von<br />

Franzis eröffnet<br />

auch Einsteigern<br />

den unkomplizierten<br />

Zugang.<br />

Jörg Luther<br />

reADMe<br />

Der Franzis-Verlag<br />

schnürt ein Freeduino<br />

Board mit ATmega168-<br />

Controller, Software, etliche<br />

Bauteile für Experimente<br />

sowie ein<br />

200-seitiges Handbuch<br />

zu einem kompakten<br />

und instruktiven Lernpaket<br />

für Einsteiger.<br />

GlossAr<br />

Breadboard: Steckplatine<br />

zum mechanischen<br />

Befestigen und lötfreien<br />

elektrischen Verbinden<br />

elektronischer Bauteile.<br />

Arduino-Lernpaket von Franzis<br />

Plug & Play<br />

Ursprünglich entstand das Arduino-Projekt<br />

[1] an einem mittlerweile<br />

geschlossenen Design-Institut<br />

[2] im italienischen Turin und<br />

verdankt seinen Namen einem<br />

beliebten Studentencafé in dessen<br />

Nähe. Die Arduino-Plattform<br />

verbindet die freie Architektur eines<br />

Mikrocontroller-Boards mit<br />

analogen und digitalen Schnittstellen<br />

sowie einer zugehörigen<br />

Entwicklungsumgebung. Auf diese<br />

Weise ermöglicht sie den <strong>Einstieg</strong><br />

ins sogenannte Physical<br />

Computing, also das Ansteuern<br />

von Sensoren, Motoren und diversen<br />

Ausgabegeräten wie etwa<br />

LEDs vom PC aus [3].<br />

Zwar gibt sich die Arduino-Plattform<br />

deutlich zugänglicher als die<br />

meisten anderen Microcontroller-<br />

Systeme, bei denen es schwer verständliche<br />

Datenblätter zu wälzen<br />

und komplizierte Programmoberflächen<br />

kennenzulernen gilt. Gerade<br />

für Neueinsteiger gestaltet<br />

sich der Weg in die schöne neue<br />

Microcontroller-Welt jedoch auch<br />

mit Arduino auf den ersten Blick<br />

steinig: Welche Hardware-Komponenten<br />

braucht man, und wo bekommt<br />

man sie her? Was kann<br />

© Franzis Verlag<br />

man mit dem Board alles machen,<br />

und welche zusätzlichen Bauteile<br />

sind dazu nötig? Womit und wie<br />

programmiert man das System?<br />

Franzis tritt mit dem „Einsteigerpaket<br />

Arduino“ an, diese <strong>Einstieg</strong>shürden<br />

zu verkleinern.<br />

Dazu hat der Verlag aus Poing<br />

bei München ein Bündel aus Platine,<br />

Microcontroller, Breadboard,<br />

diversen Bauteilen und Software<br />

geschnürt – eine genaue Aufstellung<br />

des Inhalts finden Sie in der<br />

Tabelle Produktübersicht. Beim<br />

Öffnen des etwa pralinenschachtelgroßem<br />

Experimentier-Sets<br />

kommt zudem ein Brevier zum<br />

Vorschein, das auf gut 200 Seiten<br />

Grundlagen zu Microcontrollern<br />

und Elektronik im Allgemeinen<br />

sowie dem Arduino im Besonderen<br />

vermittelt. Daneben bietet es<br />

einen gründlichen <strong>Einstieg</strong> in die<br />

Programmierung des Systems und<br />

erläutert alle Befehle anhand ausführlicher<br />

Programmbeispiele.<br />

Auf einer CD-ROM liegt neben<br />

Datenblättern und Schaltplänen<br />

zum Arduino sowie dem kompletten<br />

Beispiel-Code auch zahlreiche<br />

Tools sowie die Arduino-Entwicklungsumgebung<br />

bei.<br />

Theorie und Praxis<br />

Bei genauem Hinsehen fällt allerdings<br />

auf, dass das Lernpaket<br />

nicht ganz so komplett ausfällt<br />

wie erhofft. Zum einen fehlt ein<br />

Kabel zur Stromversorgung und<br />

Kommunikation mit dem Arduino-Board<br />

– hier benötigen Sie ein<br />

USB-Kabel mit einem Typ-B-Stecker.<br />

Zum anderen laufen mit<br />

Ausnahme der Entwicklungsumgebung<br />

die mitgelieferten Programme<br />

ausschließlich unter<br />

Windows. Obendrein beschreibt<br />

das Handbuch die Inbetriebnahme<br />

ebenfalls nur für Windows; Linux-Anwender<br />

(und auch Mac-<br />

Nutzer) lässt es im Regen stehen.<br />

Dass man die Beinchen des lose<br />

mitgelieferten ATmega-Chips<br />

möglicherweise etwas nach innen<br />

biegen muss, um ihn in den Sockel<br />

zu bekommen, und dass beim<br />

Einbau die halbrunde Nut am<br />

Controller mit der ebensolchen<br />

am Sockel zu koinzidieren hat,<br />

könnte ein Lernpaket dem Einsteiger<br />

ebenfalls ruhig verraten.<br />

Dass das Handbuch auf satten 8<br />

Seiten ausführlich die (offensichtlich<br />

recht komplizierte) Einrichtung<br />

von Windows-Treibern für<br />

den USB/ Serial-Converter-Baustein<br />

des Boards beschreibt, jedoch<br />

kein einziges Wort über entsprechende<br />

Arbeiten bei Linux<br />

verliert, dürfte für zusätzliches<br />

Stirnrunzeln sorgen. Das vermeintliche<br />

Problem ist aber gar<br />

keines, denn anders als das widerspenstige<br />

Produkt aus Redmond<br />

bringt Linux in aktuellen Kerneln<br />

(ab 2.4.20/ 2.6.31) bereits den<br />

passenden Treiber mit und lädt<br />

ihn beim Anstecken des Boards<br />

automatisch, wie Sie leicht mithilfe<br />

von Lsmod prüfen (Listing 1).<br />

Weitere Tipps liefert die offizielle<br />

Arduino-Website [1], wo sich im<br />

Bereich Getting Started auch präzise<br />

Handreichungen zum Einrichten<br />

unter gängigen Distributi-<br />

listinG 1<br />

$ lsmod | grep ftdi<br />

ftdi_sio 33573 0<br />

usbserial 33019 1 ftdi_sio<br />

36 02 | 11<br />

www.linux-user.de


Arduino<br />

schwerpunkt<br />

onen wie Debian, Fedora, Gentoo,<br />

OpenSuse, Slackware und Ubuntu<br />

finden. Insbesondere gilt es, die<br />

Rechte zum Zugriff auf die frisch<br />

eingerichtete serielle Schnittstelle<br />

(in der Regel heißt sie ttyUSB0) zu<br />

sichern, die ansonsten dazwischen<br />

funkenden Braille-Komponenten<br />

zu deinstallieren sowie<br />

den Compiler und die Libraries<br />

für den Atmel-Microcontroller<br />

(gcc-avr, avr-libc) einzurichten.<br />

Anschließend laden Sie aus dem<br />

Download-Areal [4] noch die neueste<br />

Version der Arduino-Entwicklungsumgebung<br />

herunter –<br />

das dem Lernpaket beiliegende<br />

Exemplar ist schon etwas älteren<br />

Datums. Den entsprechenden<br />

Tarball entpacken Sie in einem beliebigen<br />

Verzeichnis und wechseln<br />

in den dabei neu entstandenen<br />

Ordner arduino-00xx (wobei xx für<br />

die Versionsnummer des aktuellen<br />

Releases steht). In diesen kopieren<br />

Sie gleich noch das Verzeichnis<br />

Beispiele von der Lernpaket-CD,<br />

um die Programme gleich<br />

zur Hand zu haben.<br />

Nun starten Sie mit dem Aufruf<br />

arduino die in Java geschriebene<br />

Entwicklungsumgebung (Abbildung<br />

). Hier stellen Sie im Menü<br />

Tools unter Board noch das verwendete<br />

Board ein (Arduino Diecimila<br />

… w/ ATmega 168) sowie unter<br />

Serial Port den passenden Anschluss<br />

(meist /dev/ttyUSB0). Nun<br />

steht dem Experimentiervergnügen,<br />

wie ab Kapitel 8 des Handbuchs<br />

beschrieben, nichts mehr<br />

im Weg: Laden Sie eines der Beispielprogramme<br />

– etwa das aus<br />

dem Ordner Beispiele/Erstes_Programm<br />

– und übersetzen Sie es<br />

durch einen Klick auf das Icon mit<br />

dem Dreieck ganz links in der<br />

inFo<br />

[1] Arduino-Website: http://arduino.cc<br />

[2] Interaction Design Institute Ivrea:<br />

http://interactionivrea.org<br />

[3] Programmieren mit Arduino: C. C. Mierau,<br />

„Let’s Get Physical“, LU 07/ 2010, S. 80,<br />

http://www.linux-community.de/21096<br />

[4] IDE herunterladen:<br />

http://arduino.cc/en/Main/Software<br />

Werkzeugleiste (Verify)<br />

oder mittels<br />

[Strg]+[R]. Dann laden<br />

Sie es über das<br />

Icon mit dem nach<br />

rechts weisenden Pfeil<br />

(Upload) oder [Strg]+<br />

[U] zum Ausführen<br />

auf das Board. Um<br />

Rückgaben des Arduino<br />

anzuzeigen, starten<br />

Sie den Serial Monitor<br />

über das Icon<br />

ganz rechts in der<br />

Werkzeugleiste oder<br />

mittels [Strg]+[Umschalt]+[M]).<br />

Bei der Anzahl der<br />

möglichen Versuche<br />

hat Franzis ein wenig<br />

geflunkert und bei<br />

den beworbenen „70 Experimenten“<br />

offenbar die Beispiele zum Erlernen<br />

der Programmierung mitgezählt.<br />

Immerhin lassen sich aber<br />

27 zum Teil recht anspruchsvolle<br />

Aufbauten betreiben, von der<br />

LED-Lichtorgel über Lüftersteuerung<br />

und Temperaturschalter bis<br />

hin zum Speicheroszilloskop.<br />

Fazit<br />

Beim Franzis-Lernpaket Arduino<br />

liegen Licht und Schatten nah beieinander.<br />

Einerseits ärgert, dass<br />

der Anbieter bei einem Preis von<br />

80 Euro nicht einmal ein USB-Kabel<br />

zur Kommunikation mit dem<br />

Board beilegt und zwar die Eignung<br />

des Pakets für Linux ausdrücklich<br />

bewirbt, dessen Anwender<br />

aber in Sachen Dokumentation<br />

am ausgestreckten Arm verhungern<br />

lässt. Andererseits ebnen<br />

das geschickt zusammengestellte<br />

Paket und insbesondere das (bis<br />

auf die Lücke in Sachen Linux)<br />

sehr gute Handbuch dem Einsteiger<br />

den Weg in die Microcontroller-Welt<br />

ganz erheblich. Wer die<br />

27 spannenden und instruktiven<br />

Experimente des Pakets einmal<br />

hinter sich gebracht hat, ist sicherlich<br />

dauerhaft Arduino-infiziert<br />

– und findet auf der Website<br />

der Arduino-Community zuhauf<br />

weitere Anregungen. (jlu) ■<br />

proDuktÜBersicht<br />

Produkt<br />

Lernpaket Arduino<br />

Hersteller Franzis Verlag GmbH<br />

ISBN 978-3-645-65007-6<br />

Voraussetzungen Pentium-III-PC, CD-ROM-Laufwerk, Java<br />

Preis<br />

79,95 Euro<br />

URL http:// www. franzis. de/ elektronik/ lernpakete-elektronik/ lernpaket-ardunio (1)<br />

Lieferumfang<br />

Board<br />

Controller<br />

Bauteile<br />

Handbuch<br />

Software<br />

(1)<br />

kein Druckfehler, URL ebenso<br />

Die Entwicklungsumgebung<br />

für das Arduino-Board.<br />

Wie Sie<br />

im Serial Monitor<br />

se-<br />

hen, kann der Arduino<br />

auch gut rechnen.<br />

Freeduino (kompatibel zu Arduino Duemilanove), Reset-Taster, USB 2.0, USB-Serial-Chip<br />

FTDI FT232RL<br />

Atmel ATmega 168, 16 MHz<br />

Breadboard (Tiny), Fotowiderstand, Bipolartransistor (NPN), Siliziumdiode, Piezo-Schallwandler,<br />

linearer Trimmwiderstand (10 kOhm), 2 Printtaster, 4 LEDs (rot, grün, gelb),<br />

7 Widerstände (1,5 bis 68 kOhm), 1m Schaltdraht<br />

210 Seiten, deutsch, 27 Experimente<br />

CD-ROM (Entwicklungsumgebung Arduino 0018 für Linux, Mac und Windows; zahlreiche<br />

Zusatztools ausschließlich für Windows, alle Code-Beispiele, Datenblätter und Schaltpläne)<br />

www.linux-user.de<br />

02 | 11 37


SCHWERPUNKT<br />

<strong>Crosscompiling</strong><br />

Crosscompiler – Entwickeln für andere Systeme<br />

Fremde Welten<br />

Der große Vorteil freier Software ist die Zugänglichkeit des Quellcodes.<br />

Mithilfe eines Crosscompilers bringen Sie so viele Programme auch auf fremde<br />

Betriebssysteme oder andere Hardwareplattformen. Wolfgang Dautermann<br />

© Spectral, 123rf.com<br />

README<br />

Um Linux als Entwicklungssystem<br />

für andere<br />

Systeme zu verwenden,<br />

benötigt man einen<br />

Crosscompiler. Dieser<br />

Artikel zeigt, wie Sie<br />

Crosscompiler für Windows<br />

und ältere Computersysteme<br />

wie etwa<br />

den C64 verwenden.<br />

DER AUTOR<br />

Der Systemadministrator<br />

Wolfgang Dautermann<br />

begann seine<br />

Computerkarriere mit<br />

einem Commodore<br />

VC20, der bald von<br />

einem Commodore 64<br />

abgelöst wurde. Neben<br />

vielen Linuxen hat<br />

er auch schon diverse<br />

Unixe wie Solaris, Irix<br />

oder Tru64 gebändigt.<br />

Heute zählt er zu den<br />

Organisatoren der<br />

Grazer Linux-Tage.<br />

Wer hier und da programmiert<br />

oder Software kompiliert, der<br />

kennt die üblichen Prozeduren,<br />

um ein einfaches C-Programm zu<br />

übersetzen und auszuführen, wie<br />

gcc -Wall -o helloworld<br />

helloworld.c ; ./helloworld<br />

oder auch den Dreisatz ./configure;<br />

make; make install, um<br />

Programme einzurichten, die das<br />

GNU-Automake-System verwenden.<br />

Daneben gibt es noch etliche<br />

andere Build-Systeme wie etwa<br />

Cmake, Scons und Konsorten.<br />

Meist liegt der Software eine Datei<br />

INSTALL bei, die dokumentiert,<br />

wie man das Programm übersetzt<br />

und auf dem System einrichtet.<br />

Was haben alle diese Prozeduren<br />

und Anleitungen – so verschieden<br />

sie erscheinen mögen – gemeinsam?<br />

Klar: Man kompiliert das<br />

Programm üblicherweise auf demselben<br />

System, auf dem man es<br />

LISTING 1<br />

#include <br />

int main()<br />

{<br />

printf("Hello World\n");<br />

return 0;<br />

}<br />

später auch ausführt. Freilich<br />

lässt sich ein übersetztes Programm<br />

auch auf andere Rechner<br />

transferieren oder auch bereits als<br />

Binary herunterladen – aber das<br />

Betriebssystem und die CPU-Architektur<br />

der Zielplattform muss<br />

passen. Linux-Software läuft auf<br />

Windows gar nicht, und auch umgekehrt<br />

geht es per Wine nur<br />

recht mühsam. Von anderen Systemen,<br />

wie OpenSolaris oder Irix<br />

schweigt des Sängers Höflichkeit.<br />

Crosscompiler<br />

Hier kommen Crosscompiler ins<br />

Spiel: Sie erzeugen Programme für<br />

andere Zielsysteme. Dabei dürfen<br />

sich alle Komponenten des sogenannten<br />

Targets unterscheiden,<br />

sei es das Betriebssystem, die Registerbreite<br />

(von 8 bis 64 Bit) oder<br />

LISTING 2<br />

$ gcc -Wall -o helloworld helloworld.c<br />

$ file helloworld<br />

sogar der CPU-Typ an sich. Die<br />

Zielplattform muss nicht einmal<br />

existieren: So portierte etwa das<br />

Projekt Trillian [1] Linux-Kernel<br />

schon auf Intels IA64-Plattform,<br />

bevor es überhaupt eine Itanium-<br />

CPU gab – der Linux-Port lief vorher<br />

nur im Simulator.<br />

Portierungen auf noch nicht<br />

existente Targets stellen freilich<br />

eher die Ausnahme dar. Doch<br />

selbst, wenn die Zielplattform bereits<br />

existiert, gibt es anfangs in<br />

der Regel weder ein Betriebssystem<br />

noch einen Compiler darauf.<br />

Beide muss man also auf einem<br />

anderen System für das neue Target<br />

übersetzen – das nennt der<br />

Fachmann Bootstrapping.<br />

Hier und da kommt es auch vor,<br />

dass es die Zielplattform zwar<br />

gibt, man aber keinen Zugriff da-<br />

helloworld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),<br />

dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not<br />

stripped<br />

$ gcc -Wall -m32 -o helloworld helloworld.c<br />

$ file helloworld<br />

helloworld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),<br />

dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not<br />

stripped<br />

38 02 | 11<br />

www.linux-user.de


<strong>Crosscompiling</strong><br />

SCHWERPUNKT<br />

rauf hat. Möglicherweise läuft<br />

dort ein Closed-Source-Betriebssystem,<br />

das man als Open-Source-<br />

Verfechter nicht anfassen will –<br />

oder schlicht die Lizenzgebühren<br />

für Betriebssystem und Entwicklungstools<br />

nicht zahlen kann oder<br />

möchte. In vielen Fällen ziehen es<br />

Entwickler aber auch nur vor, die<br />

gewohnten und bewährten Entwicklungstools<br />

zu nutzen, um<br />

Executables für andere Plattformen<br />

zur Verfügung zu stellen.<br />

Ein gängiges Einsatzfeld für<br />

<strong>Crosscompiling</strong> bieten <strong>Embedded</strong>-<br />

Systeme: kleine und kleinste<br />

Rechner mit mickrigen CPUs, wenig<br />

RAM und kaum Massenspeicher.<br />

Selbst wenn die Ressourcen<br />

eines solchen Systems ausnahmsweise<br />

für den Compiler und dessen<br />

Infrastruktur ausreichen,<br />

kann man in aller Regel durch<br />

<strong>Crosscompiling</strong> auf einem schnelleren<br />

Rechner viel Zeit sparen.<br />

Möglicherweise haben auch Sie<br />

schon mit einem Crosscompiler<br />

gearbeitet, ohne sich dessen bewusst<br />

zu sein: Auf 64-Bit-Linux-<br />

Systemen ist der GNU-Compiler<br />

gcc so installiert, dass er sowohl<br />

32- als auch 64-Bit-Executables<br />

erzeugen kann. Es handelt sich<br />

also um einen sogenannten Bi-<br />

Arch-Compiler: In der Vorgabe<br />

übersetzt er Programme wie das<br />

typische helloworld.c (Listing 1)<br />

für ein 64-Bit-System; über die<br />

Option -m32 weisen Sie ihn im Bedarfsfall<br />

an, ein 32-Bit-Binary zu<br />

erzeugen (Listing 2).<br />

Windows als Target<br />

Warum sollte man unter Linux<br />

ausgerechnet für Windows entwickeln<br />

wollen? Ganz einfach: Eine<br />

Version der eigenen Software für<br />

Microsofts Plattform verbreitert<br />

das Zielpublikum deutlich. Zudem<br />

erspart das <strong>Crosscompiling</strong><br />

hier sowohl das Arbeiten unter<br />

Windows als auch die Pflege verschiedener<br />

Build-Systeme – etwa<br />

Autoconf/ Automake für Linux<br />

und diverse andere Unix-Varianten<br />

sowie zusätzlich Visual-C-<br />

Projekte für Windows.<br />

Passende Windows-Crosscompiler<br />

bringen die meisten Distributionen<br />

bereits in ihren Repositories mit.<br />

Unter Debian/ Ubuntu genügt der<br />

Befehl apt-get install mingw32, um<br />

den Crosscompiler zu installieren.<br />

Das Kürzel Mingw steht für „Minimalist<br />

GNU for Windows“, eine<br />

minimale Portierung der GNU-<br />

Entwicklungstools auf Windows.<br />

Im Gegensatz zu Cygwin, einer<br />

umfassenden Portierung der<br />

GNU-Umgebung auf Windows,<br />

braucht man hier keine zusätzliche<br />

DLLs als Emulationsschicht.<br />

Bei OpenSuse 11.3 fehlt ein<br />

Windows-Crosscompiler im Standard-Repository,<br />

lässt sich jedoch<br />

recht einfach vom OpenSuse-Server<br />

nachziehen. Dazu fügen Sie in<br />

YaST unter Software | Software-<br />

Repositories das Repository<br />

http://download.opensuse.org/<br />

repositories/CrossToolchain:/<br />

mingw/openSUSE_11.3/<br />

hinzu und installieren anschließend<br />

das Paket cross-mingw-gcc<br />

über Yast2 nach. Ist der Crosscompiler<br />

schließlich im System<br />

installiert, übersetzen Sie beispielsweise<br />

das helloworld.c aus<br />

Listing 1 kurzerhand als Windows-Programm<br />

(Listing 3).<br />

Das resultierende Programm<br />

helloworld.exe, hergestellt nur mit<br />

freier Software, lauft nur auf<br />

Windows (bitte testen, wenn vorhanden)<br />

– oder unter Linux mithilfe<br />

von Wine.<br />

Unter Debian/ Ubuntu funktioniert<br />

das Ganze nahezu identisch,<br />

nur heißt der Compiler in diesem<br />

Fall i586-mingw32msvc-gcc und liegt<br />

direkt unter /usr/bin. Zum Übersetzen<br />

des kleinen Windows-Programms<br />

genügt also der Befehl<br />

$ i586-mingw32msvc-gcc -Wall -o<br />

helloworld.exe helloworld.c<br />

Lassen Sie die Option -o mit dem<br />

Namen der Ausgabedatei (-o helloworld.exe)<br />

weg, dann lautet der<br />

Standard-Dateiname des Binaries<br />

unter Unix a.out. Unter Windows<br />

ist die Dateierweiterung relevant,<br />

der Vorgabename lautet hier daher<br />

a.exe.<br />

Umfangreiche Software<br />

Unser helloworld.exe ist ja ganz<br />

nett, aber noch nicht wirklich anspruchsvoll.<br />

Aber auch komplexere<br />

Programme stellen kein wirkliches<br />

Problem dar, allerdings setzt<br />

eine erfolgreiche Kompilierung<br />

das Vorhandensein gewisser<br />

DLLs, Headerfiles und Hilfsprogramme<br />

auch unter Linux voraus.<br />

Um beispielsweise Anwendungen<br />

zu übersetzen, welche die<br />

LibSDL verwenden (eine bekannte<br />

plattformübergreifende Grafikbibliothek,<br />

häufig eingesetzt in<br />

Seine unverkennbare<br />

Form trug dem<br />

Commodore 64 den<br />

liebvollen Spitznamen<br />

„Brotkorb“ ein.<br />

LISTING 3<br />

$ /opt/cross/bin/i386-mingw32msvc-gcc -Wall -o<br />

helloworld.exe helloworld.c<br />

$ file helloworld.exe<br />

helloworld.exe: PE32 executable for MS Windows (console)<br />

Intel 80386 32-bit<br />

$ /opt/cross/bin/i386-mingw32msvc-gcc -Wall -o<br />

helloworld.exe helloworld.c<br />

$ file helloworld.exe<br />

helloworld.exe: PE32 executable for MS Windows (console)<br />

Intel 80386 32-bit<br />

$ wget http://www.libsdl.org/release/<br />

SDL-devel-1.2.14-mingw32.tar.gz<br />

$ tar xvf SDL-devel-1.2.14-mingw32.tar.gz<br />

$ cd SDL-devel-1.2.14<br />

$ sudo make cross CROSS_PATH=/opt/cross<br />

$ /opt/cross/bin/i386-mingw32msvc-gcc -Wall -o<br />

sdlhelloworld.exe sdlhelloworld.c $(/opt/cross/bin/<br />

sdl-config --libs --cflags)<br />

LISTING 4<br />

www.linux-user.de<br />

02 | 11 39


SCHWERPUNKT<br />

<strong>Crosscompiling</strong><br />

Das erste Helloworld-Programm<br />

in C<br />

auf dem (virtuellen)<br />

Commodore 64.<br />

GLOSSAR<br />

Hardware-Sprites: Die<br />

Sprites waren kleine<br />

Grafiken im Format 24 x<br />

21 Pixel. Die Hardware<br />

unterstützte wichtige<br />

Features wie das Positionieren<br />

auf dem Bildschirm<br />

und die Kollisionserkennung<br />

direkt.<br />

Das vereinfachte insbesondere<br />

die Spieleprogrammierung<br />

enorm,<br />

bei der die Sprites etwa<br />

als Spielfigur oder Opponent<br />

Verwendung<br />

fanden.<br />

INSTALLATIONSPAKETE FÜR WINDOWS<br />

Ein mit freier Software erzeugtes meinprogramm.exe ist ja ganz<br />

nett, und jeder Linux-User weiß auch, wie er so etwas startet –<br />

Windows-User dagegen tun sich damit oft schwer. Sie suchen<br />

nach einem Installer namens setup.exe, der auf dem Desktop<br />

noch ein Icon und zusätzlich einen Eintrag im Startmenü erzeugt.<br />

Auch so etwas lässt sich unter Linux realisieren: Beim Nullsoft<br />

Scriptable Install System (NSIS, [4]) handelt es sich um freie<br />

Software, die auch nativ unter Linux läuft.<br />

DER BROTKORB<br />

Viele Leser dürften ihre ersten Erfahrungen mit Rechnern in den<br />

1980ern mit einem der damals verbreiteten sogenannten Heimcomputer<br />

gemacht haben. Das erfolgreichste Modell dieser Gattung<br />

war der Commodore 64 (Abbildung , vorige Seite), der von<br />

1982 bis 1994 gebaut wurde. Seine 8-Bit-CPU des Typs MOS<br />

Technology 6510 war mit 1 MHz getaktet, als Arbeitsspeicher<br />

brachte er 64 KByte RAM mit. Daneben gab es 20 KByte ROM, in<br />

denen unter anderem das Betriebssystem und der eingebaute<br />

Basic-Interpreter lagerten. Der Grafikchip VIC-II brachte es auf<br />

eine Auflösung von 320 x 200 Pixeln bei 16 Farben und steuerte<br />

bis zu acht Hardware-Sprites an. Als Soundchip kam ein 3-stimmiger<br />

SID 6581 zum Einsatz. Die Daten speicherte man auf externen<br />

Massenspeichern. Dazu fand zunächst die „Datasette“<br />

Verwendung, ein Bandlaufwerk mit Musikkassetten. Diese löste<br />

später eine 5¼-Zoll-Floppydisk ab, die 170 KByte Kapazität bot.<br />

Spielen), müssen Sie von der SDL-<br />

Homepage [2] erst die entsprechenden<br />

Windows-Pakete herunterladen<br />

und unter /opt/cross einrichten<br />

(Listing 4, vorige Seite).<br />

Erst dann klappt das Kompilieren<br />

eines SDL-Programms.<br />

Der Aufruf von /opt/cross/bin/<br />

sdl-config am Ende der Compiler-<br />

Zeile von Listing 4 liefert Pfade<br />

und Libraries für die Windows-<br />

Umgebung – für ein Linux-Programm<br />

würde man stattdessen<br />

sdl-config heranziehen.<br />

Um das Programm unter Linux<br />

(Wine) oder Windows zu testen,<br />

benötigen Sie dann noch die Datei<br />

SDL.dll aus SDL-1.2.14-win32.<br />

zip. Auch andere Bibliotheken gilt<br />

es gegebenenfalls für Windows<br />

nachzuinstallieren. Hier verwenden<br />

Sie, sofern vorhanden, die<br />

Entwicklerpakete für Windows<br />

oder müssen anderenfalls die Bibliotheken<br />

selbst crosskompilieren.<br />

LISTING 5<br />

$ make -f make/gcc.mak<br />

$ su -c "make -f make/gcc.mak<br />

install"<br />

LISTING 6<br />

#include <br />

int main()<br />

{<br />

VIC.bordercolor = COLOR_GREEN;<br />

VIC.bgcolor0 = COLOR_BLACK;<br />

return(0);<br />

}<br />

Spezial-Crosscompiler<br />

Der bislang in diesem Artikel verwendete<br />

GCC unterstützt als<br />

Crosscompiler zwar eine beeindruckende<br />

Menge an Targets,<br />

doch gibt es auch viele mehr oder<br />

weniger exotische Plattformen,<br />

die er nicht ansteuert. Für diese<br />

existieren oft Spezial-Crosscompiler,<br />

die meist ausschließlich Code<br />

für die Zielplattform erzeugen.<br />

Ein typisches Beispiel für eine<br />

solche exotische Plattform ist der<br />

Commodore 64 (C64) aus den<br />

80er-Jahren des letzten Jahrhunderts<br />

(siehe Kasten Der Brotkorb).<br />

Solche Heimcomputer wurden<br />

entweder in Basic (eingebaut,<br />

langsam) oder in Assembler programmiert.<br />

Sprachen wie Logo,<br />

Forth oder Pascal standen zwar<br />

auch zur Auswahl, wurden aber<br />

selten benutzt. Ein Compiler für<br />

C – heute die führende Programmiersprache<br />

– existierte 1982<br />

noch nicht. Heute gibt es ihn.<br />

6502-Crosscompiler<br />

Das freie Softwareprojekt CC65<br />

[3] stellt einen C-Crosscompiler<br />

für die MOS-6502-CPU-Familie<br />

zur Verfügung, wie sie nicht nur<br />

im Commodore 64, sondern auch<br />

in Heimcomputern wie dem<br />

VC20, C16, Apple II oder Atari<br />

verwendet wurde. Damit lassen<br />

sich C64-Programme auch in C<br />

programmieren.<br />

Mit den Befehlen aus Listing 5<br />

übersetzen Sie den Compiler<br />

recht einfach aus dem Quellcode<br />

selbst und installieren ihn nach<br />

/ usr/local. Alternativ finden Sie<br />

auf der Homepage auch RPM-Pakete<br />

sowie ein Debian-Repository.<br />

Nach der Installation stehen neben<br />

dem C-Compiler cc65 unter<br />

anderem ein Assembler (ca65), ein<br />

Disassembler (da65) und ein Linker<br />

(cl65) zur Verfügung. Als besonders<br />

praktisch erweist sich<br />

das Compile-and-Link-Dienstprogramm<br />

cl65: Es erkennt die Inputfiles<br />

(Assembler, Object-File, C-<br />

File) automatisch anhand der Endung<br />

und generiert ein ausführbares<br />

Programm. Das Kompilieren<br />

und Ausführen unseres kleinen<br />

Helloworld-Programms aus<br />

Listing 1 klappt daher ohne großen<br />

Aufwand:<br />

$ cl65 helloworld.c<br />

$ x64 -autoload helloworld<br />

In der zweiten Zeile lädt und startet<br />

der C64-Emulator x64 (siehe<br />

Kasten Commodore 64 emulieren)<br />

das Programm helloworld von<br />

der virtuellen Floppy. Mit dem<br />

Basic-Befehl LIST lassen Sie sich<br />

das Programm anzeigen – ein Basic-Programm,<br />

das nur aus einem<br />

Befehl besteht: SYS 2061. Das bedeutet:<br />

Rufe das Assemblerprogramm<br />

an der Speicherstelle 2061<br />

40 02 | 11<br />

www.linux-user.de


<strong>Crosscompiling</strong><br />

SCHWERPUNKT<br />

auf (dort steht unser compilierter<br />

Code). Nun starten Sie das Programm<br />

mit RUN (Abbildung )<br />

und erhalten die Ausgabe Hello<br />

world. Ersetzen Sie im Befehl<br />

-autoload durch -autostart, startet<br />

das Programm sofort.<br />

Programmatisches<br />

Abgesehen von wenigen, meist<br />

hardwarebedingten Einschränkungen<br />

im Sprachumfang unterstützt<br />

der CC65-Crosscompiler<br />

die C-Programmierung für den<br />

Commodore 64 recht problemlos.<br />

Was noch fehlt, sind Grafik und<br />

Sound. Der C64 hatte für damalige<br />

Verhältnisse sehr leistungsfähige<br />

Grafik- und Sound-Chips.<br />

Diese steuerte man meist direkt<br />

über Register. Unter Basic schrieb<br />

man mit POKE Zelle,Wert einen<br />

Wert direkt in eine Speicherstelle,<br />

mit Variable = PEEK(Zelle) wurde<br />

er wieder ausgelesen. Echte Fans<br />

kannten damals die Position und<br />

Bedeutung der Register auswendig.<br />

PEEK und POKE lassen sich in C<br />

auf mehrere Weisen emulieren.<br />

Dem routinierten C-Programmierer<br />

fällt für POKE sofort die Funktion<br />

memset() (string.h) ein. Mit<br />

memset((void*)53280U,1,1); ließe<br />

sich etwa der Wert der Speicherstelle<br />

53280 auf 1 und damit die<br />

Farbe des Bildschirmrahmens auf<br />

Weiß ändern.<br />

Viel vorbildnäher klappt es,<br />

wenn Sie mit #include <br />

die entsprechende Header-Datei<br />

ins Programm einbinden. Sie definiert<br />

die Makros POKE(addr,val),<br />

POKEW(addr,val), PEEK(addr) und<br />

PEEKW(addr), um Speicherzellen zu<br />

beschreiben und auszulesen. POKEW<br />

und PEEKW schreiben beziehungsweise<br />

lesen gleich ein ganzes<br />

Wort, also 16 Bit. Die ebenfalls<br />

16 Bit langen Adressen müssen<br />

als Unsigned angegeben werden<br />

(65535U statt 65535), sonst gibt der<br />

Compiler eine Warnung aus.<br />

Die zusätzliche Include-Datei<br />

c64.h bildet die Hardwarefähigkeiten<br />

des Systems ab: Dort gibt es<br />

#defines für die Farben; die Register<br />

des Grafik- und des Sound-<br />

Die Hardware-Einstellungen von<br />

x64 (rechte Maustaste).<br />

Chips sind als Structs definiert.<br />

Daneben setzt c64.h die Basisadresse<br />

des Grafikchips und stellt<br />

sie als VIC-Struktur zur Verfügung.<br />

Ein Programm, um die Rahmenfarbe<br />

auf Grün und die Hintergrundfarbe<br />

auf Schwarz zu setzen,<br />

könnte dann so aussehen wie<br />

in Listing 6. Das lässt sich wesentlich<br />

leichter lesen als in Form<br />

von PEEKs und POKEs. Auch für<br />

die anderen Chips (den Soundchip<br />

SID und die IO-Chips CIA1<br />

und CIA2) gibt es solche Strukturen.<br />

Zur Ansteuerung des Textbildschirms<br />

stellt die Headerdatei<br />

conio.h einige interessante Funktionen<br />

zur Verfügung.<br />

INFO<br />

[1] Linux auf Itanium:<br />

http://en.wikipedia.org/wiki/Project_Trillian<br />

[2] Simple DirectMedia Layer:<br />

http://www.libsdl.org/download-1.2.php<br />

[3] CC65-Projekt: http://www.cc65.org<br />

[4] Nullsoft Scriptable Install System:<br />

http://nsis.sourceforge.net/<br />

[5] Emulator Vice: http://www.viceteam.org<br />

Ausblick<br />

Die Website des CC65-Projekts<br />

[3] liefert zahlreiche konkrete<br />

Tipps zur Code-Optimierung. So<br />

sollten Sie etwa statt Postinkrement<br />

(i++) stets Präinkrement<br />

verwenden (++i) und die Deklaration<br />

sowie Initialisierung von Variablen<br />

in einem Aufwasch erledigen<br />

(int i=1; statt int i; i=1;). Da<br />

es sich beim MOS 6502 um eine<br />

8-Bit-CPU handelt, empfiehlt es<br />

sich, grundsätzlich Unsigned-Datentypen<br />

zu verwenden, möglichst<br />

char statt int einzusetzen<br />

und long tunlichst zu vermeiden:<br />

Längere Datentypen verbrauchen<br />

mehr Speicher und Rechenzeit.<br />

Derlei Ratschläge zeigen auch<br />

deutlich, dass das Übersetzen von<br />

Software für andere Plattformen<br />

meist wesentlich mehr bedeutet,<br />

als einfach nur ein gegebenes<br />

Stück Quellcode durch einen<br />

Crosscompiler laufen zu lassen.<br />

Gerade, wenn sich die Hardware<br />

des Targets deutlich von jener der<br />

Ursprungsplattform unterscheidet,<br />

verlangt ein erfolgreiches<br />

Übertragen dem Entwickler gewisse<br />

Kenntnisse der Eigenschaften<br />

der Zielplattform sowie ein intelligentes<br />

Anpassen des Codes an<br />

die Gegebenheiten ab. Genau das<br />

macht aber auch den Reiz der Aufgabe<br />

aus, ein Stück Software auf<br />

einem anderen System zum Laufen<br />

zu bringen. (jlu) ■<br />

Die Image-Einstellungen<br />

von x64 (linke<br />

Maustaste).<br />

TIPP<br />

Falls Sie früher einmal<br />

mühsam<br />

6502-Assembler gelernt<br />

haben und<br />

schnell wieder einsteigen<br />

wollen: Der Befehl<br />

cl65 --listing<br />

helloworld.c erzeugt<br />

ein Assembler-Listing<br />

aus dem C-Code.<br />

COMMODORE 64 EMULIEREN<br />

Das Emulator-Paket Vice [5] für den Commodore 64 und seine<br />

Verwandten installiert sich unter Debian/ Ubuntu fast von selbst,<br />

es genügt der Aufruf apt-get install vice. Unter OpenSuse<br />

müssen Sie erst das Repository http://download.opensuse.org/<br />

repositories/Emulators/openSUSE_11.3/ in YaST hinzufügen, um<br />

Vice einzurichten. Nach der Installation rufen Sie mit x64 den<br />

C64-Emulator auf. Er bietet unzählige Kommandozeilenoptionen,<br />

um Einstellungen zu ändern (x64 -h). Drücken Sie im Emulatorfenster<br />

die rechte Maustaste, können Sie Einstellungen zur Hardware<br />

treffen (Abbildung ). Ein Linksklick fördert das Menü zur<br />

Behandlung von Disk- und Tape-Images zutage (Abbildung ).<br />

www.linux-user.de<br />

02 | 11 41


PRAXIS<br />

Ding 1.7<br />

Wörter offline suchen und übersetzen<br />

Dickes Ding<br />

Ding kombiniert als leistungsstarkes Frontend die Wörterbuch-Suche, einen Thesaurus<br />

und das Übersetzen vom Deutschen ins Englische und umgekehrt. Karsten Günther<br />

© Norriuke, sxc.hu<br />

Ding 1.7, Wörterbuch<br />

LU/ding<br />

Kaum zu glauben, dass es so etwas<br />

gibt: Ein kleines Nachschlagewerk,<br />

das immer – also unabhängig<br />

von einer Netzwerkverbindung<br />

– schnell und zuverlässig<br />

funktioniert. Und dabei benötigt<br />

Ding [1] noch nicht einmal besondere<br />

Bibliotheken oder Zusatzprogramme,<br />

sondern kommt<br />

mit Bordmitteln aus. Für die grafische<br />

Oberfläche (Abbildung )<br />

benötigt das Programm allerdings<br />

Tk ab Version 8.3.<br />

Der Name Ding leitet sich von<br />

den verwendeten Tools („Dictionary<br />

Nice Grep“) ab und erklärt<br />

damit auch schon die Funktionsweise<br />

der Anwendung: Eine Grep-<br />

Variante durchsucht ein zeilenweise<br />

aufgebautes Wörterbuch<br />

(„dictionary“) und gibt die Trefferzeilen<br />

aus. Steht das Agrep<br />

(„approximate grep“) bereit, erfolgt<br />

die Suche auf Wunsch fehlertolerant.<br />

Um möglichst schnell<br />

Ergebnisse zu erhalten, lohnt die<br />

Installation des ursprünglichen<br />

Agrep [2]. Es ist deutlich schneller<br />

als die TRE-Variante, die viele<br />

Repositories enthalten.<br />

<strong>Einstieg</strong> in Ding<br />

Nicht alle Distributionen haben<br />

die aktuelle Version von Ding im<br />

Repository. Für RPM-basierte<br />

Distributionen wie Red Hat,<br />

OpenSuse oder Fedora stellt Ding-<br />

Entwickler Frank Richter selbst<br />

Pakete bereit [3]. Mittels Alien [4]<br />

wandeln Sie diese schnell in Pakete<br />

für andere Distributionen um.<br />

Ein Debian/ Ubuntu-Archiv erzeugen<br />

Sie zum Beispiel mit dem folgenden<br />

Befehl:<br />

$ alien -d -v -c /tmp/ding-1.7-1U<br />

.noarch.rpm<br />

README<br />

Ding ist ein echter Klassiker:<br />

Schon seit 1999<br />

entwickelt Frank Richter<br />

sein Wörterbuch-Frontend<br />

für Übersetzungen<br />

und zum Nachschlagen.<br />

Es steht für alle gängigen<br />

Linux-Distributionen<br />

zur Verfügung.<br />

Ding startet ohne eine Anfrage. In diesem Modus zeigt das Programm eine<br />

Reihe der wichtigsten Parameter an.<br />

Es gibt zwei Möglichkeiten, Ding<br />

aufzurufen: Aus dem Desktop-<br />

Menü heraus startet das Programm<br />

ohne ein Suchwort. Auf<br />

der Befehlszeile dagegen übergeben<br />

Sie der Software höchstwahrscheinlich<br />

gleich einen Suchbegriff<br />

als Parameter. Das führt<br />

dann direkt zu Ergebnissen (Abbildung<br />

, nächste Seite). Der<br />

Suchbegriff darf bis zu 30 Zeichen<br />

umfassen und – sofern er von<br />

Hochkommata eingeschlossen ist<br />

– auch Leerzeichen enthalten.<br />

42 02 | 11<br />

www.linux-user.de


JAHRES-DVD<br />

Den kompletten <strong>LinuxUser</strong>-Jahrgang 2010<br />

gibt es jetzt auf einer DVD!<br />

Fedora 14<br />

Install-DVD (32 Bit)<br />

• Sämtliche Artikel<br />

der Ausgaben 01/2010 bis<br />

12/2010 als HTML-Seiten<br />

• Unkomplizier te, schnelle<br />

Volltextsuche für alle<br />

gängigen Browser<br />

• Bootfähiger Datenträger –<br />

auch für die Daten- und<br />

Systemrettung einsetzbar<br />

JETZT<br />

BESTELLEN:<br />

• Telefon 089 / 99 34 11-0 • Fax 089 / 99 34 11-99<br />

• E-Mail: info@linux-user.de<br />

• Internet: http://www.linux-user.de/DVD2010<br />

NUR 14,95 <br />

Ihr Widerrufsrecht: Sie können Ihre Bestellung innerhalb von 14 Tagen beim Linux-User-Leserservice,<br />

Putzbrunner Straße 71, D-81739 München, widerrufen. Zur Wahrung der Frist genügt die rechtzeitige Absendung des Widerrufs.


PRAXIS<br />

Ding 1.7<br />

Mit einem Suchwort<br />

gestartet, zeigt Ding<br />

sofort den ersten Teil<br />

der Ergebnisse.<br />

WICHTIGE TASTENKÜRZEL FÜR DING<br />

Kürzel<br />

Wirkung<br />

Im Suchfeld<br />

[Esc]/<br />

Suchwort löschen<br />

[Umschalt]+[Zurück]<br />

[Strg]+[A]<br />

ans Ende des Suchfelds<br />

[Strg]+[E]<br />

an den Anfang des Suchfelds<br />

[Strg]+[K]<br />

löschen ab aktueller Position<br />

Suchmethode ändern<br />

[Strg]+[1]/[2]/…<br />

Suche mit Methode 1, 2,…<br />

Im Ergebnisfenster<br />

[Pos1]<br />

an den Anfang der Liste<br />

[Ende]<br />

ans Ende der Liste<br />

[Umschalt]+[Pfeil<br />

links]/ [Pfeil rechts]<br />

Ausschnitt nach links (rechts) verschieben<br />

(bei langen Zeilen)<br />

[Strg]+[Bild oben]/ Ausschnitt nach oben (unten) verschieben<br />

[Bild unten]<br />

[Strg]+Mausrad frühere Suchergebnisse anzeigen<br />

Menü-Funktionen<br />

[Strg]+[Q]<br />

Programm beenden<br />

[Strg]+[N]<br />

neues Fenster öffnen<br />

[Strg]+[S]<br />

aktuelles Ergebnis speichern<br />

[Strg]+[L]<br />

alle Ergebnisse speichern<br />

[Strg]+[M]<br />

E-Mail an den Autor senden (nur Unix)<br />

[Strg]+[O]<br />

Notiz in .dingnotice.txt schreiben<br />

Sonstiges<br />

[F1]<br />

Hilfe<br />

[Strg]+[+]<br />

Schrift vergrößern<br />

[Strg]+[–]<br />

Schrift verkleinern<br />

[Strg]+[0]<br />

Standard-Schriftgröße<br />

[Strg]+[Linksklick] Ergebnisse ein- oder ausklappen<br />

[Esc]<br />

Suchwort löschen, eventuell Suche<br />

stoppen, Oberfläche zurücksetzen<br />

[Umschalt]+[Esc] Voreinstellungen wiederherstellen<br />

LISTING 1<br />

Deutsche Rechtschreibprüfung<br />

Vorschläge:<br />

The file "/usr/lib/aspell/<br />

ngerman" can not be opened for<br />

reading.<br />

Meist liefert Ding sehr viele Ergebnisse,<br />

da die Grep-Varianten<br />

aufgrund der zeilenweisen Suche<br />

sowohl in den deutschen als auch<br />

in den englischen Texten Treffer<br />

erzielen. Ding bereitet die Ergebnisse<br />

aber gut und übersichtlich<br />

auf (Abbildung ). Die von Ding<br />

angezeigten Treffer eignen sich<br />

als Eingabe für eine neue Suche –<br />

ein Doppelklick auf ein angezeigtes<br />

Wort setzt dies sofort ins Eingabefeld<br />

und startet eine solche.<br />

Ding kommuniziert mit anderen<br />

Programmen. Schon in der Standard-Konfiguration<br />

ist es in der<br />

Lage, jedes in einem beliebigen<br />

Fenster markierte Wort als Suchbegriff<br />

zu verwenden, sofern Sie<br />

nach dem Auswählen die mittlere<br />

Maustaste über dem Ergebnisfenster<br />

des Programms betätigen.<br />

Das geht schnell und simpel. Noch<br />

einfacher gestaltet es sich mit den<br />

im Menü Suchverhalten bereitstehenden<br />

Funktionen Suche sobald<br />

Maus über dem Fenster oder Suche<br />

sofort bei neuer Textauswahl.<br />

In der Praxis kommt vermutlich<br />

häufig ein einzelnes Suchwort<br />

zum Einsatz. Ding unterstützt jedoch<br />

die Eingabe von mehreren<br />

Wörtern (etwa von Phrasen) mit<br />

Leerzeichen. Das voreingestellte<br />

Wörterbuch [5] enthält zahlreiche<br />

Beispiele dafür. Alternativ dazu<br />

übergeben Sie verknüpfte Suchen<br />

an das Programm: Ein Komma<br />

verbindet zwei Suchwörter mit einem<br />

logischen Oder, ein<br />

Pluszeichen mit einem logischen<br />

Und. Das funktioniert<br />

sogar, wenn die beiden<br />

Wörter nicht in derselben<br />

Kategorie stehen –<br />

also nicht beide aus dem<br />

Deutschen oder dem Englischen<br />

stammen.<br />

Manchmal gibt es Probleme<br />

bei der Eingabe<br />

deutscher Sonderzeichen.<br />

Dafür kennt Ding ähnlich<br />

wie etwa LaTeX eine Ersatzsyntax:<br />

Die Umlaute<br />

„ä“, beziehungsweise „Ä“<br />

schreiben Sie als "a beziehungsweise<br />

"A. Analog verfahren Sie mit<br />

„ö“ und „ü“ sowie deren großgeschriebenen<br />

Varianten. Das<br />

scharfe S geben Sie als "s ein. Dafür<br />

gibt es auch Schaltflächen in<br />

der Werkzeugleiste, die Sie über<br />

Einstellungen | Umlautknöpfe anzeigen<br />

aktivieren.<br />

Wie, nix gefunden?<br />

Ding bringt in der Grundversion<br />

ein umfangreiches Deutsch-Englisch-Wörterbuch<br />

(de-en.txt) mit.<br />

Bei einigen Distributionen wie<br />

etwa Ubuntu installieren Sie das<br />

Wörterbuch separat. In der derzeit<br />

aktuellen Version umfasst es<br />

mehr als 160 000 Zeilen mit etwa<br />

270 000 Einträgen. Falls Sie Dict,<br />

Ispell oder Aspell installiert haben,<br />

stehen deren einsprachige<br />

Wortlisten ebenfalls bereit.<br />

Angesichts dieser Fülle erstaunt<br />

es, wenn Ding zu einem bestimmten<br />

Wort gar kein Ergebnis liefert.<br />

Normalerweise deutet das auf wenigstens<br />

einen Schreib fehler hin.<br />

Das ist jedoch kein Problem, da<br />

die Software unter Suchparameter<br />

die Möglichkeiten bietet, bis zu<br />

vier Fehler zu tolerieren. Die Option<br />

bis Treffer liefert stets mindestens<br />

ein Ergebnis, allerdings<br />

oft nicht das richtige. Da Ding die<br />

Ergebnisse nach der Fehlerzahl<br />

sortiert, eignet sich die Einstellung<br />

1 Fehler oft am besten.<br />

Voreingestellt sucht Ding Teilwörter,<br />

vergleicht also die eingegebene<br />

Zeichenkette mit der<br />

44 02 | 11<br />

www.linux-user.de


Ding 1.7<br />

PRAXIS<br />

Wörterbuchdatei. Wenn das zu<br />

viele Treffer liefert, weil die Zeichenkette<br />

zu kurz ausfällt oder<br />

einfach zu oft auftaucht, hilft der<br />

Menüpunkt ganze Wörter. Entsprechendes<br />

gilt für Groß-/ klein<br />

egal versus Groß-/ klein exakt.<br />

Unter Einstellung finden Sie die<br />

Möglichkeit, diese Optionen<br />

durch Suchparameter anzeigen als<br />

Schalter in die Werkzeugleiste zu<br />

hieven. Sehr interessant ist die<br />

Möglichkeit, neben Zeichenketten<br />

nach Mustern – ausgedrückt<br />

durch reguläre Ausdrücke – zu suchen.<br />

Im Web finden sich mehrere<br />

Anleitungen, die diesen Einsatz<br />

gut beschreiben ([6],[7],[8]).<br />

Versuchen Sie, eine Suche mit<br />

falschen Einstellungen vorzunehmen,<br />

moniert Ding dies im Ergebnisfenster<br />

(Listing 1). Die erste<br />

Zeile bezeichnet die verwendete<br />

Suchmethode, unter Vorschläge erscheint<br />

die Ausgabe des fehlerhaften<br />

Programms. Im Beispiel<br />

macht der Wechsel von Ispell zu<br />

Aspell die Angabe eines neuen<br />

Wörterbuchs erforderlich: Ersetzen<br />

Sie hier ngerman durch DE_de.<br />

[1] Ding-Homepage:<br />

http://www.tu-chemnitz.de/ ~fri/ding/<br />

INFO<br />

[2] Schnelles Agrep: http://ftp.tu-chemnitz.de/<br />

pub/Local/urz/ding/contrib/<br />

[3] Ding herunterladen: http://ftp.tu-chemnitz.<br />

de/pub/Local/urz/ding/<br />

[4] Alien: http://kitenet.net/ ~joey/code/alien/<br />

[5] Wörterbuch: http://ftp.tu-chemnitz.de/pub/<br />

Local/urz/ding/de-en/<br />

Aus anderen Quellen<br />

In der Regel genügt das mit Ding<br />

gelieferte Wörterbuch den Ansprüchen<br />

des Alltags. Durch die<br />

Form der Wörterbuchdatei lässt<br />

es sich in gewissem Maß als Thesaurus<br />

(Synonymwörterbuch)<br />

verwenden. Noch besser geht das<br />

aber mit einer speziellen Thesaurus-Datei<br />

– etwa der von Open-<br />

Thesaurus ([9],[10]), die ebenfalls<br />

in OpenOffice und KWord zum<br />

Einsatz kommen.<br />

Unter Ubuntu heißt diese Datei<br />

/usr/share/openthesaurus-de/thesaurus.txt.<br />

Sie lässt sich bei Ding vorab<br />

einstellen: Einstellungen | Suchmethoden…<br />

öffnet das Fenster aus<br />

Abbildung . Als Trennzeichen<br />

verwenden Sie hier das Semikolon.<br />

Unter De En stehen die<br />

detaillierten Einstellungen mit<br />

Ändern zum Anpassen bereit.<br />

Dort definiert der Eintrag Wörterbuchdatei<br />

den Pfad zum eingesetzten<br />

Wörterbuch. Ding<br />

ist zudem in der Lage, Dict zu<br />

nutzen und damit auf Dict-<br />

Server [11] zuzugreifen (und<br />

damit wieder online zu sein).<br />

te die Tabelle Wichtige Tastenkürzel<br />

für Ding zusammenfasst.<br />

Fazit<br />

Ding präsentiert sich als ein einfaches,<br />

aber leistungsfähiges Werkzeug.<br />

Es lohnt sich unbedingt, es<br />

auf dem System zu installieren,<br />

wenn Sie oft mit englischen Texten<br />

zu tun haben. Zwar liefert<br />

Ding keine fertigen Übersetzungen,<br />

durch das gute Wörterbuch<br />

aber (meistens) mehr als nur<br />

übersetzte Wörter. Die vielen<br />

möglichen Konfigurationen erlauben<br />

es, weitere Tools unter der<br />

Oberfläche zu verwenden.<br />

Es fehlt noch die Möglichkeit,<br />

mittels Ding erzeugte Ausgaben<br />

direkt auf der Befehlszeile weiterzuverarbeiten.<br />

Da ist es dann<br />

sinnvoll, auch weiterhin die Wörterbücher<br />

direkt mit Grep oder<br />

Agrep zu durchsuchen. (agr) ■<br />

Umfangreiche Ergebnisse<br />

gibt die Software<br />

in einer strukturierten<br />

Form wieder.<br />

Nach dem Anklicken<br />

des Pluszeichens vor<br />

einem Begriff zeigt sie<br />

weitere Varianten an.<br />

[6] Reguläre Ausdrücke: http://de.wikipedia.<br />

org/wiki/Regul%C3%A4rer_Ausdruck<br />

[7] Einführung in reguläre Ausdrücke:<br />

http://www.danielfett.de/internet-und-open<br />

source,artikel,regulaere-ausdruecke<br />

[8] Buch zu regulären Ausdrücken: Tony Stubblebine,<br />

„Reguläre Ausdrücke – kurz & gut“,<br />

O’Reilly 2004, ISBN 978-3-89721-264-0,<br />

http://www.oreilly.de/catalog/regexpprger/<br />

[9] OpenThesaurus (Homepage):<br />

http://www.openthesaurus.de<br />

[10] OpenThesaurus (Wikipedia): http://de.<br />

wikipedia.org/wiki/OpenThesaurus<br />

[11] Dict-Server: Erik Bärwaldt, „Babylonische<br />

Sprachentwirrung“, LU 07/ 2007, S. 79,<br />

http://www.linux-community.de/13085<br />

Und sonst?<br />

Das Programm verfügt darüber<br />

hinaus über eine Reihe<br />

von weiteren praktischen<br />

Funktionen: Bereits verwendete<br />

Suchwörter speichert<br />

das Programm in einer History,<br />

auf die Sie über die nach<br />

links und rechts weisenden<br />

Pfeilspitzen neben dem Suchfeld<br />

zugreifen. Auf der anderen<br />

Seite schaltet der Knopf<br />

(voreingestellt mit De <br />

En) die Suchfunktion um.<br />

Für viele Funktionen gibt es<br />

Tastenkürzel, deren gängigs-<br />

Ding verwendet bei<br />

Bedarf alternative<br />

Wörterbücher. Im<br />

Fenster oben legen Sie<br />

fest, in welcher Reihenfolge<br />

Ding sucht.<br />

Die kleinen Pfeilspitzen<br />

rechts neben der<br />

Liste erlauben, diese<br />

neu zu sortieren.<br />

www.linux-user.de<br />

02 | 11 45


PRAXIS<br />

X File Explorer<br />

© Gabriel77, sxc.hu<br />

Dateien verwalten mit XFE<br />

Robuster Winzling<br />

Mit dem schlanken X File Explorer und den kleinen Helfern, die er im Gepäck hat, verwalten Sie<br />

Dateien effizient und ohne jeden Schnickschnack. Vincze-Aron Szabo<br />

XFE 1.32.2<br />

LU/xfe/<br />

README<br />

Kleine Helfer wie der<br />

Dateimanager XFE und<br />

seine Tools bieten sich<br />

als ressourcenschonende<br />

Alternative für<br />

die alltäglichen Arbeiten<br />

auf dem Desktop an.<br />

Die großen Desktop-Umgebungen<br />

KDE und Gnome bringen von<br />

Haus aus einen Dateimanager<br />

mit, der sich perfekt in die jeweilige<br />

Oberfläche integriert. Mitunter<br />

passen diese Standardwerkzeuge<br />

jedoch nicht optimal zu den<br />

eigenen Bedürfnissen, oder man<br />

hat aufgrund der eigenen Arbeitsweise<br />

besondere Ansprüche an<br />

eine entsprechende Software.<br />

Dazu gehört zum Beispiel beim<br />

Einsatz eines älteren Rechners oft<br />

der schonende Umgang mit Hardwareressourcen.<br />

Der X File Explorer [1], kurz:<br />

XFE, bietet sich als Alternative<br />

zum Verwalten von Dateien unter<br />

Linux an. Der übersichtliche<br />

Funktionsumfang und das Bedienkonzept<br />

erinnern an den<br />

Windows Explorer, ohne sich zu<br />

sehr an ihm zu orientieren, was in<br />

INSTALLATION<br />

XFE steht erfreulicherweise in den Repositories aller gängigen<br />

Distributionen bereit, was die Installation sehr vereinfacht. Falls<br />

eine Suche in den Repos Ihrer Lieblingsdistribution vergeblich<br />

bleibt, laden Sie XFE als DEB- oder RPM-Paket herunter [3]. Bevor<br />

Sie das Programm installieren, ziehen Sie zunächst bei Bedarf<br />

die Fox-Bibliotheken nach, die Sie – sofern nicht über die<br />

Repositories erhältlich – ebenfalls entweder als DEB- oder als<br />

RPM-Paket aus dem Netz [4] fischen. Haben Sie Fox installiert,<br />

spielen Sie im Anschluss das XFE-Paket ein. Danach steht die<br />

Software wie gewohnt über das Startmenü bereit.<br />

Redmond bis Windows XP den<br />

Standard markierte. Die Ähnlichkeit<br />

kommt nicht von ungefähr:<br />

XFE basiert auf dem X Win Commander<br />

[2], an dem die Entwickler<br />

mittlerweile jedoch nicht mehr<br />

weiterarbeiten. Das Projekt richtete<br />

sich seinerzeit an Nutzer der<br />

Windowmanager Icewm, Qvwm<br />

sowie Windowmaker, die auf ressourcenschonende<br />

Anwendungen<br />

Wert legen.<br />

Dasselbe gilt für XFE: Bei dem<br />

Programm handelt es sich ebenfalls<br />

um einen Dateimanager, der<br />

im Betrieb durch seine Schnelligkeit<br />

besticht und der daher gut<br />

auf Rechnern läuft, deren Hardwareressourcen<br />

Sie mit Bedacht<br />

einteilen müssen. Auch für Rechner<br />

mit mehr Dampf unter der<br />

Haube erweist sich XFE aufgrund<br />

seiner Funktionen als interessante<br />

Alternative, sofern Sie die fehlende<br />

optische Integration in den<br />

Desktop nicht stört. Das Setup gestaltet<br />

sich in jedem Fall einfach<br />

(siehe Kasten Installation).<br />

Bedienung<br />

Im Bedienkonzept gleicht XFE<br />

den meisten anderen Dateimanagern:<br />

Links im Fenster finden Sie<br />

die Ordnerstruktur der vorhandenen<br />

Festplatten. Wählen Sie dort<br />

einen Ordner per Mausklick aus,<br />

zeigt das Programm dessen Inhalt<br />

an. Daneben unterstützt die Applikation<br />

einen Modus, der dem<br />

des Midnight Commanders [5]<br />

ähnelt und zwei Ordner parallel<br />

anzeigt (Abbildung ). Sie erreichen<br />

diese Anzeigeart über<br />

[Strg]+[F4] oder den Menüpunkt<br />

Anzeigen | Baum und zwei Felder.<br />

Für jedes Ordnerfeld stellt die<br />

Software gleichzeitig einen eigenen<br />

Eintrag im Menü bereit (etwa<br />

Linkes Anzeigefeld). Dort wählen<br />

Sie die Sortierfolge sowie die Darstellungsweise<br />

(kleine beziehungsweise<br />

große Symbole oder<br />

Detailliste) aus. Die meisten<br />

Funktionen erreichen Sie ebenfalls<br />

über die Symbolleiste. Benötigen<br />

Sie die Ordnerstruktur auf<br />

der linken Seite nicht, blenden Sie<br />

diese einfach aus, indem Sie über<br />

das Menü Anzeigen eine entsprechende<br />

Ansicht aktivieren.<br />

Spezielle Funktionen für die tägliche<br />

Arbeit unter Linux finden<br />

Sie unter Werkzeuge. Hier starten<br />

Sie beispielsweise ein neues Programmfenster<br />

sowie eine XFE-<br />

Instanz mit Administratorrechten.<br />

Darüber hinaus haben Sie die<br />

Möglichkeit, einen Befehl direkt<br />

48 02 | 11<br />

www.linux-user.de


X File Explorer<br />

PRAXIS<br />

auszuführen oder eine Konsole<br />

aufzurufen, um darin weiterzuarbeiten.<br />

Für den Papierkorb gibt es<br />

einen eigenen Eintrag in der<br />

Menüleiste, über den Sie direkt<br />

zum entsprechenden Ordner<br />

springen und separat die Größe<br />

des Datenmülls abfragen. Für die<br />

meisten Funktionen stehen entsprechende<br />

Tastenkürzel bereit.<br />

Lesezeichen erleichtern mitunter<br />

die alltägliche Arbeit in XFE. Sie<br />

finden diese in der Menüleiste<br />

über dem entsprechenden Eintrag.<br />

Um ein Bookmark hinzuzufügen,<br />

navigieren Sie einfach in den entsprechenden<br />

Ordner und klicken<br />

nun im Menü auf den Eintrag Lesezeichen<br />

| Lesezeichen hinzufügen.<br />

Eine umfassende Lesezeichenverwaltung<br />

mit Ordnern und Unterordnern<br />

(oder gar Schlagworten<br />

wie zum Beispiel in Firefox)<br />

enthält XFE aber nicht. Daher gerät<br />

die Lesezeichenliste im Menü<br />

schnell ein wenig unübersichtlich.<br />

Dennoch empfiehlt es sich nur im<br />

Ausnahmefall, kurzentschlossen<br />

auf Lesezeichen | Lesezeichen löschen<br />

zu klicken: Damit entfernen<br />

Sie unglücklicherweise gleich alle<br />

gespeicherten Einträge.<br />

Einstellungssache<br />

Falls Ihnen die großen Schriften<br />

in der Benutzeroberfläche von<br />

XFE zu opulent erscheinen, passen<br />

Sie diese über die Programmeinstellungen<br />

unter Bearbeiten |<br />

Einstellungen an. Im sich öffnenden<br />

Dialog wechseln Sie auf den<br />

Reiter Schriftarten und klicken auf<br />

Auswählen…. Hier stellen Sie beispielsweise<br />

die Schriftart auf Arial<br />

[monotype] in Schriftgröße 9. Unter<br />

Thema wählen Sie zusätzlich<br />

bei Bedarf ein anderes Farbschema<br />

aus, etwa um XFE optisch besser<br />

in den Desktop zu integrieren.<br />

Poweruser schwören auf den<br />

Einsatz von Tastenkombinationen.<br />

Diese dürfen Sie in XFE nach<br />

Ihren Bedürfnissen anpassen.<br />

Dazu nutzen Sie im Einstellungsdialog<br />

unter dem Reiter Tastenbelegung<br />

das Control Tastenbelegung<br />

ändern (Abbildung ).<br />

Zusatztools<br />

Mit der Installation<br />

von XFE<br />

kommen einige<br />

zusätzliche<br />

kleine Programme<br />

auf<br />

die Festplatte,<br />

die XFE zum<br />

Beispiel zum<br />

Anzeigen von<br />

Grafikdateien<br />

verwendet<br />

(Abbildung ,<br />

nächste Seite).<br />

Öffnen Sie mit<br />

XFE eine Bilddatei,<br />

übergibt<br />

die Software<br />

diese an X File Image (XFI) und<br />

bietet unter der Bildanzeige den<br />

übrigen Ordnerinhalt für das Öffnen<br />

anderer Bilder an.<br />

Über die Symbol- beziehungsweise<br />

die Menüleiste stehen die<br />

wichtigsten Funktionen wie Zoomen<br />

und Drehen bereit. Über Anzeigen<br />

| Thumbnails betrachten Sie<br />

den Ordnerinhalt in Form kleiner<br />

<strong>Vorschau</strong>bilder. Allerdings nimmt<br />

diese Funktion in einem Ordner<br />

beim ersten Mal ein wenig Zeit in<br />

Anspruch, sodass der Bildbetrachter<br />

so lange nicht bereitsteht.<br />

In vielerlei Hinsicht wirkt der<br />

Bildbetrachter recht spartanisch:<br />

So ist beispielsweise ein bequemes<br />

Blättern mit den Pfeiltasten oder<br />

der Maus nicht möglich. Sie müssen<br />

stattdessen Bilder für die Anzeige<br />

direkt mit der Maustaste<br />

doppelklicken oder mit der Eingabetaste<br />

öffnen.<br />

Ein weiteres Manko: XFE passt<br />

besonders große Bilder beim Öffnen<br />

nicht ins Programmfenster<br />

ein. Dies müssen Sie manuell mithilfe<br />

der Funktion Fenster anpassen<br />

aus dem Menü Bild erledigen.<br />

Für Tastaturfreunde steht dazu<br />

das Kürzel [Strg]+[F] bereit. Alternativ<br />

legen Sie das Verkleinern<br />

auf die Fenstergröße per Einstellungen<br />

| Fensterfüllend öffnen als<br />

Standardverhalten fest. Allerdings<br />

speichert XFE diesen Parameter<br />

nicht, sodass Sie beim nächsten<br />

Aufruf von X File Image erneut einen<br />

Bildausschnitt vorfinden.<br />

XFE bietet zum effizienten<br />

Verwalten von<br />

Dateien eine zweispaltige<br />

Ansicht. Diese rufen<br />

Sie über [Strg]+<br />

[F4] auf.<br />

Bei Bedarf passen<br />

Sie XFE exakt an Ihre<br />

Bedürfnisse an: Für<br />

jede Funktion in der<br />

Liste steht eine Tastenkombinationen<br />

bereit.<br />

www.linux-user.de<br />

02 | 11 49


PRAXIS<br />

X File Explorer<br />

Audacious erinnert optisch<br />

und funktional an XMMS und<br />

Winamp.<br />

Der spartanische<br />

Bildbetrachter X File<br />

Image verlangt etwas<br />

Einarbeitung.<br />

Audacious besticht<br />

in der Version 2.3<br />

durch seine Anpassungsfähigkeit.<br />

Musik<br />

Sofern nicht bei der Installation<br />

deaktiviert, kommt zusammen<br />

mit XFE auch Audacious ins System.<br />

Rufen Sie aus XFE heraus<br />

Audiodateien auf, landen sie in<br />

diesem Player. Bei vielen Distributionen<br />

– vor allem solchen, die auf<br />

Debian basieren – liegt Audacious<br />

noch in der Version 2.3 vor (Abbildung<br />

). Mittlerweile gibt es<br />

den Player bereits in Version 2.4,<br />

die etwas anders aussieht.<br />

Audacious, ein Verwandter des<br />

Winamp-Klons XMMS, besticht<br />

vor allem durch sein schlankes<br />

Auftreten. Er stellt<br />

alle notwendigen<br />

Funktionen zum Abspielen<br />

von Audiodateien<br />

und Internetradios bereit.<br />

Neben MP3 und OGG Vorbis unterstützt<br />

das Programm auch<br />

MPEG-4 und AAC.<br />

Die Oberfläche gliedert sich in<br />

klassischer Winamp-Manier: Neben<br />

den Steuerelementen zum<br />

Starten, Stoppen und Vor- sowie<br />

Zurückspulen stehen ein Equalizer<br />

und eine Playlist-Ansicht bereit.<br />

Über das Playlist-Fenster<br />

passen Sie die Abspielliste mittels<br />

Schaltflächen mit dem Plus- beziehungsweise<br />

Minus-Zeichen an.<br />

Über das Notensymbol hilft Ihnen<br />

der Wiedergabenlisten-Manager<br />

dabei, Ihre Abspiellisten<br />

zu<br />

verwalten. Darüber<br />

hinaus<br />

stehen Funktionen<br />

zum<br />

Import und<br />

Export von<br />

Playlists bereit.<br />

Das schlanke-<br />

Audacious lässt<br />

sich auch weitgehend<br />

den eigenen<br />

Vorlieben<br />

anpassen:<br />

Klicken Sie mit<br />

der rechten<br />

Maustaste auf<br />

das Hauptfenster<br />

mit der Abspielsteuerung,<br />

rufen Sie die<br />

Einstellungen auf. Hier passen<br />

Sie die Oberfläche an<br />

und finden eine umfangreiche<br />

Liste von Plugins, mit<br />

deren Hilfe Sie zum Beispiel<br />

optische Effekte aktivieren<br />

(Abbildung ).<br />

Bei der Installation sucht<br />

sich XFE noch weitere Tools<br />

zur Unterstützung heraus.<br />

Zum Editieren von Dateien dient<br />

von Haus aus X File Write (XFW),<br />

zum Betrachten und Installieren<br />

von RPM- oder DEB-Paketen öffnet<br />

sich beim Doppelklick auf entsprechende<br />

Dateien X File Package<br />

(XFP). Über Bearbeiten | Einstellungen<br />

stellen Sie in XFE unter<br />

dem Reiter Programme alternativ<br />

Ihre Lieblingstools als Standardwerkzeug<br />

ein.<br />

Fazit<br />

XFE entpuppt sich bei genauerem<br />

Hinsehen als ein sympathisches<br />

Allround-Werkzeug. Er zeigt<br />

durch seine kleinen Begleiter wie<br />

X File Image und Audacious, dass<br />

es auch abseits der ausgetretenen<br />

Desktop-Pfade Anwendungen<br />

gibt, die ihre eigenen Stärken aufweisen.<br />

Besonders wenn Sie<br />

Linux auf älterer Hardware einsetzen,<br />

erweisen sich diese nützlichen<br />

Helferlein als großer Gewinn.<br />

Doch selbst wenn Ihnen<br />

leistungsfähige Hardware zur<br />

Verfügung steht, lohnt sich ein<br />

Blick auf XFE allemal. (agr) ■<br />

INFO<br />

[1] XFE: http://roland65.free.fr/xfe/<br />

[2] X Win Commander:<br />

http://xwc.sourceforge.net<br />

[3] XFE-Download:<br />

http://sourceforge.net/projects/xfe/<br />

[4] Fox-Download: http://roland65.free.fr/xfe/<br />

index.php?page=download<br />

[5] Midnight Commander:<br />

http://www.midnight-commander.org<br />

50 02 | 11<br />

www.linux-user.de


OpenSUSE 11.3<br />

- ganz easy!<br />

Print oder<br />

PDF-Download<br />

NUR 14,90<br />

Der <strong>Einstieg</strong> in Linux war nie so einfach:<br />

Mit OpenSuse 11.3 erhalten Sie eine aktuelle<br />

und leicht zu installierende Version<br />

des freien Betriebssystems – und mit<br />

diesem Buch auf 180 Seiten alles, was<br />

Sie für die ersten Schritte benötigen.<br />

Aus dem Inhalt:<br />

• Installation von der Buch-DVD<br />

• Die grafi sche Oberfl äche von Linux<br />

• Sicher ins Internet mit Linux<br />

• Tipps zur Hardware-Einrichtung<br />

• Arbeiten mit der Kommandozeile<br />

• Hilfe bei der Linux-Community finden<br />

Der Autor: Hans-Georg Eßer arbeitet<br />

seit Mitte der 90er Jahre mit Linux. Er<br />

hat 2000 die Zeitschrift <strong>LinuxUser</strong> und<br />

2003 das Einsteigermagazin EasyLinux<br />

gegründet. EasyLinux betreut er noch<br />

heute als Chefredakteur.<br />

Jetzt bestellen:<br />

Shop: http://shop.linuxnewmedia.de/Buch (versandkostenfrei als Print-Version)<br />

Telefon: +49 (89) 993 41 - 0 • Fax: +49 (89) 993 41 - 199 • E-mail: order@linuxnewmedia.de<br />

Inhalt, Probekapitel, Kauf der PDF-Version: www.easylinux.de/opensuse-buch


praxis<br />

Beets<br />

Musiksammlungen verwalten mit Beets<br />

Ton-Leiter<br />

Viele Musikliebhaber hören Songs am liebsten direkt aus der<br />

MP3-Sammlung. Beets bringt Ordnung in die<br />

Lieder und Alben, damit Sie schnell die<br />

Lieblingsmusik finden. Florian Effenberger<br />

rEaDME<br />

Ganz ohne GUI und<br />

ausschließlich per<br />

Konsole indiziert die<br />

Musikverwaltung<br />

Beets Audiodateien<br />

und bietet dabei zahlreiche<br />

Möglichkeiten,<br />

die Datenbank zu<br />

durchsuchen und die<br />

Metadaten der Stücke<br />

zu aktualisieren.<br />

Musikliebhaber, die ihr Archiv<br />

in digitaler Form vorwiegend<br />

auf der Festplatte<br />

vorhalten, kennen das Problem:<br />

Schnell geht die Übersicht<br />

über die Sammlung<br />

verloren, das Finden einzelner<br />

Tracks artet zum Geduldsspiel<br />

aus. Abhilfe<br />

schafft das kommandozeilenorientierte<br />

Programm<br />

Beets [1]: Es indiziert rekursiv<br />

ganze Verzeichnisbäume,<br />

schreibt die Treffer<br />

in eine Datenbank und sortiert<br />

die Audiodateien an<br />

anderer Stelle in eine übersichtliche<br />

Ordnerstruktur.<br />

Als Dreingabe korrigiert<br />

oder ergänzt es dabei noch<br />

fehlerhafte oder fehlende<br />

ID3-Tags.<br />

Installation<br />

Bei dem Tool Beets handelt<br />

es sich um ein <strong>Python</strong>-Programm,<br />

das Sie beispielsweise<br />

unter Ubuntu direkt über Pip<br />

[2] einrichten, den <strong>Python</strong><br />

Package Installer. Als Grundlage<br />

für Pip und Beets benötigen<br />

Sie vorab noch die Bibliotheken<br />

python-dev, python-setuptools<br />

und python-pip. Das Installieren<br />

der Musikverwaltung übernimmt<br />

dann im Anschluss der<br />

Kommandozeilen-Befehl sudo<br />

pip install beets.<br />

Nutzen Sie eine Distribution, für<br />

die Pip nicht zur Verfügung steht,<br />

laden Sie den Beets-Tarball von<br />

der Projektseite herunter [3], entpacken<br />

ihn und richten das Programm<br />

mit dem Kommando sudo<br />

python setup.py install im System<br />

ein. Der Installer lädt dabei automatisch<br />

einige weitere benötigte<br />

Bibliotheken, etwa python-musicbrainz2<br />

aus dem Internet nach.<br />

Am Anfang war...<br />

Bevor Sie richtig loslegen, gilt es,<br />

Beets zu konfigurieren. Dazu legen<br />

Sie, falls nicht vorhanden, die<br />

Konfigurationsdatei .beetsconfig<br />

in Ihrem Heimatverzeichnis an.<br />

Darin legen Sie fest, welche Pfade<br />

das Programm zukünftig verwendet.<br />

Im Beispiel aus Listing 1 verwendet<br />

das Programm das Verzeichnis<br />

~/Musikdatenbank/beets.blb<br />

zum Speichern der Datenbank<br />

und ~/Musik für die Ablage der Audiodateien<br />

selbst.<br />

Beachten Sie, dass Beets ähnlich<br />

wie iTunes sämtliche von ihm<br />

verwalteten Stücke in das gewählte<br />

Musikverzeichnis kopiert, sodass<br />

die Dateien anschließend<br />

doppelt auf der Festplatte liegen.<br />

Listing 1<br />

[beets]<br />

directory: ~/Musik<br />

library: ~/Musikdatenbank/beets.<br />

blb<br />

52 02 | 11<br />

www.linux-user.de


Beets<br />

praxis<br />

In der Konfigurationsdatei geben<br />

Sie daher nicht die Quelle Ihrer<br />

bestehenden Sammlung, sondern<br />

das Ziel für die Beets-Bibliothek<br />

an. Das hat auch einen guten<br />

Grund, denn wenn beim Import<br />

der Dateien etwas schiefgeht,<br />

bleiben die Originale unangetastet.<br />

Möchten Sie lieber Platz sparen,<br />

ergänzen Sie die Konfigurationsdatei<br />

um die Anweisung<br />

import_copy: no. In diesem Fall belässt<br />

Beets die Dateien am ursprünglichen<br />

Platz.<br />

Der erste Import<br />

Nach Abschluss der Vorarbeiten<br />

beginnen Sie mit dem Import der<br />

ersten Lieder. Der Aufruf beet<br />

import -A ~/Desktop/alben/pink_<br />

floyd_pulse/ (beachten Sie, dass<br />

der Befehl beet ohne abschließendes<br />

s heißt) liest das im angegebenen<br />

Verzeichnis enthaltene<br />

Album in die Datenbank ein und<br />

kopiert die Lieder in das in der<br />

Konfigurationsdatei festgelegte<br />

Musikverzeichnis.<br />

Da Beets die Verzeichnisse rekursiv<br />

abarbeitet, können Sie<br />

auch einfach das übergeordnete<br />

Verzeichnis benennen, um alle<br />

darin enthaltenen Musikdateien<br />

zu indizieren. Ein beet import -A<br />

~/Desktop/alben/ lädt so nicht nur<br />

das Pink-Floyd-Meisterwerk in<br />

die Datenbank, sondern berücksichtigt<br />

auch die Beatles-Sammlung<br />

und die Diskografie des London<br />

Symphony Orchestra im<br />

zweiten und dritten Unterordner.<br />

Der im Beispiel verwendete<br />

Schalter -A sorgt dafür, dass bestehende<br />

Metadaten (MP3-Tags<br />

wie Titel oder Album) bestehen<br />

bleiben. Soll Beets stattdessen automatisch<br />

versuchen, die passenden<br />

ID3-Tags über das Internet<br />

zu ermitteln, dann lassen<br />

Sie den Parameter einfach<br />

weg und rufen nur beet<br />

import ~/Desktop/alben/ auf.<br />

Im Test funktionierte das<br />

allerdings nur sehr bedingt:<br />

Im Fall der losen<br />

Beatles-Sammlung schlug<br />

das sogenannte Autotagging<br />

ganz fehl, da kein korrektes<br />

Album zugeordnet war. Bei Pink<br />

Floyds „Pulse“ zeigte Beets zahlreiche<br />

Alternativvorschläge – auf<br />

die einfache Idee, dass es sich bei<br />

den Aufnahmen um CD 1 und CD<br />

2 handelte, kam es jedoch nicht,<br />

obwohl diese Angaben sogar in<br />

den Metadaten der Audiodateien<br />

standen. Immerhin lädt Beets zusätzlich<br />

zu den Tags auch die jeweiligen<br />

CD-Cover herunter, sofern<br />

vorhanden.<br />

Zwar kopiert das Programm bei<br />

einem erneuten Import der Musiksammlung<br />

die bereits eingefügten<br />

Lieder nicht noch einmal,<br />

legt sie aber ein zweites Mal in<br />

der Datenbank an.<br />

Wer sucht, …<br />

Einen ersten Überblick über das<br />

vorhandene Material liefert die<br />

Statistikfunktion, die Sie mit beet<br />

stats abrufen (Abbildung ). Die<br />

im Test verwendete Zusammenstellung<br />

sorgt immerhin schon<br />

für fast zehn Stunden Musikgenuss<br />

in 124 Liedern aus 93 verschiedenen<br />

Alben.<br />

Neben diesen generellen Informationen<br />

beherrscht Beets natürlich<br />

auch weitaus mächtigere Abfragen,<br />

die Sie mit dem Befehl<br />

beet list abrufen. So liefert beet<br />

list love alle Einträge, in deren<br />

Metadaten die Zeichenfolge Love<br />

vorkommt<br />

(Abbildung<br />

). Die<br />

Schreibweise<br />

spielt keine<br />

Rolle, das<br />

heißt, LOVE<br />

wird genauso<br />

gefunden<br />

wie LoVe<br />

oder love.<br />

Die Statistikfunktion von Beets<br />

gibt Auskunft über den Umfang der<br />

Musiksammlung.<br />

Die Auflistung erfolgt dabei immer<br />

nach dem Schema Interpret/<br />

Album/ Titel. Das Programm erlaubt<br />

auch die Abfrage mehrerer<br />

Suchbegriffe. So zeigt beet list<br />

love radar beispielsweise alle Einträge,<br />

die sowohl die Zeichenfolgen<br />

love als auch radar enthalten,<br />

etwa den Golden-Earring-Klassiker<br />

„Radar Love“.<br />

Für eine noch genauere Suche<br />

fügen Sie dem Suchtext ein qualifizierendes<br />

Schlüs sel wort hinzu.<br />

Mittels beet list album:heavy rotation<br />

erfahren Sie, welche Lieder<br />

des Anastacia-Albums Ihre Sammlung<br />

enthält (Abbildung ).<br />

… der findet<br />

Bei Alben, die aus mehreren CDs<br />

bestehen, schränken Sie die Suche<br />

mit der Angabe der CD (beispielsweise<br />

disc 1 oder disc 2) ein.<br />

Alles, was nach dem Schlüsselwort<br />

album: steht, durchsucht die<br />

Namen der vorhandenen Alben.<br />

DEr aUtOr<br />

Florian Effenberger<br />

engagiert sich seit<br />

vielen Jahren ehrenamtlich<br />

für freie Software.<br />

Er ist Gründungsmitglied<br />

und<br />

Mitglied des Steering<br />

Committee der Document<br />

Foundation. Zuvor<br />

war er fast sieben<br />

Jahre im Projekt<br />

OpenOffice.org aktiv,<br />

zuletzt als Marketing<br />

Project Lead. Zudem<br />

schreibt er regelmäßig<br />

für zahlreiche<br />

deutsch- und englischsprachige<br />

Fachpublikationen.<br />

Bei Bedarf korrigiert<br />

Beets auch die<br />

IDv3-Tags in den Files.<br />

Die detailliertere<br />

List-Abfrage zeigt alle<br />

Songtitel, in deren<br />

Meta-Informationen<br />

das Suchwort vorkommt.<br />

www.linux-user.de<br />

02 | 11 53


praxis<br />

Beets<br />

Beets ermöglicht<br />

durch Angabe von Keywords<br />

nach ganz<br />

bestimmten Interpreten<br />

oder Alben zu<br />

fahnden.<br />

Dabei müssen Sie keinen zusammenhängenden<br />

Text angeben: Es<br />

genügt, wenn die Zeichen an einer<br />

beliebigen Stelle vorkommen.<br />

Die Abfrage auf Lieder von CD 2<br />

können Sie daher auch auf beet<br />

list album:pulse 2 verkürzen, die<br />

Ausgabe bleibt dieselbe. Theoretisch<br />

genügt auch ein beet list<br />

album:pu 2, sofern die Datenbank<br />

kein anderes Album mit der<br />

Buchstabenfolge pu enthält.<br />

Optionen<br />

Kommt das Schlüsselwort zum<br />

Schluss, lässt es sich auch mit einer<br />

generischen Abfrage kombinieren.<br />

So liefert beet list the<br />

album:pulse alle Lieder aus dem<br />

Pulse-Album von Pink Floyd, (CD<br />

1 und 2), welche die Zeichenfolge<br />

the enthalten. Eine Suche nach<br />

zwei zusammenhängenden Begriffen<br />

erlaubt das Programm jedoch<br />

nicht. Geben Sie in the als<br />

Suchbegriff ein, so liefert Beets<br />

nicht etwa alle Lieder mit dieser<br />

Zeichenfolge, sondern alle Titel,<br />

die sowohl die Zeichenketten in<br />

als auch the enthalten. Dafür erlaubt<br />

das Tool mit dem Schalter<br />

-a die explizite Suche nach Alben,<br />

ohne die enthaltenen Titel anzuzeigen.<br />

So zeigt beispielsweise<br />

beet list -a heavy rotation nur<br />

das Anastacia-Album an, ohne die<br />

einzelnen Lieder aufzulisten.<br />

Das Programm stellt zudem weitere<br />

Schlüsselworte bereit. So liefert<br />

beet list year:2010 alle Titel<br />

aus dem Jahr 2010, beet list<br />

title:wall dagegen sämtliche Stücke<br />

mit wall im Liedtitel. Auch<br />

diese Keywords erlauben eine<br />

Kombination untereinander. Ein<br />

Beispiel für eine komplexe Abfrage:<br />

beet list live album:pulse<br />

title:wall year:1995. Diese Befehlszeile<br />

listet alle Stücke aus Alben<br />

mit pulse, welche die Zeichenfolge<br />

wall enthalten und aus dem<br />

Jahr 1995 stammen, wobei zudem<br />

ein beliebiges Feld den Begriff<br />

live enthalten muss. Musikliebhaber<br />

erkennen es sofort: Die<br />

Suche zielt auf die Live-Version<br />

von The Wall, Part II, aus dem<br />

1995er Pulse-Album.<br />

Schweigen im Walde?<br />

Doch wie hören sich all die schönen<br />

Lieder jetzt eigentlich an?<br />

Mit Beets gar nicht: Das Programm<br />

konzentriert sich darauf,<br />

Lieder zu verwalten, nicht sie abzuspielen.<br />

Um das gewünschte<br />

Lied zu hören, öffnen Sie die<br />

MP3-Datei im jeweiligen Verzeichnis.<br />

In der Grundeinstellung<br />

sortiert Beets die importierten<br />

Lieder nach dem Schema Interpret/<br />

Album/ Liedtitel in Unterverzeichnisse.<br />

„I Can Feel You“<br />

von Anastacia befindet sich in unserem<br />

Beispiel im Ordner ~/Musik/<br />

Anastacia/Heavy Rotation/. Wem<br />

das zu umständlich erscheint, der<br />

behilft sich durch ein Plugin, das<br />

Beets um einen rudimentären<br />

MP3-Player erweitert [4].<br />

Dokumentation<br />

Die Dokumentation von Beets<br />

fällt eher dürftig aus. Hilfe erhalten<br />

Sie auf der Kommandozeile<br />

mit beet help, wobei jeder der Befehle<br />

seinerseits noch eine separate<br />

Hilfeseite besitzt. Mehr Informationen<br />

zu den Parametern<br />

beim Entfernen von Liedern erhalten<br />

Sie beispielsweise mittels<br />

beet help remove. Wesentlich informativer<br />

zeigt sich aber das Beets-<br />

Wiki [5], das unter anderem die<br />

Konfigurationsdatei im Detail beschreibt.<br />

Falls Sie auf der Kommandozeile<br />

häufig dieselben<br />

Parameter nutzen, bietet es sich<br />

an, den Eintrag direkt in der<br />

~/.beetsconfig vorzunehmen.<br />

Fazit<br />

Beets richtet sich in erster Linie<br />

an Puristen, die ihre Musikdatenbank<br />

entweder per Kommandozeile<br />

beziehungsweise via SSH abfragen<br />

möchten, oder aber das<br />

Tool direkt per Skript einbinden.<br />

Allerdings offenbarte der Test einige<br />

Schwächen. Zu diesen zählt<br />

neben der mageren Dokumentation<br />

nicht zuletzt die Tatsache,<br />

dass Beets Lieder beim zweiten<br />

Import doppelt in der Datenbank<br />

mitführt. Auch fehlt dem Tool<br />

derzeit noch die Möglichkeit der<br />

Suche nach zusammenhängenden<br />

Zeichenfolgen.<br />

Fraglich bleibt, ob die anvisierte<br />

Zielgruppe auf ein Tool wie Beets<br />

setzen würde oder nicht doch lieber<br />

direkt eine eigene Datenbank<br />

aufsetzt. Auch eine Kombination<br />

aus find, sed, grep und awk leistet<br />

schon recht gute Arbeit.<br />

Wer dagegen etwas fürs Auge<br />

sucht, greift ohnehin zu einer der<br />

grafischen Alternativen.<br />

Unabhängig davon erscheint der<br />

Ansatz von Beets jedoch allemal<br />

interessant. (tle) ■<br />

inFO<br />

[1] Beets: http://code.google.com/p/beets/<br />

[2] Pip: http://pip.openplans.org<br />

[3] Beets Downloads: http://code.google.com/<br />

p/beets/downloads/list<br />

[4] BPD-Plugin für MP3-Wiedergabe:<br />

http://code.google.com/p/beets/wiki/BPD<br />

[5] Hilfe im Wiki:<br />

http://code.google.com/p/beets/w/list<br />

54 02 | 11<br />

www.linux-user.de


Community-Abo<br />

Schließen Sie jetzt ein Community-Abo ab<br />

und lesen Sie alle Artikel online!<br />

Nur 1 E<br />

im Monat * !<br />

* zusätzlich zum Print-Abo<br />

Die ideale Ergänzung zu Ihrem<br />

<strong>LinuxUser</strong>- und EasyLinux-Abo!<br />

◗ Online-Zugriff auf alle Artikel für 1 *<br />

◗ Online-Workshops und Live-Support<br />

◗ Aktuelle Artikel, bevor das Heft in Druck geht!<br />

* zusätzlich zum Printabo<br />

JETZT ABONNIEREN:<br />

◗ Telefon: 089 / 2095 9127 ◗ Fax: 089 / 2002 8115<br />

◗ E-Mail: abo@linux-community.de ◗ Web: www.linux-community.de/abo<br />

Linux New Media AG • Putzbrunner Str. 71 • 81739 München


PRAXIS<br />

Blender 2.5<br />

Einführung in Blender 2.5: Materialien<br />

Haarige Angelegenheit<br />

In Teil 2 unseres Workshops mutiert der bislang recht nackte Dust Puppy endlich zum haarigen Puschel. Gottfried Hofmann<br />

Beispieldateien,<br />

Teil 1 des Artikels<br />

LU/blender/<br />

README<br />

Mit Materialien geben<br />

Sie Ihren Blender-Kreationen<br />

ein wesentlich realistischeres<br />

Aussehen<br />

und modellieren überzeugend<br />

aussehende<br />

Haut, Haare und Augen.<br />

EINFÜHRUNG IN BLENDER<br />

Teil 1: Grundlagen LU 01/ 2011, S. 28<br />

Teil 2: Materialien LU 02/ 2011, S. 56<br />

Teil 3: Rigging LU 03/ 2011<br />

Die Maxime des 3D-Hobbyisten<br />

lautet: Das Werk soll so früh wie<br />

möglich so gut wie möglich aussehen<br />

– dann macht das Weiterarbeiten<br />

deutlich mehr Freude. Daher<br />

spendieren wir in diesem Teil<br />

der Serie dem Dust Puppy bereits<br />

das Fell sowie die Haut, auch<br />

wenn das bei einer normalen Produktion<br />

vorerst noch hintenanstehen<br />

würde.<br />

Um die Haare kümmert sich das<br />

in Blender 2.5 integrierte Partikel-System.<br />

Wer die Entwicklung<br />

von Blender ein wenig verfolgt<br />

hat, der erinnert sich sicher an die<br />

drei „Open Movies“-Kurzfilme,<br />

die komplett mit freier Software<br />

(vornehmlich natürlich Blender)<br />

erstellt und unter einer Creative-<br />

Commons-Lizenz freigegeben<br />

wurden. Alle drei hatten neben einer<br />

Demonstration der Möglichkeiten<br />

von Blender immer auch<br />

die Weiterentwicklung der Software<br />

zum Ziel, und Haare waren<br />

in jedem der Projekte gefragt.<br />

Das erste Open Movie, „Elephants<br />

Dream“ [1] aus dem Jahr<br />

2006, legte den Grundstein für<br />

die heutige Haarsimulation. Zwei<br />

Jahre danach waren Cartoon-Gras<br />

und Fell für „Big Buck Bunny“ [2]<br />

an der Reihe. Für das 2010 fertiggestellte<br />

„Sintel“ [3] wurde das<br />

System weiter optimiert, um auch<br />

bei längeren Frisuren gute Dienste<br />

zu leisten.<br />

Die lange Entwicklungszeit, ausgiebige<br />

Tests sowie der Einsatz<br />

unter professionellen Produktionsbedingungen<br />

bedeuten aber<br />

noch lange nicht, dass die Arbeit<br />

mit Haaren in Blender frei von<br />

Schwierigkeiten wäre. Dieser Artikel<br />

beschreibt daher einen möglichst<br />

simplen Aufbau. Zuerst<br />

weisen Sie dem Dust Puppy aber<br />

Materialien für die Füße und den<br />

Körper zu, damit das derzeit<br />

noch hellgraue Objekt ein wenig<br />

an Farbe gewinnt.<br />

Materialien<br />

Bei 3D-Modellen handelt es sich<br />

meist nur um eine leere Hülle, deren<br />

Aussehen die Geometrie und<br />

Oberfläche bestimmen. Um die<br />

Geometrie haben Sie sich im vorigen<br />

Teil des Workshops gekümmert,<br />

nun kommt die Oberfläche<br />

an die Reihe. In Blender definieren<br />

Sie wie in den meisten anderen<br />

3D-Programmen die Oberfläche<br />

eines Objekts über sogenannte<br />

Materialien: Dabei handelt es<br />

sich um die Eigenschaften der<br />

Oberfläche und deren Interaktion<br />

mit dem Licht. Hier gilt es, eine<br />

ganze Reihe von Punkten zu klären:<br />

Welche Farbe hat die Oberfläche,<br />

und wie stark glänzt sie? Reflektiert<br />

sie, oder ist sie vielleicht<br />

sogar durchsichtig? Wirft sie<br />

Schatten, und falls ja, wie?<br />

Wie Sie vermutlich schon ahnen,<br />

definiert man Materialien in<br />

Blender über das Properties Panel.<br />

Wählen Sie das Modell des Dust<br />

Puppy aus und klicken Sie auf den<br />

Reiter mit dem runden Material-<br />

Symbol (Abbildung ). Da das<br />

Modell aus dem Standardwürfel<br />

entstand, ist bereits ein Material<br />

zugewiesen. Ändern Sie den Namen<br />

in „Beine“ oder „Haut“ oder<br />

In diesem Panel definieren Sie das<br />

Aussehen von Oberflächen. Wichtig<br />

sind hier aussagekräftige Namen.<br />

56 02 | 11<br />

www.linux-user.de


Blender 2.5<br />

PRAXIS<br />

© Blender Foundation, http:// www. blender. org, Creative Commons Attribution 3.0<br />

eine andere eindeutige Bezeichnung,<br />

denn das Modell soll zwei<br />

verschiedene Materialien erhalten,<br />

und Sie wollen später nicht<br />

durcheinandergeraten.<br />

Unterhalb des Materialien-Panels<br />

finden Sie zahlreiche Optionen,<br />

von denen Sie in diesem Fall<br />

aber nur zwei benötigen. Unter<br />

Diffuse definieren Sie die Farbe<br />

und das grundlegende Verhalten<br />

der Oberfläche bei Lichteinfall.<br />

Die derzeitigen Lichteinstellungen<br />

(nur Environment Lightning)<br />

spiegeln jedoch kaum die unterschiedlichen<br />

Möglichkeiten der<br />

Shader wider. Es genügt also, einfach<br />

nur die Farbe zu definieren.<br />

Das erledigen Sie über einen<br />

Klick auf das Feld unter Diffuse.<br />

Es öffnet sich ein Dialog zur Farbwahl<br />

(Abbildung ). Im Slider<br />

rechts neben dem Farbkreis legen<br />

Sie die Helligkeit fest. Unter Hex<br />

geben Sie die Farben wie von<br />

HTML bekannt hexadezimal an.<br />

Der genaue Hex-Wert für das<br />

Beinmaterial des Dust Puppy lautet<br />

FFDFB4. Die Einstellung Intensity<br />

definiert, wie viel Licht die<br />

Oberfläche reflektiert – hier<br />

passt die Voreinstellung.<br />

Direkt unter Diffuse findet sich<br />

Specular. Diese Einstellung beeinflusst,<br />

wie stark eine Oberfläche<br />

glänzt. Die Voreinstellung von Intensity<br />

fällt mit 0.5 für die meisten<br />

Oberflächen viel zu hoch aus.<br />

Reduzieren Sie den Wert auf 0.<br />

Eine Faustregel lautet, den Wert<br />

für die Specular Intensity nur so<br />

hoch einzustellen, dass er addiert<br />

mit der Intensity unter Diffuse<br />

nicht größer als eins ist: Sonst<br />

hätten Sie ein Material, das mehr<br />

Licht zurückwirft als auftrifft.<br />

Nun haben Sie ein Material für<br />

die Beine des Dust Puppy definiert.<br />

Noch erstreckt es sich aber<br />

über den gesamten Körper. Für<br />

den Kugelkörper, aus dem später<br />

die Haare wachsen werden, empfiehlt<br />

sich aber eine andere Farbe.<br />

Daher wechseln Sie mittels [Tab]<br />

in den Edit Mode und wählen sämtliche<br />

Flächen des Körpers aus. Klicken<br />

Sie nun auf das Plus-Zeichen<br />

im Material Panel (Abbildung ).<br />

Es erscheint ein weiteres Material<br />

in der Liste, das den gleichen Namen<br />

trägt wie das bisherige.<br />

Es handelt sich dabei um eine<br />

verlinkte Kopie. Um die Bindung<br />

zu lösen, klicken Sie auf den Schalter<br />

2 neben dem Feld Names. Nun<br />

sollte das Material<br />

beispielsweise<br />

Beine.001<br />

heißen.<br />

Es handelt sich<br />

nun um ein eigenständiges<br />

Material, das<br />

allerdings immer<br />

noch die<br />

gleichen Einstellungen<br />

aufweist<br />

wie das<br />

Ausgangsmaterial.<br />

Das ist ziemlich praktisch,<br />

denn so müssen Sie sich nicht<br />

abermals um die Diffuse-Einstellungen<br />

kümmern. Zunächst ändern<br />

Sie nun den Namen, dann<br />

wählen Sie eine beinahe schwarze<br />

Farbe aus, etwa 0E0E0E (kein Gegenstand<br />

in der Natur ist absolut<br />

schwarz). Damit haben Sie zwar<br />

das zweite Material definiert, es<br />

erscheint aber noch nicht auf dem<br />

Modell. Deswegen weisen Sie es<br />

nun mittels Assign zu (Abbildung<br />

, nächste Seite).<br />

Zur Farbauswahl<br />

präsentiert Blender<br />

einen Farbkreis.<br />

Über das Material<br />

Panel fügen Sie ein<br />

weiteres Material<br />

hinzu.<br />

MEHR ALS OBERFLÄCHE<br />

Seit Version 2.5x stellt Blender<br />

auch ein sogenanntes Volume Material<br />

zur Verfügung, das sich nicht<br />

auf die Oberfläche beschränkt, sondern<br />

das Innere des Objekts berücksichtigt.<br />

Nützlich ist dies etwa bei<br />

Wolken, Rauch, Feuer oder Muffins.<br />

www.linux-user.de 02 | 11 57


Über Assign weisen<br />

Sie den ausgewählten<br />

Flächen ein eigenes<br />

Material zu.<br />

Für schnelle Previews<br />

bietet Blender<br />

einfache Farbübergänge<br />

am Horizont. Der<br />

Dust Puppy hat nun<br />

Haut, als Nächstes folgen<br />

die Haare.<br />

Nun steht ein Zwischen-Rendering<br />

an: Die bisher eingestellte<br />

dunkle Farbe für den Horizont<br />

eignet sich zwar für „Clay Renderings“<br />

wie am Schluss des vorigen<br />

Workshop-Teils, den dunklen<br />

Körper des Dust Puppy erkennen<br />

Sie so aber nur schlecht. Ändern<br />

Sie also die Einstellungen im<br />

World Panel wie in Abbildung <br />

dargestellt. Der Wert für die Horizon<br />

Color lautet EBEBEB. Blend Sky<br />

erzeugt einen einfachen Farbübergang,<br />

Real Sky richtet den<br />

Übergang am Kamerawinkel aus.<br />

Die eben genutzten Optionen<br />

verwendet man zwar nur selten<br />

für fertige Renderings, sie bieten<br />

allerdings eine Möglichkeit, den<br />

Hintergrund während der Arbeit<br />

deutlich aufzuwerten. Ihr Test-<br />

Render sollte nun ungefähr so<br />

aussehen wie in Abbildung .<br />

Eine haarige Angelegenheit<br />

Bevor Sie die Haare hinzufügen,<br />

gilt es noch einiges vorzubereiten.<br />

Beispielsweise funktioniert die<br />

Haarsimulation nicht mit dem<br />

Mirror Modifier. Diese Einschränkung<br />

können Sie aber ausnutzen:<br />

Exakt symmetrische Modelle wirken<br />

selten lebensnah. Daher ist es<br />

eine gute Idee, hier den Mirror<br />

Modifier anzuwenden. Drücken<br />

Sie dafür einfach im Object Mode<br />

auf Apply (Abbildung ).<br />

Damit verlieren Sie zwar die Flexibilität,<br />

die der Modifier dank<br />

seiner nicht zerstörenden Änderungen<br />

bietet, können dafür aber<br />

auch Teile des Objektes bearbeiten,<br />

die vorher in der Domäne des<br />

Modifiers lagen. Wenn Sie nun im<br />

Edit Mode ein paar Vertices an beiden<br />

Beinen etwas bewegen, wirkt<br />

der Dust Puppy deutlich echter.<br />

Es empfiehlt sich, beide Beine und<br />

Füße vom Aussehen her ein wenig<br />

zu optimieren. Das sorgt auf ganz<br />

natürlichem Weg für Unterschiede<br />

zwischen den bisher gleich aussehenden<br />

Seiten.<br />

Die einfachste Möglichkeit, Haare<br />

in Blender zu erzeugen, bietet<br />

das Partikelsystem. Dafür müssen<br />

Sie lediglich im Object Mode den<br />

Dust Puppy anwählen und im Particle<br />

Tab des Properties Panel über<br />

das Plus-Symbol ein neues Partikelsystem<br />

hinzufügen (Abbildung<br />

). Bei den nun erscheinenden<br />

Einstellungen geben Sie dem<br />

Partikelsystem zuerst einen passenden<br />

Namen wie etwa Haare<br />

und wählen danach Type | Hair.<br />

Jetzt sieht der Dust Puppy aus<br />

wie eine Voodoo-Puppe, in die<br />

tausend Nadeln gestochen wurden<br />

(Abbildung ) –<br />

doch das können Sie<br />

leicht ändern. Damit<br />

die Vielfalt der Optionen<br />

Sie nicht verwirrt,<br />

verstecken Sie<br />

zunächst alle nicht<br />

benötigten Sektionen<br />

über das kleine Dreieck<br />

rechts. Dann öffnen<br />

Sie lediglich die<br />

Sektion mit der Bezeichnung<br />

Render und<br />

Sämtliche Modifier<br />

können Sie über Apply<br />

dauerhaft anwenden.<br />

58 02 | 11<br />

www.linux-user.de


Der Dust Puppy erhält ein Partikelsystem,<br />

das später die Haare<br />

kontrollieren wird.<br />

wählen dort das Material Nummer<br />

zwei. Die Haare sollten nun<br />

das gleiche, fast schwarze Material<br />

tragen wie der Körper des Dust<br />

Puppy. Es stört aber immer noch<br />

die Tatsache, dass sich die Haare<br />

auch an den Beinen finden, wo sie<br />

definitiv nicht hingehören. Das<br />

beheben Sie im nächsten Schritt.<br />

Gruppierungen<br />

Um anzugeben, wo sich auf dem<br />

Modell Haare befinden und wo<br />

nicht, nutzen Sie sogenannte Vertex<br />

Groups. Dabei definieren sowohl,<br />

aus welchen Bereichen des<br />

Dust Puppy Haare wachsen als<br />

auch, wie dicht der Bewuchs jeweils<br />

ausfällt. Nutzen Sie dafür<br />

wieder den Edit Mode, wo Sie erst<br />

einmal sämtliche Vertices oder<br />

Faces der Körperkugel auswählen.<br />

Im Properties Panel finden Sie<br />

zwischen den Modifiers und den<br />

Materials den Reiter Object Data.<br />

Dort fügen Sie eine neue Vertex<br />

Group hinzu (Abbildung ).<br />

Auch hier ist es sinnvoll, gleich<br />

einen passenden Namen zu vergeben.<br />

Damit die Gruppe auch einen<br />

Inhalt hat, müssen Sie ihr zunächst<br />

noch die gerade ausgewählten<br />

Bereiche hinzufügen.<br />

Dies geschieht durch einen Klick<br />

auf Assign. Es ist bisher noch<br />

nichts passiert, denn alles was Sie<br />

getan haben, war einen möglichen<br />

Einflussbereich zu definieren.<br />

Was genau er beeinflusst, ist noch<br />

nicht festgelegt. Begeben Sie sich<br />

daher wieder in den Object Mode<br />

und öffnen Sie im Particles Tab<br />

den Reiter Vertex Groups. Es erscheint<br />

eine Liste von Eigenschaften,<br />

die über Vertex Groups gesteuert<br />

werden können. Wählen Sie<br />

hier unter Density die eben erstellte<br />

Gruppe (Abbildung ). Nun<br />

sollten die Beine haarfrei sein.<br />

Wachsen trotzdem aus den<br />

Oberschenkeln noch ein paar<br />

Haare, so ändern Sie das, indem<br />

Sie Knoten aus der Gruppe entfernen.<br />

Der kleine Ring aus Flächen,<br />

den Sie beim Erstellen des<br />

Modells um den Austrittspunkt<br />

der Beine herum gebaut haben,<br />

hilft hierbei: Wählen Sie ihn komplett<br />

aus und klicken Sie dann in<br />

den Einstellungen der Vertex<br />

Group auf Remove. Das sollte das<br />

Problem beheben (Abbildung ,<br />

nächste Seite). Falls sich dadurch<br />

nichts ändert, aktualisieren Sie<br />

das Partikelsystem durch Füttern<br />

des Zufallsgenerators mit einer<br />

anderen Zahl (Seed im Particles<br />

Tab, Abbildung , nächste Seite).<br />

Dreadlock Holiday<br />

Die Haare haben nun die richtige<br />

Farbe und befinden sich am richtigen<br />

Platz. Trotzdem sieht der<br />

Gegen wen richtet<br />

sich dieser Voodoo-<br />

Zauber?<br />

Die Haarwuchs-<br />

Dichte steuern Sie<br />

über die eben erstellte<br />

Vertex-Gruppe.<br />

Über Vertex Groups definieren Sie<br />

das Einflussgebiet von Partikelsystemen<br />

(und noch vieles mehr).<br />

www.linux-user.de 02 | 11 59


Den Vertex-Gruppen<br />

können Sie auch Mitglieder<br />

entziehen.<br />

Mittels Seed füttern<br />

Sie den Zufallsgenerator<br />

des Partikelsystems.<br />

Ein Beispiel, wie<br />

sich die Werte für die<br />

Kind-Partikel gestalten<br />

lassen. Nun fehlen<br />

nur noch die Augen.<br />

Dust Puppy aber immer noch aus<br />

wie ein Nadelkissen. Es fehlen vor<br />

allem mehr Haare, und die kann<br />

Blender auf eine sehr geschickte<br />

Art hinzufügen.<br />

Sie könnten jetzt einfach die Anzahl<br />

der Haare in den Partikeleinstellungen<br />

erhöhen. Dies hätte<br />

aber den Nebeneffekt, dass die<br />

Performance im Viewport deutlich<br />

absinken und das Rendern länger<br />

dauern würde. Als Abhilfe bietet<br />

Blender sogenannte Children Particle,<br />

zu finden im gleichnamigen<br />

Reiter in den Partikel-Einstellungen.<br />

Es gibt grundsätzlich<br />

zwei Möglichkeiten,<br />

die Kindpartikel zu verteilen:<br />

um die vorhandenen herum<br />

– das erreichen Sie über die<br />

Option Particles – oder<br />

gleichmäßig (Faces). Für den<br />

Dust Puppy stellt das Verteilen<br />

um die bestehenden Haare<br />

herum die bessere Wahl dar.<br />

Sobald Sie Children | Particles<br />

auswählen, erscheint eine große<br />

Auswahl an Optionen. Da der<br />

Dust Puppy relativ gerade Haare<br />

hat, müssen Sie sich mit den meisten<br />

davon nicht befassen. Senken<br />

Sie die Zahl unter Render auf 20.<br />

Das fügt für jedes vorhandene<br />

Haar 20 weitere hinzu, sobald Sie<br />

rendern – das sollte für ausreichend<br />

dichten Bewuchs sorgen.<br />

Unter Radius stellen Sie den Wert<br />

0.3 ein und direkt darunter unter<br />

Roundness das Maximum.<br />

Radius definiert<br />

dabei, wie weit<br />

die Kind-Haare von ihren Eltern<br />

entfernt sein dürfen, während die<br />

Roundness sie ein wenig versetzt,<br />

was den Anschein erweckt, als<br />

hätten die Haare des Dust Puppy<br />

leicht unterschiedliche Länge.<br />

Rough Endpoint ermöglicht es,<br />

die Haare nach außen (oder innen,<br />

je nach Einstellung von<br />

Shape) aufzufächern, was den Anschein<br />

einer gleichmäßigen Verteilung<br />

erweckt. Hier stellen Sie<br />

den Wert 0.2 bei einer Shape von<br />

1.0 ein. Mit den beiden Werten<br />

für Rough1 und Rough2 können<br />

Sie ein wenig spielen, um das Fell<br />

struppiger aussehen zu lassen.<br />

Beispielwerte sowie die kompletten<br />

Einstellungen finden Sie in<br />

Abbildung . Nun sollte der Dust<br />

Puppy ungefähr so aussehen wie<br />

rechts im Bild. Was nun noch<br />

fehlt, sind die Augen.<br />

Was guckst du?<br />

Um die Augen zu modellieren,<br />

bietet sich<br />

wieder die im ersten<br />

Teil des Workshops<br />

vorgestellte Technik<br />

Box Modelling an. Klicken<br />

Sie mit der linken<br />

Maustaste auf einen<br />

Bereich außerhalb<br />

des Dust Puppy.<br />

Daraufhin bewegt<br />

sich der 3D Cursor<br />

von Blender ebenfalls<br />

dorthin (Abbildung<br />

). Das Konzept<br />

des 3D Cursors<br />

ähnelt dem einer normalen<br />

Zeichenmarke,<br />

60 02 | 11<br />

www.linux-user.de


Platzieren Sie den 3D-<br />

Cursor etwas abseits,<br />

bevor Sie den Würfel für<br />

die Augen hinzufügen.<br />

Langsam geben sich<br />

die Augen zu erkennen.<br />

wie etwa in einer Textverarbeitung:<br />

Tippen Sie dort einen Buchstaben,<br />

erscheint er an der Stelle,<br />

an der sich der Cursor befindet. In<br />

Blender funktioniert das genauso,<br />

nur dass Sie den Cursor im 3D-<br />

Raum frei positionieren können<br />

und er noch weitere Aufgaben<br />

übernimmt (siehe Kasten Was<br />

kann der 3D-Cursor sonst noch?).<br />

Fügen Sie nun mithilfe von<br />

[Umschalt]+[A] oder Add | Mesh |<br />

Cube) einen Würfel hinzu und<br />

spendieren Sie diesem einen Subsurf<br />

Modifier. Den fügen Sie so<br />

hinzu, wie Sie es im ersten Teil<br />

des Workshops kennengelernt haben,<br />

oder aber über eine Abkürzung:<br />

Mittels [Strg]+[3] erhält der<br />

Würfel einen Subsurf-Modifier, der<br />

bereits auf drei Unterteilungen<br />

sowohl im Viewport als auch beim<br />

Rendern eingestellt ist. Begeben<br />

Sie sich nun in den Edit Mode.<br />

Über [Strg]+[R] fügen Sie drei<br />

Loop Cuts hinzu. Das erreichen<br />

Sie, indem Sie das<br />

Mausrad nach<br />

oben drehen, sobald<br />

die pinkfarbene<br />

Linie erscheint.<br />

Nachdem Sie die<br />

Loop Cuts hinzugefügt<br />

haben, drücken<br />

Sie [S],[X],<br />

So könnten Sie<br />

die Augen modellieren.<br />

um diese auf der X-<br />

Achse zu skalieren. Da<br />

Sie nur eine Achse ausgewählt<br />

haben, ändert sich die<br />

Größe des Würfels nicht, die drei<br />

Umrundungen bewegen sich aber<br />

aufeinander zu. Dabei entsteht<br />

die Verbindung zwischen den beiden<br />

Augen.<br />

Achten Sie darauf, dass sich die<br />

Seiten bei der Operation nicht<br />

vertauschen: Das würde sich später<br />

in Störungen beziehungsweise<br />

Artefakten bei den weiteren Arbeiten<br />

äußern. Wenn Sie nach der<br />

Skalierung auf der X-Achse noch<br />

[S],[Z] benutzen, um die Stelle<br />

über die Z-Achse einzubuchten,<br />

erkennen Sie bereits, wo die Reise<br />

hingehen soll (Abbildung ).<br />

Über [A] wählen Sie das gesamte<br />

Gitter („Mesh“) der Augen aus.<br />

Gestalten Sie nun mittels [S],[Y]<br />

die Augen schmaler, erhalten Sie<br />

den gewünschten Comic-Look. Etwas<br />

Kosmetik ist aber noch vonnöten,<br />

bevor Sie die Augen an die<br />

richtige Stelle bringen können:<br />

Fügen Sie links und rechts jeweils<br />

noch einen Loopcut hinzu. Jetzt<br />

haben Sie genug Kontrollpunkte,<br />

um über die Augen Emotionen<br />

wie Erstaunen darzustellen. Setzen<br />

Sie nun das Shading auf<br />

Smooth und geben Sie den Augen<br />

ein rein weißes Material ohne Specularity.<br />

Abbildung zeigt ein<br />

mögliches Mesh für die Augen.<br />

Nun ist es an der Zeit, das neue<br />

Mesh korrekt zu platzieren und<br />

zu skalieren. Setzen Sie die Augen<br />

möglichst nahe an den tatsächlichen<br />

Körper. Bringen Sie sie leicht<br />

schräg an und stören Sie sich<br />

nicht daran, dass derzeit noch<br />

zahlreiche Haare hindurchgehen –<br />

diese entfernen Sie als Nächstes.<br />

Blender bietet dazu mehrere Möglichkeiten,<br />

von denen wir hier das<br />

Weight Painting einsetzen. In den<br />

entsprechenden Modus gelangen<br />

Sie über den Modus-Selektor im<br />

Viewport Header (Abbildung ,<br />

nächste Seite).<br />

Weight Painting stellt eine Verfeinerung<br />

der Zuordnung von Vertex<br />

Groups dar. Sie bestimmen da-<br />

DER AUTOR<br />

Gottfried Hofmann<br />

studiert derzeit Informatik<br />

an der FAU Erlangen-Nürnberg.<br />

In<br />

seiner Freizeit erstellt<br />

er digitale Spezialeffekte<br />

für Kurzfilme sowie<br />

diverse Trainingsmaterialien<br />

für die<br />

von ihm meistgenutzte<br />

Software, Blender.<br />

Außerdem ist er<br />

Mitglied im aufstrebenden<br />

Filmteam<br />

Raubkopictures.<br />

WAS KANN DER 3D-CURSOR SONST NOCH?<br />

Der 3D-Cursor lässt sich auch als Anlenkpunkt bzw. Pivot Point<br />

für Rotationen und Skalierungen nutzen. Das bedeutet, dass in<br />

diesem Fall das Objekt um den 3D-Cursor rotiert beziehungsweise<br />

die Skalierung relativ zur Position des 3D-Cursors erfolgt.<br />

www.linux-user.de<br />

02 | 11 61


Im Bereich unter<br />

den Augen gilt es,<br />

etwas mehr Bewuchs<br />

zu entfernen.<br />

Weight Painting aktivieren<br />

Sie über den<br />

Modus-Selektor im<br />

Viewport-Header.<br />

Dieses Mal schaut<br />

der Dust Puppy etwas<br />

freundlicher als im<br />

Preview für den ersten<br />

Teil des Workshops.<br />

mit nicht nur, welche Vertices zu<br />

einer Gruppe gehören, sondern<br />

auch wie stark und mit welchem<br />

Gewicht. Blender signalisiert dies<br />

mithilfe von Farben. Blau bedeutet<br />

dabei, dass ein Knoten oder<br />

Bereich nicht zu einer Gruppe gehört,<br />

Rot steht für hundertprozentige<br />

Zugehörigkeit.<br />

Von den Einstellungen, die im<br />

Tool Shelf (links neben dem Viewport)<br />

erschienen sind, benötigen<br />

Sie nur Weight, Strength und Radius.<br />

Stellen Sie Weight auf null,<br />

wenn Sie Haare entfernen wollen,<br />

und auf eins, falls Sie wieder Haare<br />

hinzufügen wollen. Radius legt<br />

die Größe des Pinsels fest und<br />

Strength dessen Stärke. Hier empfiehlt<br />

sich jeweils ein Wert von<br />

eins. Das Malen selbst geht wie in<br />

anderen Programmen vonstatten,<br />

allerdings in 3D, was am Anfang<br />

etwas irritieren kann.<br />

Rotieren Sie daher häufig, um<br />

immer möglichst „von oben“ zu<br />

pinseln. Auch empfiehlt es sich,<br />

möglichst kurze Striche zu zeichnen,<br />

da Blender erst nach dem<br />

Absetzen den Bewuchs aktualisiert.<br />

Manchmal bleiben kleine<br />

Büschel auf blau markierten Bereichen<br />

stehen. In einem solchen<br />

Fall suchen Sie die direkte Umgebung<br />

ab: Meist findet sich dort<br />

eine kleine Insel, die noch grünlich<br />

schimmert, oder die direkte<br />

Umgebung weist noch Buchten<br />

auf, die nicht komplett blau sind.<br />

Eine mögliche Bemalung zeigt<br />

Abbildung .<br />

Zu guter Letzt fügen Sie den Augen<br />

noch die Pupillen hinzu. Die<br />

dafür nötigen Operationen kennen<br />

Sie noch aus dem ersten Teil<br />

des Workshops. Nutzen Sie diesmal<br />

eine UVsphere mit 16 Segmenten<br />

und Ringen. Diese rotieren Sie<br />

um 90 Grad um die X-Achse, bevor<br />

Sie die Proportionen ändern: Auf<br />

diese Weise zeigt die Spitze der<br />

Kugel nach vorne, was für den<br />

weiteren Verlauf des Projektes ein<br />

klein wenig Ärger erspart. Nach<br />

Set Smooth und dem Hinzufügen<br />

eines Materials (wieder<br />

mit Specular Intensity<br />

auf null) duplizieren<br />

Sie die Pupille<br />

mittels [Umschalt]+[D], wobei<br />

Blender das Material und alles<br />

Weitere bereits richtig einfügt.<br />

Jetzt steht der Dust Puppy zum<br />

finalen Rendering bereit – das Ergebnis<br />

könnte so aussehen wie in<br />

Abbildung .<br />

Ausblick<br />

Hier muss noch lange nicht<br />

Schluss sein: Wenn Sie sich die<br />

Comics von Userfriendly genauer<br />

ansehen, stellen Sie fest, dass der<br />

Dust Puppy noch allerlei Details<br />

aufweist. So hat er zum Beispiel<br />

deutlich hervorstehende Knöchel<br />

(die in diesem Artikel komplett<br />

ausgespart wurden) sowie Zehennägel.<br />

Beides können Sie mit dem<br />

bisher gesammelten Wissen leicht<br />

hinzufügen, um Ihre 3D-Kreation<br />

dem Original ähnlicher zu machen.<br />

Sehen Sie diesen Artikel<br />

also als Sprungbrett um selbstständig<br />

weiterzuarbeiten. (jlu) ■<br />

[1] Elephants Dream:<br />

http://www.elephantsdream.org<br />

[2] Big Buck Bunny:<br />

http://www.bigbuckbunny.org<br />

[3] Sintel: http://www.sintel.org<br />

[4] Deutsches Blender-Forum:<br />

http://www.blendpolis.de<br />

[5] Blender-Seite des Autors:<br />

http://www.blenderdiplom.com<br />

INFO<br />

62 02 | 11 www.linux-user.de


HIER STARTET<br />

IHR UBUNTU!<br />

● JAHRES-ABO FÜR NUR 26,90<br />

●<br />

IMMER MIT AKTUELLSTER<br />

UBUNTU-DISTRIBUTION AUF DVD<br />

15%<br />

SPAREN<br />

MEINE VORTEILE:<br />

● Ich erhalte vier Ausgaben des<br />

Ubuntu Users frei Haus für<br />

26,90* statt 31,60<br />

● Das Abonnement ist jeder zeit<br />

kündbar. Ich gehe kein Risiko ein<br />

● Aktuell informiert mit allen Neuigkeiten<br />

rund um das Thema Ubuntu<br />

JETZT BESTELLEN<br />

Telefon: 089 / 2095 9127<br />

Fax: 089 / 2002 8115<br />

E-Mail: abo@ubuntu-user.de<br />

Internet: http://www.ubuntu-user.de<br />

ich möchte Ubuntu User für nur 6,73<br />

JA,<br />

pro Ausgabe abonnieren.<br />

Ich erhalte Ubuntu User viermal im Jahr zum Vorzugs preis von 6,73 statt 7,90 im Einzelverkauf,<br />

bei jährlicher Verrechnung 26,90 (*Österreich: 29,90, Schweiz: SFr 53,90,<br />

restliches Europa: 33,90). Ich gehe keine langfristige Bindung ein. Möchte ich das Abo<br />

nicht länger beziehen, kann ich die Bestellung jederzeit und fristlos kündigen. Geld für bereits<br />

bezahlte, aber noch nicht gelieferte Ausgaben erhalte ich zurück. Sollten Sie noch Fragen<br />

haben, hilft Ihnen unser Abo-Service gerne weiter (089-20959127).<br />

Linux New Media AG, Putzbrunner Straße 71, 81739 München; Aufsichtsrat: Rudolf Strobl<br />

(Vorsitz), Vorstand: Brian Osborn, Hermann Plank, Handelsregister: HRB 129161 München<br />

Name, Vorname<br />

Datum<br />

Unterschrift<br />

Mein Zahlungswunsch: Bequem per Bankeinzug Gegen Rechnung<br />

Straße, Nr.<br />

BLZ<br />

Konto-Nr.<br />

PLZ<br />

Ort<br />

Bank


PRAXIS<br />

Gpredict<br />

Satelliten verfolgen mit Gpredict<br />

Seh dich!<br />

Eine Vielzahl unterschiedlichster Satelliten umkreist mittlerweile unseren<br />

Planeten. Welche davon Sie wo am nächtlichen Himmel als Lichtpunkt<br />

beobachten können, sagt Ihnen Gpredict. Michael Gottwald<br />

© NASA/ JPL<br />

Gpredict 1.2,<br />

Handbuch (PDF)<br />

LU/gpredict/<br />

README<br />

Die Satelliten-Tracking-<br />

Software Gpredict bietet<br />

Funktionen zur Vorhersage<br />

und Verfolgung<br />

von Satellitenbahnen<br />

am Himmel sowie zur<br />

Steuerung von Amateurfunkanlagen<br />

für Computer<br />

Aided Tracking.<br />

Seit dem Start des ersten Erdsatelliten,<br />

des sowjetischen Sputnik<br />

im Jahre 1957, umkreist eine große<br />

Zahl unterschiedlichster<br />

Raumflugkörper die Erde. Vom<br />

einfachen Kommunikationssatelliten<br />

über mit komplexen Instrumenten<br />

ausgestatteten Erdbeobachtungssonden<br />

bis hin zur Internationalen<br />

Raumstation ISS<br />

reicht hier das Spektrum.<br />

Die meisten dieser künstlichen<br />

Erdbegleiter befinden sich in erdnahen<br />

Umlaufbahnen (LEO) von<br />

wenigen hundert Kilometern<br />

Höhe. TV- und Wettersatelliten<br />

dagegen nutzen den geostationären<br />

Orbit (GEO). Viele dieser Satelliten<br />

kann man in einer klaren<br />

Nacht als sich am Himmel bewegenden<br />

Lichtpunkt erkennen –<br />

ungeübte Beobachter verwechseln<br />

sie gerne mit Flugzeugen.<br />

Um Satelliten zu identifizieren<br />

und ihre Bahnen vorherzusagen,<br />

gibt es mehrere Möglichkeiten. Zu<br />

den weithin bekannten zählt Heavens<br />

Above [1]: Die Website bietet<br />

solche Vorhersagen bereits seit<br />

vielen Jahren an und zeichnet die<br />

Satellitenbahnen auch in Sternkarten<br />

ein. Daneben unterstützen<br />

immer mehr Planetariumsprogramme<br />

das Satelliten-Tracking<br />

und stellen die künstlichen Erdbegleiter<br />

in ihren Sternkarten dar.<br />

Gnome Predict (oder kurz: Gpredict,<br />

[2]) dagegen konzentriert<br />

sich ganz auf die Satelliten und<br />

bietet daher in dieser Hinsicht<br />

wesentlich mehr Möglichkeiten<br />

als Heavens Above. Doch vor dem<br />

Vergnügen steht die Installation –<br />

und hier gibt es, wie so oft bei<br />

Linux, mehrere Möglichkeiten.<br />

Installationsvarianten<br />

Viele Distributionen stellen Gpredict<br />

in ihren Repositories bereit,<br />

so auch das im Test verwendete<br />

Ubuntu. Während im Universe-<br />

Zweig von Ubuntu 9.04 nur das<br />

ältere Paket Gpredict 0.90 vorliegt,<br />

bietet Ubuntu 10.04 bereits<br />

die aktuellere Version 1.10 an. Aktuell<br />

ist allerdings Gpredict 1.20.<br />

Um es zu installieren, laden Sie<br />

über die Gpredict-Homepage oder<br />

von der Heft-DVD den Quellcode<br />

[3] herunter und übersetzen<br />

ihn. Hier gibt es allerdings so<br />

manche Hürde zu meistern: Einige<br />

Abhängigkeiten von Gpredict<br />

64 02 | 11<br />

www.linux-user.de


Gpredict<br />

PRAXIS<br />

Das Hauptfenster<br />

von Gpredict mit der<br />

(durch das maximierte<br />

Fenster stark verzerrten)<br />

Weltkarte, Informationen<br />

zum Weltraumteleskop<br />

Hubble<br />

und der Polar View.<br />

GLOSSAR<br />

LEO: Low Earth Orbit.<br />

Niedrige Erdumlaufbahn<br />

zwischen 200 und<br />

1200 Kilometern Höhe.<br />

GEO: Geostationary<br />

Earth Orbit. In knapp<br />

36 000 Kilometern<br />

Höhe über dem Äquator<br />

entspricht die Winkelgeschwindigkeit<br />

einer Erdumkreisung<br />

pro Tag. Ein<br />

dort platzierter Satellit<br />

befindet sich stets über<br />

der gleichen Stelle der<br />

Erdoberfläche.<br />

Footprint: Der Bereich<br />

auf der Erdoberfläche,<br />

von dem aus der Satellit<br />

zu sehen ist.<br />

QTH-Locator: auch QRAoder<br />

Maidenhead-Locator<br />

[7]. Definiert den<br />

Standort anhand von<br />

Feldern eines geodätischen<br />

Netzes. Vor rund<br />

50 Jahren von Funkamateuren<br />

entwickelt und<br />

mehrfach modifiziert,<br />

dient er der einfacheren<br />

Berechnung von Entfernung<br />

und Richtung zwischen<br />

Funkteilnehmern.<br />

Der QTH-Locator für<br />

Stuttgart lautet beispielsweise<br />

JN48OQ.<br />

1.20 lassen sich unter Ubuntu<br />

9.04 nicht auflösen, da hier unter<br />

anderem die neueren Versionen<br />

für GTK+ und Glib nicht als Pakete<br />

zur Verfügung stehen.<br />

Trotz der Fehlermeldung, dass<br />

Intltool zu alt sei, ließ sich Gpredict<br />

1.20 unter Ubuntu 10.04<br />

kompilieren. Die benötigten Libfreetype6-Pakete<br />

mochte Ubuntu<br />

nicht herunterladen, obwohl es<br />

sie in der Paketverwaltung aufführt.<br />

Sie fanden sich aber auf der<br />

Packages-Search-Seite [4]. Zum<br />

Übersetzen der Quellen benötigen<br />

Sie die Devel-Pakete einiger Bibliotheken.<br />

Das betrifft GTK+ 2.12,<br />

Glib 2.16, Libcurl 7.16.0, Goocanvas<br />

0.9, Libfreetype6, Hamlib (nur<br />

die Laufzeitumgebung) sowie – je<br />

nach Distribution – eventuell weitere<br />

Abhängigkeiten.<br />

Kontrollzentrum<br />

Nach dem Start von Gpredict<br />

fühlt man sich an ein Raumfahrt-<br />

Kontrollzentrum erinnert, dessen<br />

Bildschirm die Bahnen von<br />

Raumstationen als Kurven über<br />

einer Weltkarte darstellt (Abbildung<br />

). In der Grundkonfiguration<br />

teilt sich das Fenster in drei<br />

Bereiche: die erwähnte Weltkarte,<br />

den Infobereich eines Satelliten<br />

sowie die Polar View. Auf der<br />

Weltkarte tummeln sich alle ausgewählten<br />

Satelliten inklusive ihres<br />

jeweiligen Footprints.<br />

Im ersten Schritt legen Sie den<br />

eigenen Standort fest, den Gpredict<br />

als Bodenstation (Ground<br />

Station) bezeichnet. Meist können<br />

Sie diesen aus einer umfangreichen<br />

Liste von Orten auswählen,<br />

die Gpredict unter Edit | Preferences<br />

im Reiter Ground Stations der<br />

Hauptgruppe General vorhält. Zur<br />

besseren Übersicht sortiert das<br />

Programm die Aufstellung nach<br />

Regionen. Befindet sich keine der<br />

angebotenen Städte in der Nähe<br />

Ihres Wohnortes,<br />

legen Sie diesen<br />

selbst an.<br />

Dazu müssen Sie<br />

lediglich den Namen<br />

des Ortes sowie<br />

dessen geografische<br />

Koordinaten<br />

angeben, alle anderen<br />

Angaben sind<br />

optional. Mithilfe<br />

der Angabe der<br />

Höhe über dem<br />

Meeresspiegel (Altitude)<br />

berücksichtigt<br />

Gpredict bei der genauen<br />

Berechnung<br />

der Bahn am Himmel<br />

die Lichtbrechung<br />

in der Atmosphäre.<br />

Den QTH-<br />

Locator brauchen Sie nicht anzugeben,<br />

da das Programm ihn<br />

selbstständig berechnet.<br />

Im Preferences-Fenster legen Sie<br />

außerdem die zu verwendenden<br />

Zahlenformate, die Aufteilung der<br />

Module, den Inhalt der Vorhersage-Listen,<br />

die Zeitauflösung und<br />

vieles andere mehr fest. Hier konfigurieren<br />

Sie daneben gegebenenfalls<br />

auch vorhandene Funkanlagen<br />

und Antennenantriebe.<br />

Achtung: Bei Number Formats sollten<br />

Sie auf jeden Fall das Häkchen<br />

bei Show local time instead of UTC<br />

Zur Auswahl stehen<br />

1200 wahlweise gruppierte<br />

Satelliten.<br />

www.linux-user.de<br />

02 | 11 65


PRAXIS<br />

Gpredict<br />

Die Passage-Details<br />

für den Infrarot-Teleskop-Satelliten<br />

WISE<br />

(Wide-field Infrared Survey<br />

Explorer) am 7. Dezember<br />

2010 morgens.<br />

DER AUTOR<br />

Michael Gottwald<br />

testet seit knapp 20<br />

Jahren Astronomiesoftware,<br />

anfangs für<br />

Amiga-Zeitschriften,<br />

inzwischen vorwiegend<br />

für „Sterne und<br />

Weltraum“. Der ehemalige<br />

Amiga-Freak<br />

ist inzwischen ein begeisterter<br />

Linux-User.<br />

In einschlägigen Internetseiten<br />

verfolgt er<br />

laufend die Aktivitäten<br />

in Astronomie und<br />

Raumfahrt.<br />

Das Polardiagramm<br />

zeigt die Flugbahn<br />

(Passage) der Internationalen<br />

Raumstation<br />

ISS am Himmel über<br />

Stuttgart frühmorgens<br />

am 13. Dezember 2010.<br />

setzen, da Gpredict anderenfalls<br />

alle Zeiten in Weltzeit (UTC) statt<br />

in Ortszeit angibt.<br />

Sofern Gpredict nicht ohnehin<br />

schon selbst darauf hinweist, sollten<br />

Sie die Bahnelemente der Satelliten<br />

direkt nach der Installation<br />

und später jeweils nach wenigen<br />

Tagen aktualisieren: Bei<br />

erdumkreisenden Satelliten ändert<br />

sich die Bahn unter anderem<br />

aufgrund der Abbremsung<br />

in der Restatmosphäre mit<br />

der Zeit. Der Effekt fällt<br />

zwar relativ geringfügig<br />

aus, hat aber doch deutliche<br />

Auswirkungen auf die<br />

Vorhersagegenauigkeit.<br />

Die Datenauffrischung erledigen<br />

Sie via Edit | Update<br />

TLE | from network<br />

schnell und unkompliziert<br />

über das Internet. Die Aktualisierung<br />

lädt für alle<br />

Satelliten deren aktuelle<br />

TLE-Bahnelemente.<br />

Modular<br />

Grundsätzlich basiert<br />

Gpredict auf einem modularen<br />

Konzept. Jedes Modul<br />

enthält dabei eine beliebige<br />

Anzahl an Satelliten sowie<br />

eine Bodenstation. Jedes Modul<br />

ordnet das Programm dann als<br />

Reiter an, zwischen denen Sie jederzeit<br />

rasch wechseln können.<br />

Dieses Konzept ermöglicht beispielsweise,<br />

die zu überwachenden<br />

Satelliten nach Themen (Astronomie,<br />

Wetter, etc.) zu gruppieren<br />

(Abbildung , vorige Seite)<br />

oder Listen für unterschiedliche<br />

Bodenstationen (Wohnort, Urlaubsorte,<br />

…) vorzuhalten.<br />

Beim Anlegen eines neuen Moduls<br />

geben Sie diesem zunächst<br />

einen Namen, wählen die Bodenstation<br />

aus und anschließend den<br />

oder die Satelliten (Abbildung ,<br />

vorige Seite). Die Auswahl nehmen<br />

Sie dabei entweder aus der<br />

kompletten alphabetisch sortierten<br />

Auswahlliste vor oder suchen<br />

einen Satelliten durch Eintippen<br />

seines Namens direkt. Allerdings<br />

arbeitet der Suchalgorithmus etwas<br />

seltsam: Gpredict sucht die<br />

eingetippte Zeichenkette nicht<br />

am Namensanfang, sondern gibt<br />

den ersten Namen aus, der den<br />

String an irgendeiner Stelle enthält.<br />

So springt die Markierung<br />

beispielsweise bei Eingabe von<br />

IRA (um den Infrarotsatelliten<br />

IRAS zu suchen) erst einmal auf<br />

ARIRANG 1 und erst beim vollständigen<br />

Namen auf IRAS. Außerdem<br />

arbeitet die Erkennung<br />

auch noch schreibweisenabhängig,<br />

was aber kaum eine Rolle<br />

spielt, da die Satellitennamen in<br />

der Liste ohnehin nur in Großbuchstaben<br />

vorliegen.<br />

Als sehr hilfreich bei der Suche<br />

erweist sich die Möglichkeit, die<br />

Auswahlliste nur für eine bestimmte<br />

Kategorie anzeigen zu<br />

lassen, etwa Space & Earth Science<br />

(Weltraum- und Erderkundung)<br />

oder Geostationary. Es gibt aber<br />

auch Kategorien (Groups) wie<br />

etwa Latest Launches, also die zuletzt<br />

gestarteten Satelliten.<br />

Jedes neu angelegte Modul findet<br />

seinen Platz in einem eigenen<br />

Reiter. Die zugehörigen Satelliten<br />

erscheinen in der Weltkarte mit<br />

ihrer jeweiligen Ausleuchtzone.<br />

Positionieren Sie den Mauszeiger<br />

über einem Satelliten, erscheint<br />

(bei Versionen nach Gpredict 0.9)<br />

eine kleine Info mit den aktuellen<br />

Koordinaten und der verbleibenden<br />

Zeit in Minuten bis zum<br />

nächsten Aufgang (AOS) über dem<br />

Horizont des Beobachtungsortes.<br />

Ist der Satellit gerade über dem<br />

Beobachtungsort zu sehen, gibt<br />

Gpredict stattdessen die Anzahl<br />

66 02 | 11<br />

www.linux-user.de


Gpredict<br />

PRAXIS<br />

der Minuten bis zum Untergang<br />

(LOS) aus. Um die Bahnkurve<br />

(Ground track) eines Satelliten zu<br />

sehen, aktivieren Sie die Funktion<br />

über das Kontextmenü mittels<br />

rechter Maustaste.<br />

Bahndaten<br />

Mit dem Menüpunkt Future passes<br />

erhalten Sie eine Tabelle mit<br />

den in den nächsten drei Tagen<br />

stattfindenden Passagen. Die<br />

rechte Spalte Vis („Visibility“)<br />

zeigt an, ob Sie die Passage auch<br />

beobachten können (V). Ein E<br />

(„eclipsed“) weist darauf hin, dass<br />

der Satellit vermutlich verfinstert<br />

ist: Ein Satellit lässt sich dann am<br />

besten als Lichtpunkt erkennen,<br />

wenn die Sonne ihn noch bescheint,<br />

während am Beobachterstandort<br />

bereits Nacht oder zumindest<br />

fortgeschrittene Dämmerung<br />

herrscht.<br />

Um diese Spalte zu aktivieren,<br />

setzen Sie unter Edit | Preferences<br />

in der Hauptgruppe Predict des<br />

Reiters Multiple Passes das Häkchen<br />

bei Visibility during pass. Diese<br />

Einstellung hat Gpredict übrigens<br />

dem bereits erwähnten Heavens<br />

Above voraus, das nur sichtbare<br />

Passagen liefert. Das kann<br />

(unter anderem) auch ein Grund<br />

sein, wenn sich die Angaben der<br />

beiden Anwendungen zu Satellitendurchläufen<br />

unterscheiden.<br />

Der Doppelklick auf eine Zeile<br />

der Satellitenliste zeigt dann eine<br />

detaillierte Aufstellung mit Informationen<br />

über die Passage (Abbildung<br />

), wobei der erste Reiter<br />

eine Tabelle mit Daten einzelner<br />

Positionen auf der Bahn am Himmel<br />

enthält. Dazu zählen unter<br />

anderem Datum und Uhrzeit sowie<br />

die Koordinaten in Form von<br />

Azimut (Az) und Elevation (El).<br />

Die Gradangaben in der Spalte El<br />

zeigen, wie hoch sich der Satellit<br />

zu einem bestimmten Zeitpunkt<br />

über dem lokalen Horizont befindet<br />

(größter positiver Wert). Je<br />

nach maximaler Elevation und<br />

Höhe der Umlaufbahn zieht der<br />

jeweilige Satellit schneller oder<br />

langsamer über den Himmel.<br />

Anschauliches<br />

Zur grafischen Veranschaulichung<br />

bietet<br />

der zweite Reiter ein<br />

sogenanntes Polardiagramm<br />

(Abbildung<br />

), das in der<br />

Voreinstellung auch<br />

im Hauptfenster unten<br />

links erscheint. Es<br />

zeigt den lokalen Himmel ohne<br />

Sterne und Sternbilder, lediglich<br />

mit den Himmelsrichtungen. Die<br />

Orientierung der Karte passen Sie<br />

je nach Beobachtungsrichtung an.<br />

Dazu setzen Sie in Edit | Preferences<br />

in der Hauptgruppe General<br />

des Reiters Polar View den Radiobutton<br />

bei N/ W/ S/ E.<br />

Der dritte Reiter Az/ El enthält<br />

ein sogenanntes Sichtbarkeitsdiagramm,<br />

das die Sichtbarkeit des<br />

gewählten Satelliten recht einfach<br />

erkennen lässt. Die Tabelle (des<br />

ersten Reiters) lässt sich auch ausdrucken<br />

und speichern.<br />

Jedes Modul besitzt auf der<br />

rechten Seite einen kleinen Pfeilknopf,<br />

der ein Popup-Menü mit<br />

zehn Einträgen aufklappt. Als besonders<br />

interessanter Menüpunkt<br />

fällt hier Sky at a Glance auf, der<br />

ein Sichtbarkeitsdiagramm der im<br />

Modul zugeordneten Satelliten<br />

auf einer Zeitachse darstellt (Abbildung<br />

). Mit dessen Hilfe erkennen<br />

Sie schnell, welcher Satellit<br />

wie oft innerhalb eines in den<br />

Voreinstellungen konfigurierten<br />

Zeitraums (Vorgabe: 8 Stunden)<br />

sichtbar ist.<br />

Gpredict beschränkt sich aber<br />

nicht auf den aktuellen Tag oder<br />

auf Vorhersagetabellen: Die Anwendung<br />

bietet daneben auch die<br />

Möglichkeit, Zeitabläufe zu beschleunigen<br />

und sogar die Zeit<br />

rückwärts laufen zu lassen. Dies<br />

ermöglicht der Time Controller aus<br />

demselben Popup-Menü.<br />

Ferngesteuert<br />

Zu guter Letzt darf noch ein wichtiges<br />

Feature von Gpredict nicht<br />

unerwähnt bleiben: die Radiound<br />

Antennensteuerung mittels<br />

der Hamlib-Bibliotheken. Diese<br />

ermöglichen eine Bedienung von<br />

Amateurfunkanlagen vom PC aus<br />

und steuern bei Bedarf spezielle<br />

Antennenrotierer an, die Gpredict<br />

auf diesem Weg einem ausgewählten<br />

Satelliten nachführt. Mangels<br />

entsprechender Hardware konnte<br />

der Autor dieses Features allerdings<br />

nicht testen. Allgemeine Informationen<br />

zu diesem als Computer<br />

Aided Tuning bezeichneten<br />

Verfahren finden Sie in der Wikipedia<br />

[5], alle Details liefert ein<br />

ausführliches Hamlib-Tutorial im<br />

Gpredict-Handbuch ([6], auch auf<br />

der Heft-DVD).<br />

Fazit<br />

Gpredict präsentiert sich als rundum<br />

gelungene Tracking-Software<br />

zur Vorhersage von Satellitenpassagen<br />

und nebenbei als Fernsteuerung<br />

für Amateurfunkanlagen.<br />

Die Programmoberfläche lässt<br />

sich einfach bedienen und bietet<br />

alle wichtigen Funktionen. Das<br />

sauber strukturierte 64-seitige<br />

PDF-Handbuch und fast durchgängig<br />

gut gepflegte Tooltipps helfen<br />

dabei, mit dem Programm gut<br />

zurechtzukommen. (jlu) ■<br />

INFO<br />

[1] Heavens Above:<br />

http://www.heavens-above.com<br />

[2] Gpredict-Homepage:<br />

http://gpredict.oz9aec.net<br />

[3] Gpredict herunterladen: http://sourceforge.<br />

net/projects/gpredict/files/<br />

[4] Ubuntu Packages Search:<br />

http://packages.ubuntu.com<br />

[5] Computer Aided Tuning: http://de.<br />

wikipedia.org/wiki/CAT_(Amateurfunk)<br />

[6] Gpredict-Handbuch:<br />

http://tinyurl.com/gpredict-manual<br />

[7] Näheres zum QTH-Locator:<br />

http://de.wikipedia.org/wiki/QTH<br />

Äußerst nützlich:<br />

das Sichtbarkeitsdiagramm<br />

der gewählten<br />

Satelliten.<br />

GLOSSAR<br />

TLE: Two Line Elements.<br />

Gebräuchliches Format,<br />

das Satellitenbahnelemente<br />

als Ziffernblöcke<br />

in zwei Zeilen darstellt.<br />

AOS: Acquisition of Signal.<br />

Die Erfassung des<br />

Satellitensignals.<br />

LOS: Loss of Signal.<br />

Der Verlust des Satellitensignals.<br />

Azimut: Der an den Himmelsrichtungen<br />

orientierte<br />

horizontale Winkel<br />

am Horizont.<br />

Elevation: Der Höhenwinkel<br />

über dem lokalen<br />

Horizont.<br />

Hamlib: Die HAM-Funkanlagen-Bibliotheken<br />

ermöglichen<br />

es, Steuerungsprogramme<br />

für<br />

Amateurfunkausrüstung<br />

wie Sender/ Empfänger<br />

oder Antennenrotierer<br />

zu schreiben. „Ham“ ist<br />

ein angelsächsischer<br />

Jargonausdruck für<br />

Funkamateure.<br />

www.linux-user.de<br />

02 | 11 67


im test<br />

Fotobuch-Software von Cewe<br />

Cewe Fotobuch-Designer für Linux<br />

Gut eingebunden<br />

Die Fotobuch-<br />

Software von<br />

Cewe gilt seit Jahren<br />

als eine der<br />

wenigen brauchbaren<br />

Lösungen<br />

für Linux. Auch die<br />

neueste Version<br />

überzeugt hinsichtlich<br />

Funktionalität<br />

und Benutzerfreundlichkeit.<br />

Thomas Leichtenstern<br />

ReADme<br />

Cewe, einer der ersten<br />

Anbieter von brauchbarer<br />

Fotobuchsoftware<br />

für Linux, veröffentlichte<br />

zur Photokina 2010 eine<br />

neue Version, die nach<br />

eigenem Bekunden mit<br />

vielen Änderungen und<br />

Verbesserungen aufwartet.<br />

Was die Software im<br />

Vergleich zum Farbglanz-<br />

Programm leistet, das in<br />

der letzten Ausgabe den<br />

Parcours bestritt, zeigt<br />

der Test.<br />

Bei anbietergebundener Software<br />

zum Erstellen von Fotobüchern<br />

und Kalendern dominiert<br />

Cewe [1] seit Jahren den Markt:<br />

Das Programm beziehungsweise<br />

den Fotodienst nutzen unter anderem<br />

Branchengrößen wie Rewe,<br />

Saturn Hansa, Amazon und viele<br />

andere mehr [2]. Bot Cewe bisher<br />

seine Software lediglich über die<br />

Reseller an, stellt es jetzt eine generische<br />

Version zum Download<br />

bereit, bei der man sich erst beim<br />

Bestellvorgang auf einen Händler<br />

festlegt (Abbildung A).<br />

Im Design unterscheidet sich<br />

das Programm nur marginal von<br />

den angepassten Versionen der<br />

Reseller. Allerdings beschränkt<br />

sich der Funktionsumfang der<br />

Cewe-Version auf das Erstellen<br />

von Fotobüchern, während die der<br />

Reseller häufig auch andere Bearbeitungsmodule<br />

enthalten, etwa<br />

für Kalender. Im Test trat die generische<br />

Version 4.6.5 von Cewe<br />

an, die zur Photokina im Oktober<br />

generalüberholt wurde. Sie verwendet<br />

zum Darstellen der Fenster<br />

Qt 4.6.2, dessen Bibliotheken<br />

das Programm selbst mitbringt.<br />

Installation<br />

Das Paket, das Cewe zum Download<br />

bereitstellt, besteht lediglich<br />

aus einem wenige KByte kleinen<br />

Perl-Skript, das beim Start alle<br />

benötigten Dateien – im Ganzen<br />

etwa 100 MByte – aus dem Internet<br />

herunterlädt. Nach Anzeige<br />

und dem Bestätigen der EULA erstellt<br />

der Installer das Verzeichnis<br />

~/CeWe Color/, in dessen Unterordner<br />

Mein CEWE FOTOBUCH sich eine<br />

gleichnamige ausführbare Datei<br />

befindet. Ein Klick darauf startet<br />

die Applikation.<br />

Auf einem schnellen Rechner erscheint<br />

das Programmfenster<br />

nach etwa 15 Sekunden. Ein Blick<br />

mit top auf den Ressourcenverbrauch<br />

zeigt, dass sich die Anwendung<br />

nach dem Start stattliche<br />

240 MByte an Hauptspeicher genehmigt.<br />

Je nach Umfang des<br />

Fotobuchs und Größe der Bilder<br />

steigt der Speicherbedarf aber zügig<br />

auf Werte über 600 MByte an.<br />

Neueröffnung<br />

Beim Start zeigt die Software im<br />

Hauptfenster zunächst eine Auswahl<br />

verschiedener Fotobuchformate.<br />

Im darüberliegenden Menü<br />

erreichen Sie weitere Größen und<br />

Qualitäten (Abbildung B). Nach<br />

Wahl der gewünschten Variante<br />

startet der Abfrage-Assistent, über<br />

den Sie unter anderem die Seitenzahl,<br />

das Layout und den Einband<br />

festlegen. Dabei weisen Sie dem<br />

Fotobuch bereits die<br />

dafür vorgesehenen<br />

Bilder zu. Die Software berechnet<br />

anhand der Bildanzahl pro<br />

Seite, die Sie per Schieberegler einstellen,<br />

selbstständig die benötigte<br />

Seitenzahl. Jeden Schritt des Abfrage-Assistenten<br />

brechen Sie bei<br />

Bedarf mit einem Klick auf den<br />

Schalter Ohne Assistenten gestalten<br />

ab. In diesem Fall öffnet die Software<br />

das Fotobuch lediglich mit<br />

der gewählten Größenvorgabe (Abbildung<br />

C, nächste Doppelseite).<br />

Alle Eckdaten wie Seitenzahl,<br />

Einband oder Papierqualität passen<br />

Sie nach Bedarf nachträglich<br />

links unten an. Den Preis für das<br />

Fotobuch aktualisiert die Software<br />

gemäß den Einstellungen automatisch<br />

und zeigt ihn daneben an.<br />

Um Bilder manuell ins Projekt zu<br />

importieren, wählen Sie links im<br />

Dateibrowser zunächst das Verzeichnis,<br />

in dem sich die gewünschten<br />

Bilder befinden. Danach<br />

erscheinen diese im <strong>Vorschau</strong>fenster<br />

darunter. Ziehen Sie<br />

die Fotos per Drag & Drop in einen<br />

Fotoframe. Das Programm<br />

markiert alle bereits importierten<br />

Aufnahmen mit einem grünen<br />

Häkchen – ein Zähler fehlt jedoch.<br />

70 02 | 11<br />

www.linux-user.de


Fotobuch-Software von Cewe<br />

im test<br />

Album auffüllen<br />

Möchten Sie mehrere Bilder auf<br />

einmal in das Album kopieren,<br />

wählen Sie die gewünschten Fotos<br />

bei gedrückter [Strg]-Taste mit<br />

der Maus aus und ziehen Sie sie<br />

danach in das Bearbeitungsfenster.<br />

Die Software ordnet sie dann<br />

der Reihenfolge nach im Buch an.<br />

[Strg]+[A] markiert alle im Verzeichnis<br />

enthaltenen Dateien, die<br />

Sie wie beschrieben ins Album<br />

einfügen. Die Größe der Seitenansicht<br />

variieren Sie mit dem Schieberegler<br />

am unteren Fensterrand.<br />

Rechts daneben befindet sich ein<br />

Knopf mit zwei diagonal angeordneten<br />

Pfeilen. Ein Klick drauf öffnet<br />

die bildschirmfüllende <strong>Vorschau</strong>ansicht<br />

des Fotobuchs. Um<br />

sie zu beenden, drücken Sie [Esc].<br />

Am unteren Fensterrand zeigt<br />

die Software die Seiten des Albums<br />

in einer verkleinerten <strong>Vorschau</strong>.<br />

Sie eignen sich sowohl zur<br />

Navigation als auch zum Ergänzen<br />

mit zusätzlichen Bildern. Ziehen<br />

Sie dafür die gewünschten<br />

Aufnahmen aus der Bildervorschau<br />

links in das entsprechende<br />

Blatt. Möchten Sie eine Aufnahme<br />

als Hintergrund definieren, klicken<br />

Sie in der <strong>Vorschau</strong> mit der<br />

linken Maustaste darauf. Im Kontextmenü<br />

legen Sie fest, ob das<br />

Bild für die rechte, linke oder beide<br />

Seiten als Hintergrund dient.<br />

Zur Suche nach inhaltlich und<br />

farblich ähnlichen Aufnahmen<br />

wählen Sie im selben Kontextmenü<br />

den Punkt Ähnliche finden…<br />

aus. Im Dialog stellen Sie über einen<br />

Schieberegler die geforderten<br />

Übereinstimmungen von fast<br />

gleich… bis …ähnlich aussehend<br />

stufenlos ein. Ein anschließender<br />

Klick auf OK zeigt die Treffer in<br />

der <strong>Vorschau</strong> an.<br />

portionen von Aufnahme<br />

und Box<br />

nicht überein, zeigt<br />

die Software nur einen<br />

Ausschnitt an.<br />

Diesen ändern Sie,<br />

indem Sie auf das<br />

Bild klicken und es<br />

bei gedrückter<br />

Maustaste im Rahmen<br />

verschieben.<br />

Zum Ändern der<br />

Rahmen- und damit<br />

Bildgröße dienen<br />

die Anfasser, die es<br />

an jeder Ecke und<br />

Kante gibt. Ein Ziehen<br />

an den Kanten verändert die<br />

Proportionen, das Verändern der<br />

Ecken skaliert das Bild.<br />

Anders als die in der letzten<br />

Ausgabe getestete Software von<br />

Farbglanz [3] unterstützt die<br />

Cewe-Software alle gängigen Tastaturkürzel<br />

und Funktionstasten.<br />

Zum Löschen eines Bildes reicht<br />

es entsprechend aus, [Entf] zu<br />

drücken. Die Software erkennt<br />

dabei auch eine Mehrfachauswahl<br />

und entfernt alle angewählten<br />

Aufnahmen. Per [Strg]+[X] und<br />

[Strg]+[V] verschieben Sie ein Bild<br />

von der einen Stelle an eine andere,<br />

was im Test aber nicht komplikationsfrei<br />

funktioniert. Das<br />

Rückgängigmachen der letzten<br />

Aktionen via [Strg]+[Z] bereitete<br />

dagegen keinerlei Probleme.<br />

Um das Bild an einer anderen<br />

Stelle auf der Seite zu platzieren,<br />

markieren Sie es und ziehen es<br />

bei gedrückter Maustaste am<br />

Rahmen an die gewünschte Stelle.<br />

Die Position überlappender<br />

Aufnahmen legen Sie über Objekt<br />

eine Ebene nach vorne|hinten aus<br />

dem Kontextmenü fest. Eine einstellbare<br />

Transparenz, wie sie die<br />

Software von Farbglanz bietet,<br />

fehlt der von Cewe allerdings.<br />

Möchten Sie eine vielleicht<br />

nicht hundertprozentig gelungene<br />

Aufnahme aufwerten, legen<br />

Sie ein Passepartout darüber.<br />

Wechseln Sie dazu in der linken<br />

Spalte in den Reiter Layout und<br />

danach in Passepartout. Die Software<br />

enthält bereits mehrere<br />

Dutzend davon, die Sie via<br />

A Die händlerunabhängige<br />

Fotobuchsoftware<br />

von Cewe lässt<br />

Ihnen bis zur Bestellung<br />

die Wahl des Handelspartners.<br />

Test des Fotobuchprogramms<br />

von Farbglanz<br />

aus LU 12/ 2010<br />

LU/dps/<br />

Auf die Plätze…<br />

Nach dem Befüllen des Albums<br />

geht es daran, die Bilder auszurichten<br />

und möglichst ansprechend<br />

darin zu platzieren. Die<br />

Software passt Aufnahmen automatisch<br />

so gut wie möglich in den<br />

Bildboxen ein. Stimmen die Pro-<br />

B Neben diversen<br />

Größenformaten wählen<br />

Sie im Hauptfenster<br />

der Cewe-Software<br />

auch die Papierqualität<br />

und die Bindung.<br />

www.linux-user.de<br />

02 | 11 71


im test<br />

Fotobuch-Software von Cewe<br />

C Bilder ziehen Sie via<br />

Drag & Drop an die gewünschte<br />

Stelle im<br />

Fotoalbum.<br />

Der Funktionsumfang<br />

des Cewe-<br />

Fotoeditors genügt<br />

auch für die wichtigsten<br />

Bildkorrekturen.<br />

Drag & Drop auf die gewünschte<br />

Aufnahme ziehen. Reicht die Auswahl<br />

nicht aus, genügt ein Klick<br />

auf den Button mehr herunterladen…,<br />

um weitere Passepartouts<br />

auf dem Rechner zu installieren.<br />

Feinschliff<br />

Zum Nachbearbeiten von Bildern<br />

bringt die Cewe-Software ein rudimentäres<br />

Bildbearbeitungsprogramm<br />

mit. Um es zu nutzen,<br />

klicken Sie doppelt auf die gewünschte<br />

Aufnahme, worauf das<br />

Modul startet (Abbildung ). Da<br />

das Öffnen des Fotoeditors im<br />

Test sporadisch zum Absturz des<br />

Programms führte, empfiehlt es<br />

sich, das Album zuvor via [Strg]+<br />

[S] zu sichern.<br />

Der Bildeditor enthält neben<br />

dem Bearbeitungwerkzeug allerdings<br />

noch diverse andere Elemente,<br />

etwa zum Festlegen der<br />

Grundeinstellungen, weswegen<br />

sein Aufbau unübersichtlich erscheint.<br />

Ein Klick auf das Icon mit<br />

den stilisierten Schiebereglern in<br />

der Menüleiste öffnet das Korrekturwerkzeug<br />

für Helligkeit, Kontrast<br />

und Farbton. Ein vernünftiger<br />

Weißabgleich fehlt dem<br />

Programm.<br />

Eher an die verspielten Naturen<br />

richten sich die Funktionen, die<br />

sich hinter dem Icon F (Fenster für<br />

Fotoeffekte) verbergen. Mit ihnen<br />

verzerren Sie die Aufnahmen in<br />

allen denkbaren Varianten oder<br />

lassen sie als Gemälde oder Kohlezeichnung<br />

erscheinen. Im Test fiel<br />

dabei auf, dass zum einen die angezeigte<br />

<strong>Vorschau</strong> nicht immer<br />

mit der tatsächlichen Ausgabe<br />

übereinstimmt und zum anderen<br />

das Anwenden des Effektes unter<br />

Umständen minutenlang dauert<br />

und dabei den im Testrechner verbauten<br />

Prozessor Intel Core i5<br />

650 beinahe vollständig auslastet.<br />

Ärgerlich auch, dass eine Funktion<br />

zum Rückgängigmachen der<br />

letzten Aktion fehlt. Ein Klick auf<br />

Verwerfen setzt stets sämtliche<br />

Bearbeitungsschritte zurück.<br />

Schreib mal wieder…<br />

Wie alle Fotobuchprogramme verfügt<br />

auch das von Cewe über ein<br />

Textmodul, mit dem Sie Seiten<br />

oder Bilder beschriften. Um einen<br />

Text hinzuzufügen, klicken Sie in<br />

der Schalterleiste über dem<br />

Hauptfenster auf das Symbol T<br />

mit einem Plus darüber. Daraufhin<br />

öffnet sich eine Box, in die Sie<br />

Ihren Text schreiben. Anders als<br />

die Farbglanz-Software enthält<br />

dieses Programm eine auf Hunspell<br />

basierende Rechtschreibkorrektur,<br />

die falsch geschriebene<br />

Wörter rot unterstreicht und im<br />

Kontextmenü entsprechende Korrekturvorschläge<br />

unterbreitet. Neben<br />

den üblichen Formatierungen<br />

wie Größe oder Farbe ermöglicht<br />

das Programm es Ihnen, BuchstaiNFO<br />

[1] Cewe: http://www.cewe-fotobuch.de<br />

[2] Händlerübersicht: http://www.cewe.de/<br />

fotobuecher/fotobuch-haendler-uebersicht/<br />

[3] DPS-Artikel: Thomas Leichtenstern, „Buchmacher“,<br />

<strong>LinuxUser</strong> 12/ 2010, S. 70:<br />

http://www.linux-community.de/22211<br />

72 02 | 11<br />

www.linux-user.de


Fotobuch-Software von Cewe<br />

im test<br />

ben farbig zu umranden. Vor allem<br />

wenn Sie den Text auf Bildern mit<br />

unruhigem Hintergrund platzieren,<br />

steigert das die Lesbarkeit erheblich<br />

(Abbildung ).<br />

Um an diese Funktion zu gelangen,<br />

klicken Sie zunächst auf den<br />

kleinen abwärts gerichteten Pfeil<br />

unterhalb des Textmenüs und klicken<br />

im Flyout-Menü auf das<br />

Schraubenschlüsselsymbol. Im<br />

Konfigurationsfenster aktivieren<br />

Sie die Checkbox Farbige Buchstabenränder<br />

und wählen danach dessen<br />

Farbe und Stärke. Möchten<br />

Sie die Änderungen nur auf den<br />

markierten Text anwenden, klicken<br />

Sie auf Aktuell ausgewählte<br />

Texte ändern. Um die Einstellungen<br />

auf das komplette Dokument<br />

anzuwenden, wählen Sie Alle Texte<br />

im Buch anpassen.<br />

Negativ fiel der relativ begrenzte<br />

Umfang an verfügbaren Schriften<br />

auf, der neben den Standards wie<br />

Verdana und Arial nur wenig zu<br />

bieten hat. Eine<br />

nachträgliche<br />

Installation von<br />

Fonts, wie dies<br />

die Software von<br />

Farbglanz erlaubt,<br />

kennt die<br />

Cewe-Anwendung<br />

nicht.<br />

Fazit<br />

Die Fotobuchsoftware<br />

von<br />

Cewe erweist<br />

sich wie bereits<br />

der Vorgänger als<br />

solide, weitgehend übersichtlich<br />

strukturiert und einfach zu bedienen.<br />

Bereits nach kurzer Einarbeitungszeit<br />

kommen auch Einsteiger<br />

problemlos mit dem Programm<br />

zurecht. Im direkten Vergleich<br />

mit der Software von Farbglanz,<br />

die wir in der letzten Ausgabe<br />

testeten, bietet die Cewe-<br />

Anwendung einige Vorteile – aber<br />

auch Nachteile. Auf der Habenseite<br />

verbucht Cewe das besser ausgestattete<br />

Bildbearbeitungsmodul,<br />

die automatische Rechtschreibkorrektur<br />

und die farbliche<br />

Umrandung der Schriften.<br />

Dagegen fehlen Transparenzen<br />

für Bilder oder das Verwenden<br />

nachträglich installierter Systemfonts.<br />

(tle) ■<br />

Mit der farblichen<br />

Umrandung lässt sich<br />

die Schrift vor allem<br />

über unruhigen Hintergründen<br />

deutlich<br />

besser lesen.


LINUX-MAGAZIN –<br />

das Magazin für den<br />

MAGAZIN<br />

• die Fachzeitschrift für Profis aus der IT-Branche<br />

• Know-How für Programmierer, Netzwerker und<br />

Manager sowie Systemintegratoren und Consultants<br />

• Hintergrundwissen zu Software, Hardware, Netzwerk,<br />

Administration und Entwicklung<br />

JETZT<br />

MIT DVD!<br />

Linux-Magazin MINI-ABO<br />

Lernen Sie das Linux-Magazin kennen!<br />

Lesen Sie 3 Ausgaben für nur 3 Euro!<br />

Jetzt MINI-ABO bestellen:<br />

www.linux-magazin.de/miniabo<br />

SONDERAKTION<br />

Testen Sie jetzt<br />

3 Ausgaben<br />

für 3 Euro!<br />

Linux-Magazin Studenten-Abo<br />

Profiwissen fürs Studium mit 20% Rabatt<br />

www.linux-magazin.de/studentenabo


professionellen Einsatz<br />

MAGAZIN<br />

ONLINE<br />

www.linux-magazin.de<br />

• ist das Internetportal<br />

von Europas renommiertester<br />

Linux-<br />

Zeitschrift.<br />

• informiert über<br />

Business-Aspekte<br />

rund um OpenSource<br />

• Profiwissen kompetent<br />

und wegweisend<br />

Linux-Magazin Newsletter<br />

Lesen Sie täglich Hintergrundwissen von und für<br />

professionelle Linux Anwender!<br />

Abonnieren Sie hier: www.linux-magazin.de/newsletter<br />

So können Sie das Linux-Magazin bestellen:<br />

• Telefon 089 / 2095 9127<br />

• Fax 089 / 2002 8115<br />

• E-Mail: abo@linux-magazin.de<br />

• Web: http://www.linux-magazin.de/abo<br />

• Shop: Shop.LinuxNewMedia.de<br />

Miniabo-Gewinnspiel: Outdoor IP-Kamera<br />

Infos unter: www.linux-magazin.de/miniabo<br />

ABOVORTEILE<br />

• Preisvorteil gegenüber Kioskkauf<br />

• kostenlose & sichere Zustellung<br />

• Zustellung vor dem offiziellen<br />

Verkaufstermin


NETZ&SYSTEM<br />

Lshw<br />

© Adamcl, sxc.hu<br />

Hardware-Informationen sammeln mit Lshw<br />

Durchleuchtet<br />

Was steckt unter der Haube des Computers? Mit Lshw enthüllen Sie dabei Details der PC-Hardware, die<br />

Sie in einigen Fällen noch nicht einmal in den Datenblättern der Hersteller finden. Karsten Günther<br />

README<br />

Welche Hardware befindet<br />

sich im Rechner?<br />

Die Antwort fällt oft<br />

nicht leicht, und je genauer<br />

die Informationen<br />

sein sollen, desto komplizierter<br />

gerät die Analyse.<br />

Mit Lshw haben<br />

Sie ein Werkzeug an der<br />

Hand, das Ihnen schnell<br />

und zuverlässig umfangreiche<br />

Daten über die<br />

Komponenten im System<br />

liefert.<br />

WICHTIGE OPTIONEN<br />

Option<br />

Beschreibung<br />

-html<br />

HTML-Ausgaben generieren<br />

-xml<br />

XML-Ausgaben generieren<br />

-short<br />

kurze Zusammenfassung erzeugen<br />

-businfo<br />

Bus-Information ausgeben<br />

-X grafische Oberfläche verwenden<br />

Aktionen<br />

-c, -C, -class Klasse Informationen zu Klasse zeigen<br />

-disable Test<br />

Test auslassen<br />

-enable Test<br />

Test vornehmen<br />

-quiet<br />

Statuszeile nicht anzeigen<br />

-sanitize<br />

sensible Informationen unterdrücken<br />

-numeric<br />

numerische IDs anzeigen<br />

Jede vom Kernel und seinen Modulen<br />

erkannte Hardware hinterlässt<br />

Spuren in den Log-Dateien<br />

oder den Pseudo-Dateisystemen<br />

/ proc und /sys. Das Zusammentragen<br />

der Informationen von<br />

Hand fällt recht aufwendig aus.<br />

Einige Distributionen versuchen<br />

daher mit verschiedenen Programmen<br />

und unterschiedlichem<br />

Erfolg, dem Anwender diese Arbeit<br />

abzunehmen. Lshw [1] erweist<br />

sich dagegen als ein Programm,<br />

das auf allen Plattformen<br />

gut funktioniert.<br />

Der Name der Software leitet<br />

sich von „List Hardware“ ab. Das<br />

Programm ermittelt Informationen<br />

zu Hardwarekomponenten<br />

wie CPU, Speichermodulen oder<br />

auch zu Geräten, die Sie an PCI-,<br />

USB- oder IDE-Schnittstellen angeschlossen<br />

haben (zum Beispiel<br />

Soundkarte, Grafikkarte oder externe<br />

Laufwerke). Das Tool arbeitet<br />

auf der Kommandozeile. Sie<br />

steuern es durch Optionen (Tabelle<br />

Wichtige Optionen).<br />

Die erste Gruppe von Optionen<br />

steuert das Ausgabeformat. Voreingestellt<br />

schreibt Lshw die Ausgaben<br />

als Klartext auf das Terminal<br />

(Listing 1). Das ist praktisch,<br />

wenn es darum geht, die Ausgaben<br />

zu archivieren oder automatisch<br />

zu bearbeiten – etwa um<br />

mittels Grep Zeilen herauszufiltern<br />

und weiterzuverarbeiten<br />

(lshw ... | grep size ...).<br />

Für ähnliche Anwendungen<br />

existiert die Option -xml, die ein<br />

vollständiges, wohlformatiertes<br />

76 02 | 11<br />

www.linux-user.de


Lshw<br />

NETZ&SYSTEM<br />

XML-Dokument erzeugt, das sich<br />

gut für das Archivieren in einer<br />

Datenbank eignet. Schöner und<br />

für Menschen besser zu lesen erscheinen<br />

die Ausgaben als HTML-<br />

Seite, wie sie die gleichnamige<br />

Option (kleingeschrieben: -html)<br />

erzeugt. Noch einen Schritt weiter<br />

geht -X, das eine grafische<br />

Oberfläche startet.<br />

Um nur eine kurze Übersicht<br />

statt der teilweise wirklich sehr<br />

detaillierten Informationen, wie<br />

Lshw sie voreingestellt ausgibt,<br />

zu erhalten, stehen die Optionen<br />

-businfo und -short für die Kommandozeile<br />

bereit.<br />

Ohne Root-Privilegien hat Lshw<br />

nur begrenzten Zugriff auf die<br />

Systeminformationen. Entsprechend<br />

schlanker fällt die Ausgabe<br />

aus, allerdings fehlen dann relevante<br />

Teile. Normalerweise sollten<br />

Sie Lshw daher als Root (sudo<br />

lshw) verwenden. Mit den entsprechenden<br />

Optionen passen Sie<br />

die Ausgabe an. Dazu nutzen Sie<br />

zum Beispiel Klassen (Tabelle<br />

Klassen) und Tests (Tabelle<br />

Tests).<br />

Sensible Informationen<br />

Mithilfe der Option -sanitize ersetzt<br />

Lshw sensible Informationen<br />

(wie Seriennummern und IP-<br />

Adressen) durch die Zeichenkette<br />

[REMOVED]. Das erweist sich besonders<br />

dann als sinnvoll, wenn Sie<br />

diese Informationen an Dritte<br />

weitergeben möchten, etwa bei<br />

Anfragen in Foren oder Ähnlichem.<br />

Die Option -quiet verhindert,<br />

dass Lshw auf dem Terminal<br />

anzeigt, welche Klasse die Software<br />

gerade testet.<br />

Ganz anders -numeric: Diese Option<br />

veranlasst die Ausgabe numerischer<br />

IDs für PCI, USB und<br />

andere Geräte. Die Ausgaben der<br />

einzelnen Klassen zeigt Lshw in<br />

einer Baumstruktur. Die Äste<br />

KLASSEN<br />

address Speicheradressen für Extension-ROM oder Videospeicher<br />

bridge<br />

PCI-to-PCI, AGP, PCMCIA<br />

bus<br />

nur Busse, ohne daran hängende Hardware<br />

communication serielle Ports, Modem<br />

disk<br />

Laufwerke (auch optische)<br />

display Grafikkomponenten (ohne Monitor)<br />

generic andere Komponenten<br />

input<br />

Tastaturen, Mäuse, Joysticks<br />

memory<br />

RAM, BIOS, Firmware<br />

multimedia Sound-, TV- und Video-Karten<br />

network Bluetooth, Ethernet, FDDI, WLAN<br />

power<br />

Stromversorgungen, Batterien<br />

printer Drucker, All-in-one-Geräte<br />

processor CPU, aber auch RAID-Controller<br />

storage SCSI- oder IDE-Controller<br />

system<br />

Art des Systems: Laptop, Desktop, Server oder „Computer“<br />

tape<br />

DAT/ DDS-Streamer<br />

volume<br />

Dateisysteme, Partitionen<br />

cpuid<br />

die ausgelesene CPU-ID<br />

cpuinfo<br />

Daten der CPU<br />

device-tree OpenFirmware Device Tree (PowerPC)<br />

dmi<br />

DMI/ SMBIOS-Erweiterungen<br />

ide<br />

klassische IDE- und ATAPI-Geräte<br />

isapnp<br />

ISA-PnP-Erweiterungen<br />

pci<br />

PCI- und AGP-Geräte<br />

pcmcia<br />

PCMCIA- und PC-Card-Erweiterungen<br />

memory<br />

Memory-Size-Heuristiken<br />

network<br />

Netzwerk-Interfaces<br />

scsi<br />

echte und simulierte SCSI-Geräte<br />

spd Serial Presence Detect [2]<br />

usb<br />

alle USB-Geräte<br />

TESTS<br />

# lshw<br />

...<br />

*-multimedia<br />

description: Audio device<br />

product: Azalia Audio Controller<br />

vendor: Silicon Integrated Systems [SiS]<br />

physical id: f<br />

bus info: pci@0000:00:0f.0<br />

version: 00<br />

width: 32 bits<br />

clock: 33MHz<br />

capabilities: pm bus_master cap_list<br />

configuration: driver=HDA Intel latency=0<br />

maxlatency=11 mingnt=52<br />

resources: irq:18 memory:d4200000-d4203fff<br />

...<br />

*-usb:1<br />

description: USB Controller<br />

product: USB 1.1 Controller<br />

vendor: Silicon Integrated Systems [SiS]<br />

physical id: 3.1<br />

bus info: pci@0000:00:03.1<br />

version: 0f<br />

width: 32 bits<br />

clock: 33MHz<br />

capabilities: bus_master<br />

configuration: driver=ohci_hcd latency=32<br />

maxlatency=80<br />

resources: irq:21 memory:d4205000-d4205fff<br />

*-usb:2<br />

description: USB Controller<br />

product: USB 2.0 Controller<br />

vendor: Silicon Integrated Systems [SiS]<br />

physical id: 3.3<br />

bus info: pci@0000:00:03.3<br />

version: 00<br />

width: 32 bits<br />

clock: 33MHz<br />

capabilities: pm debug bus_master cap_list<br />

configuration: driver=ehci_hcd latency=32<br />

maxlatency=80<br />

resources: irq:22 memory:d4206000-d4206fff<br />

...<br />

LISTING 1<br />

www.linux-user.de<br />

02 | 11 77


NETZ&SYSTEM<br />

Lshw<br />

Die grafische Oberfläche<br />

Lshw-gtk bietet<br />

einen einfacheren Zugriff<br />

auf den Baum der<br />

Informationen, der<br />

Software fehlen aber<br />

die nützlichen Optionen<br />

des Kommandozeilenwerkzeugs.<br />

(„nodes“) können dabei mit einem<br />

von vier möglichen Schlüsselwörtern<br />

gekennzeichnet sein:<br />

• CLAIMED – es gibt einen geeigneten<br />

Treiber und er ist geladen<br />

(oft zeigt Lshw direkt die entsprechenden<br />

Informationen).<br />

• UNCLAIMED – markiert Klassen,<br />

für die es (derzeit) keinen Treiber<br />

gibt.<br />

• ENABLED – kennzeichnet Klassen<br />

mit voll funktionsfähigen Treibern<br />

(oft zeigt Lshw direkt die<br />

entsprechenden Informationen).<br />

• DISABLE – erscheint, falls es mit<br />

dem Treiber ein Problem gibt.<br />

Für die Interpretation der Angaben<br />

gilt: Die Aussagen in den Bereichen<br />

size und capacity hängen<br />

von der jeweiligen Klasse ab. Sie<br />

unterscheiden sich danach, ob Sie<br />

eine CPU oder einen Speicher<br />

analysieren. Die Angabe serial bezieht<br />

sich auf die Seriennummern<br />

von Geräten wie Festplatten,<br />

Speicherriegel, Prozessoren oder<br />

Mainboards. Bei Netzwerkgeräten<br />

gibt sie die MAC-Adresse an,<br />

bei Partitionen die GUID.<br />

Logische Partitionen<br />

Festplatten mit mehreren logischen<br />

Partitionen erscheinen<br />

mehrfach: Einmal als logische<br />

Partition, einmal in der sie enthaltenen<br />

erweiterten Partition.<br />

Unter capabilities fasst Lshw die<br />

jeweils verfügbaren Features der<br />

Klassen zusammen. Für Lshw<br />

gibt es eine grafische Oberfläche:<br />

Lshw-gtk (Abbildung ). Sie starten<br />

diese zum einen direkt unter<br />

diesem Namen oder via Lshw mit<br />

der Option -X. Diese Ansicht spiegelt<br />

die Baumstruktur der von<br />

Lshw erhobenen Informationen<br />

wider. Diese erscheinen in bis zu<br />

drei Ebenen verschachtelt, ein<br />

Doppelklick öffnet die jeweils<br />

nächste Ebene. Das klappt nur bei<br />

Einträgen, für die Lshw durch<br />

Fettung das Vorhandensein von<br />

Untereinträgen signalisiert. Ganz<br />

rechts zeigt das Fenster die jeweiligen<br />

Daten an. Die grafische<br />

Oberfläche unterstützt nicht die<br />

Optionen der Befehlszeile, sodass<br />

hier geduldiges Suchen angesagt<br />

ist, wenn es darum geht, bestimmte<br />

Einträge zu finden.<br />

Einfaches Konzept<br />

Lshw erweist sich als ein nützliches<br />

Werkzeug, das durch ein<br />

wirklich einfaches Bedienkonzept<br />

überzeugt. Es zeigt überaus viele<br />

Informationen zu der im lokalen<br />

Rechner verbauten Hardware an<br />

und deckt dabei so manches auf,<br />

was die Hersteller weder im Datenblatt<br />

noch sonstwo dokumentierten.<br />

Natürlich bedarf es einiges<br />

Grundwissens über die Hardware,<br />

und auch Geduld sowie eine<br />

gute Internetverbindung schaden<br />

nicht, will man Wissenslücken<br />

füllen. Da erfreut, dass Lshw einiges<br />

Expertenwissen schon direkt<br />

mit in seine Ausgabe packt.<br />

Zunächst ist der Zugang über<br />

die grafische Oberfläche wohl am<br />

einfachsten, später und bei mehreren<br />

Rechnern stellt sich aber<br />

die Befehlszeilenvariante als sehr<br />

elegant heraus. Nach dem Einbau<br />

neuer Hardware erstellt ein Scan<br />

mit Lshw schnell einen neuen<br />

Eintrag für die persönliche Datenbank<br />

mit den Hardware-Informationen.<br />

Später, bei einem Defekt,<br />

mag es dafür zu spät sein.<br />

Datenqualität<br />

Bleibt nur noch ein Blick auf die<br />

von Lshw erzeugte Datenqualität:<br />

Das Programm zeigt natürlich<br />

nur das an, was die Hardware<br />

freiwillig preisgibt. Nicht immer<br />

fallen die Daten daher vollständig<br />

aus: So gibt eine im Testsystem<br />

verbaute ATI-Grafikkarte des<br />

Typs Radeon X1600 für den Standardausgang<br />

zwar die korrekte<br />

Produktbezeichnung, für den<br />

zweiten Port aber nur noch ATI<br />

Technologies Inc an. Hier heißt es<br />

also, die Ausgaben richtig zu interpretieren<br />

(sprich: begründet<br />

zu raten), um zu vernünftigen Ergebnissen<br />

zu kommen. (agr) ■<br />

INFO<br />

[1] Projektseite:<br />

http://ezix.org/project/wiki/HardwareLiSter<br />

[2] Serial Presence Detect: http://en.<br />

wikipedia.org/wiki/Serial_presence_detect<br />

78 02 | 11<br />

www.linux-user.de


ALLE AUSGABEN DES JAHRES 2010<br />

SIE HABEN EIN ADMIN VERPASST? KEIN PROBLEM!<br />

Bei uns können Sie alle Ausgaben des ADMIN Magazin<br />

aus dem Jahr 2010 ganz einfach und versandkostenfrei<br />

unter www.admin-magazin.de/einzelheft nachbestellen:<br />

ADMIN 01/2010 ADMIN 02/2010 ADMIN 03/2010<br />

Ausverkauft, aber<br />

als PDF verfügbar!<br />

ADMIN 04/2010 ADMIN 05/2010 ADMIN 06/2010<br />

Ausverkauft, aber<br />

als PDF verfügbar!<br />

Damit Sie keine Ausgabe mehr verpassen,<br />

bestellen Sie am besten gleich ein Abo<br />

vom ADMIN Magazin und sparen:<br />

Telefonisch unter: 089/2095 9127,<br />

per Fax 089/2002 8115 oder<br />

E-Mail: abo@admin-magazin.de,<br />

Web: www.admin-magazin.de/abo


Hardware<br />

Huawei E5<br />

Mit dem E5 offeriert<br />

der chinesische<br />

Anbieter<br />

Huawei einen kombinierten<br />

UMTS-WLAN-<br />

Router, der Sie von überall<br />

innerhalb von Sekunden ins<br />

Internet bringt. Erik Bärwaldt<br />

© Luke-sz, sxc.hu<br />

Huawei E5: WLAN, WWAN und Server im Handyformat<br />

Mobiler Hotspot<br />

readMe<br />

Mobile Linux-Anwender<br />

können jetzt mit dem<br />

Huawei E5 unterwegs<br />

im Handumdrehen einen<br />

WLAN-Hotspot mit<br />

schnellem HSPA-Zugang<br />

ins Internet aufbauen.<br />

Obendrein zeigt das Gerät<br />

durchgängig bessere<br />

Leistungsdaten als herkömmliche<br />

USB-Surfsticks<br />

und viele HSPA-<br />

Karten und lässt sich<br />

auch noch als Dateiserver<br />

nutzen.<br />

Welcher Road Warrior träumt<br />

nicht davon, mit seinem Notebook<br />

drahtlos überall im Internet<br />

zu surfen? Dazu benötigt man einen<br />

mobilen Hotspot mit UMTS-<br />

Anbindung, der vielleicht zusätzlich<br />

als Server dient und trotzdem<br />

kleiner ausfällt als die meisten<br />

Handys. Gibt’s nicht? Doch, der<br />

Huawei E5 [1] macht’s möglich.<br />

Das Design des E5 erinnert sowohl<br />

in der Form als auch der<br />

Größe an ein etwas geschrumpftes<br />

Smartphone (Abbildung A).<br />

Eine dezent silberfarbene Oberseite<br />

mit schwarz spiegelndem<br />

Display ergänzt den abgerundeten,<br />

weißen Gehäusekorpus. Die<br />

Bedienelemente fallen spartanisch<br />

aus: An der rechten Seite<br />

des E5 finden sich drei kleine Tasten<br />

mit spürbarem Druckpunkt.<br />

Eine dient zum Ein- und Ausschalten<br />

des Gerätes, die mittlere<br />

für den schnellen Verbindungsaufbau<br />

ohne Konfiguration von<br />

Sicherheitsparametern über das<br />

WPS-Protokoll und die dritte dem<br />

Abmelden im manuellen Modus.<br />

An der linken Seite befindet sich<br />

ein Kartenslot für eine MicroSD-<br />

Karte. Neben dem eigentlichen<br />

UMTS-WLAN-Router purzelten<br />

beim Auspacken ein USB-Kabel,<br />

ein Lithium-Polymer-Akku, ein<br />

weltweit einsetzbares Netzteil<br />

mit Eurostecker sowie eine rund<br />

30 Seiten umfassende Kurzanleitung<br />

in fehlerfreiem Deutsch aus<br />

dem Karton. Ein Hinweis auf die<br />

GNU General Public License in<br />

dem Handbuch lässt schon vermuten,<br />

was sich bei genauerem<br />

Hinsehen bestätigt: Im E5 versieht<br />

ein <strong>Embedded</strong> Linux als Betriebssystem<br />

den Dienst.<br />

Erster Kontakt<br />

Im Gegensatz zu vielen stationären<br />

UMTS-WLAN-Routern, die<br />

einen USB-Surfstick zum Betrieb<br />

benötigen, verfügt der Huawei<br />

über ein eingebautes UMTS-Modem<br />

und kommt daher ohne zusätzliche<br />

Hilfsmittel aus. Um den<br />

UMTS-WLAN-Router einsatzbereit<br />

zu machen, öffnen Sie zunächst<br />

das Gehäuse, indem Sie an<br />

der Oberseite des Gerätes eine<br />

kleine Taste gedrückt halten und<br />

gleichzeitig die Unter- von der<br />

Oberschale trennen. Dann schieben<br />

Sie in den mit einem Metallrahmen<br />

versehenen Kartenslot<br />

die SIM-Karte Ihres Providers.<br />

Nach dem Einlegen der Karte<br />

80 02 | 11<br />

www.linux-user.de


Huawei E5<br />

Hardware<br />

fixieren Sie den Akku darüber und<br />

verschließen das Gehäuse wieder.<br />

Den Akku laden Sie über den<br />

Mini-USB-Anschluss an der Unterseite<br />

des Routers auf. Betreiben<br />

Sie den E5 stationär, bietet es sich<br />

an, das mitgelieferte Netzteil mit<br />

dem Mini-USB-Stecker zu verbinden.<br />

Beim Mobileinsatz bezieht<br />

der Router die erforderliche Energie<br />

vorzugsweise über eine herkömmliche<br />

USB-Verbindung. Haben<br />

Sie den Router ausgeschaltet,<br />

lädt sich der Akku bei bestehendem<br />

Anschluss an ein eingeschaltetes<br />

Notebook oder das Netzteil<br />

automatisch. Im Akkubetrieb bietet<br />

das Gerät laut Hersteller bis zu<br />

4 Stunden Betriebszeit und maximal<br />

100 Stunden Standby. Diese<br />

Daten bestätigten sich im Test.<br />

Nach dem ersten Einschalten erscheinen<br />

auf dem hell leuchtenden<br />

LED-Display gut sichtbar einige<br />

Statusmeldungen. Neben<br />

dem gewählten Netz zeigt der E5<br />

die Signalstärke, den WWAN-Modus<br />

(2G für GPRS oder EDGE, 3G<br />

für UMTS oder HSPA), die Anzahl<br />

der aktiven WLAN-Clients, den<br />

gewählten Betriebsmodus des<br />

Routers (automatisch oder manuell),<br />

den Akkuzustand und – mit<br />

einem kleinen Globus – den Zugang<br />

ins Internet an.<br />

Der Router ermöglicht maximal<br />

fünf WLAN-Clients den Internet-<br />

Zugriff. Der E5 unterstützt dazu<br />

die Standards 802.11b und<br />

802.11g, was eine maximale Datenrate<br />

von 54 Mbit/ s ermöglicht.<br />

Auf der WWAN-Seite bietet der<br />

UMTS-WLAN-Router dank HSPA<br />

eine maximale Downlink-Geschwindigkeit<br />

von 7,2 Mbit/ s und<br />

eine Uplink-Transferrate von bis<br />

zu 5,76 Mbit/ s. Allerdings stehen<br />

entsprechende Verbindungen in<br />

Deutschland noch nicht flächendeckend<br />

zur Verfügung.<br />

Konfiguration<br />

Die Konfiguration des E5 nehmen<br />

Sie über ein Webinterface<br />

vor. Dazu geben Sie bei bestehender<br />

WLAN-Verbindung im Browser<br />

die Adresse http://192.168.1.1<br />

oder alternativ http://e5.home ein.<br />

So gelangen Sie umgehend auf die<br />

Startseite des Konfigurationsmenüs,<br />

wo Sie sich beim erstmaligen<br />

Anmelden mit dem Standardpasswort<br />

admin authentifizieren.<br />

Das aufgeräumt wirkende Interface<br />

gliedert sich in drei Bereiche:<br />

Die oben im Management-Portal<br />

befindliche Reiterleiste mit vier<br />

großen, horizontal angeordneten<br />

Reitern dient dem Aufruf der entsprechenden<br />

Menüs.<br />

Der rechts angeordnete Reiter<br />

Einstellungen ermöglicht das Einrichten<br />

eines Internet- und<br />

WLAN-Zugangs entweder mithilfe<br />

eines Assistenten oder manuell<br />

durch Anklicken der vertikal angeordneten<br />

Schaltflächen im linken<br />

Bereich des Fensters. Der<br />

links daneben befindliche Reiter<br />

microSD-Karte verzweigt in ein<br />

Menü, mit dessen Hilfe Sie Dateien<br />

verwalten und im Netz bereitstellen,<br />

die Sie auf einer in den<br />

Router eingeschobenen MicroSD-<br />

Karte abgespeichert haben.<br />

Der zweite Reiter von links erlaubt<br />

bis zu 250 SMS über das<br />

Web interface zu empfangen und<br />

zu versenden, während der ganz<br />

links angeordnete Reiter Verbindung<br />

den Status des Routers visualisiert.<br />

Diese Seite hilft bei Problemen<br />

im Netz, weil sie Verbindungsmängel<br />

sowohl im WLAN<br />

als auch im WWAN sofort aufzeigt<br />

(Abbildung , nächste Seite).<br />

Der Hauptbereich des Fensters<br />

bietet links Verzweigungen in Untermenüs<br />

an, während der größte<br />

Teil des Fensters den eigentlichen<br />

Einstelloptionen vorbehalten<br />

bleibt. In den Untermenüs tragen<br />

Sie kontextsensitiv Adressen und<br />

Ports ein, verwalten die Einstellungen<br />

zur SIM-Karte und konfigurieren<br />

die eingebaute Firewall<br />

sowie die Serverdienste.<br />

Zwar arbeitet die im E5 eingebaute<br />

Firewall als reiner Paketfilter<br />

anhand von IP- und MAC-Adressen<br />

und erlaubt keine Stateful<br />

Packet Inspection, doch fallen einige<br />

protokollabhängige Einstellungen<br />

ungewöhnlich detailliert<br />

aus. So erlaubt es die<br />

Software des Huawei-<br />

Gerätes, SIP-ALG-Einstellungen<br />

zu konfigu-<br />

rieren, die Sie zum Aufbau<br />

einer Voice-over-IP-<br />

Verbindung benötigen.<br />

Für Anwendungen, die<br />

fest definierte Ports verwenden,<br />

wie etwa Programme zum<br />

Aufbau von Videokonferenzen,<br />

steht im Huawei-Router eine eigene<br />

Konfigurationsseite bereit.<br />

Auch virtuelle Serverports aktivieren<br />

Sie problemlos, sodass der<br />

UMTS-WLAN-Router für unterschiedlichste<br />

Anwendungen im<br />

Client-Bereich vorbereitet ist.<br />

Weltweiter Einsatz<br />

Wer oft im Ausland einen Internet-Zugang<br />

benötigt, beschafft<br />

sich dazu aus Kostengründen in<br />

aller Regel am Zielort eine Prepaid-SIM-Karte<br />

eines lokalen Anbieters.<br />

Der Huawei E5 bietet hier<br />

eine Option, um unter schied liche<br />

Profile anzulegen. Da er verschiedene<br />

Netze unterstützt (Quad-<br />

Band für weltweites 2G, Dualband<br />

im 2100-MHz-Band des 3G-Segments),<br />

eignet sich die Hardware<br />

A Klein, leicht und<br />

elegant präsentiert<br />

sich der Huawei E5.<br />

UMTS-wLaN-rOUTer HUaweI e5 (TYP 5832)<br />

WLAN<br />

802.11b/ g (WEP, WPA-PSK, WPA2-PSK)<br />

WWAN GSM/ GPRS/ EDGE (850/ 900/ 1800/ 1900<br />

MHz), UMTS/ HSPA (2100 MHz)<br />

Uplink<br />

max. 5,76 Mbit/ s (HSUPA)<br />

Downlink<br />

max. 7,2 Mbit/ s (HSDPA)<br />

Funktionen<br />

Hotspot<br />

maximal fünf Clients<br />

Netzwerk<br />

Firewall, DHCP-Server, DNS-Relay, NAT<br />

Fileserver Zugriff vom WLAN auf die Daten einer<br />

optionalen MicroSD-Karte<br />

Betriebszeiten<br />

Akku<br />

3,3 Watt, 4,2 Volt, 1500 mAh<br />

(Lithium-Polymer)<br />

Standby 100 Stunden 1<br />

Betrieb 4 Stunden 1<br />

Extras<br />

MicroSD-Kartenslot (32 GByte)<br />

Anschlüsse Mini-USB<br />

Größe und Gewicht<br />

Größe<br />

95,5 x 48,6 x 13,7 Millimeter<br />

Gewicht<br />

90 Gramm<br />

Preis<br />

Preis<br />

ca. 110 Euro (Amazon)<br />

1<br />

Herstellerangabe<br />

www.linux-user.de<br />

02 | 11 81


Hardware<br />

Huawei E5<br />

Der webbasierte<br />

Manager zeigt alle<br />

wichtigen Infos zur<br />

Funktion des E5 an.<br />

Erstklassige und<br />

konstante Empfangsleistung<br />

– hier unter<br />

Mandriva 2010.1 – bietet<br />

der Huawei E5.<br />

für den Einsatz auf allen Kontinenten.<br />

Im Untermenü Verbindungsaufbau<br />

| Profilverwaltung legen<br />

Sie ein neues Profil an oder<br />

verwalten bestehende. So stellen<br />

Sie durch einfachen Wechsel der<br />

SIM-Karte und Aktivieren des<br />

passenden Profils die Funktion<br />

des E5 auch im Ausland sicher.<br />

Qualitätsmanagement<br />

Im Vergleich zu mehreren dedizierten<br />

UMTS-HSPA-Karten und<br />

USB-Surfsticks für den Einsatz<br />

mit dem Notebook zeigte der<br />

Huawei E5 im Test ein erfreulich<br />

konstantes Leistungsverhalten.<br />

So beeindruckte das Gerät mit<br />

gleichbleibend hohen Datenübertragungsraten<br />

ohne unmotivierte<br />

Verbindungsabbrüche, und das<br />

sowohl im EDGE- als auch im<br />

HSPA-Betriebsmodus.<br />

Die zum direkten Leistungsvergleich<br />

herangezogenen und im<br />

gleichen Netz betriebenen Option-Cardbus-Karten<br />

zeigten selbst<br />

mit einem angeschlossenen externen<br />

Rundstrahler keine nur annähernd<br />

so ausgeglichene Leistung<br />

beim Senden und Empfangen wie<br />

der Huawei E5. Zudem fielen die<br />

Ping-Zeiten bei dem kleinen<br />

UMTS-WLAN-Router deutlich<br />

besser aus als bei Cardbus-Karten<br />

und Sticks, sodass der E5 durchaus<br />

als ernst zu nehmende Alternative<br />

für handelsübliche USB-<br />

Surfsticks und UMTS-Karten in<br />

Betracht kommt (Abbildung ).<br />

Datenspeicher<br />

USB-Speichersticks haben sich als<br />

Medium für den Datenaustausch<br />

und das Backup fest etabliert.<br />

Mobile Anwender jedoch sind<br />

froh über jede Komponente, die<br />

sie nicht mit herumtragen müssen.<br />

Der Huawei E5 entlastet den<br />

Road Warrior von den kleinen<br />

Speichermedien, indem er durch<br />

den einfachen Einschub einer<br />

handelsüblichen MicroSD-Karte<br />

zum Flash-Speicher mutiert.<br />

Den MicroSD-Speicher nutzen Sie<br />

dann entweder lokal via USB oder<br />

rechnerübergreifend im WLAN.<br />

Dazu schieben Sie lediglich eine<br />

handelsübliche MicroSD-Karte in<br />

den Slot an der linken Seite des<br />

E5 und wählen anschließend im<br />

Kon fi gu ra tions menü des Routers<br />

den Reiter microSD-Karte an. Ein<br />

nachfolgender Klick auf die<br />

Schaltfläche SD-Karten-Einstellungen<br />

oben rechts im Fenster<br />

öffnet den Konfigurationsdialog.<br />

Hier legen Sie zunächst fest, ob<br />

Sie den Speicher über den Webbrowser<br />

für alle im Netz des<br />

Huawei-Gerätes befindlichen<br />

Computer freigegeben möchten<br />

oder ob Sie ausschließlich über die<br />

USB-Schnittstelle des Routers auf<br />

die Speicherkarte zugreifen wollen.<br />

Haben Sie die Freigabe des<br />

Speichers aktiviert, dürfen Sie im<br />

Falle mehrerer Partitionen auf der<br />

MicroSD-Karte den freizugebenden<br />

Bereich festlegen. Last, but<br />

not least müssen Sie noch definieren,<br />

ob die Anwender im Netz nur<br />

eine Leseberechtigung erhalten<br />

oder den Wechselspeicher auch beschreiben<br />

dürfen (Abbildung ).<br />

Die Software erlaubt nicht den<br />

simultanen Zugriff auf die Speicherkarte<br />

sowohl über eine lokale<br />

USB-Schnittstelle als auch mithilfe<br />

des Web-Managers. Ein weiteres<br />

Manko der Serverfunktion besteht<br />

in der mangelnden Flexibilität<br />

der Browserschnittstelle. So<br />

ist es nicht möglich, komplette<br />

Ordnerhierarchien in einem<br />

Rutsch zu kopieren, was die Funktionalität<br />

des E5 als Backup-Medium<br />

bei mehreren angeschlossenen<br />

Clients stark einschränkt.<br />

Das Löschen mehrerer Dateien<br />

vom Huawei E5 gestaltet sich per<br />

Webinterface eher umständlich:<br />

Nach dem Wechsel in den entsprechenden<br />

Ordner wählen Sie<br />

die zu löschenden Daten einzeln<br />

durch Setzen eines Häkchens vor<br />

INFO<br />

1] Huawei E5: http://www.huaweidevice.com/<br />

worldwide/productFeatures.do?pinfoId=<br />

2558&directoryId=2462&treeId=462<br />

82 02 | 11<br />

www.linux-user.de


Huawei E5<br />

Hardware<br />

jeder zu entfernenden Datei aus.<br />

Befinden sich einige hundert Dateien<br />

in einem Ordner, artet das<br />

schnell zu einer Geduldsprobe aus.<br />

Daher empfiehlt es sich bei großen<br />

zu sichernden und freizugebenden<br />

Datenbeständen, den<br />

Huawei E5 zunächst als lokalen<br />

Datenträger an der USB-Schnittstelle<br />

einzurichten, um dann ganze<br />

Verzeichnisbäume per Drag & Drop<br />

zu kopieren. Anschließend stehen<br />

diese Datenbestände nach Aktivieren<br />

der Freigabe allen angeschlossenen<br />

Rechnern zur Verfügung.<br />

Fazit<br />

Beim Huawei E5 stimmt fast alles:<br />

das einfache Bedienkonzept, die<br />

durchdachte Konfiguration, das<br />

solide Gehäuse und der nahezu<br />

perfekt auf den Einsatzbereich abgestimmte<br />

Funktionsumfang.<br />

Lediglich das etwas umständliche<br />

Interface des Dateiservers und die<br />

daraus resultierenden Einschränkungen<br />

beim Verwalten größerer<br />

Datenarchive fallen unangenehm<br />

auf. Mobilen Anwendern, die den<br />

Netzzugriff bislang mithilfe eines<br />

USB-Surfsticks oder einer Cardbus-UMTS-Karte<br />

realisiert haben,<br />

bietet der Huawei E5 zudem aufgrund<br />

seines ausgeglichenen Leistungsverhaltens<br />

eine ernsthafte<br />

Alternative. (agr) ■<br />

Auch die Betriebsmodi<br />

für die Speicherkarte<br />

legen Sie im<br />

Webmanager fest.<br />

7,90€<br />

100 Seiten Linux<br />

+ DVD<br />

Entdecken Sie die wunderbare Welt<br />

der Apps und Smartphones!<br />

Mit zahlreichen Gerätetests und<br />

Workshops zu Android und anderen<br />

mobilen Betriebssystemen.<br />

Jetzt bestellen:<br />

www.linuxuser.de/spezial<br />

Tel.: 089-9934110, Fax: 089-99341199, E-Mail: order@linuxnewmedia.de<br />

www.linux-user.de<br />

02 | 11 83


hardware<br />

Intel „Sandy Bridge“<br />

Intels neue<br />

Prozessorarchitektur „Sandy Bridge“<br />

Brücken<br />

aus Sand<br />

© Intel<br />

Obwohl die Entwicklung in der Computerbranche meist rasend schnell zu verlaufen scheint,<br />

haben Prozessorarchitekturen oft ein erstaunlich langes Leben. Mit „Sandy Bridge“ führt Intel<br />

nun nach rund zehn Jahren wieder einmal eine komplett neue ein. Daniel Kottmair<br />

readMe<br />

Intels neue Prozessorgeneration<br />

Sandy Bridge<br />

liefert überzeugende<br />

Leistung zum erschwinglichen<br />

Preis und hat<br />

dank neuer Befehle in<br />

Zukunft noch Leistungsspielraum<br />

nach oben.<br />

Glossar<br />

TDP: Thermal Design<br />

Power. Typischer Wert für<br />

die Verlustleistung eines<br />

Prozessors (oder anderer<br />

elektronischer Bauteile),<br />

auf dessen Grundlage<br />

die Kühlung des<br />

Sys tems ausgelegt wird.<br />

Bei „Sandy Bridge“ handelt es<br />

sich um Intels erste wirklich neue<br />

Prozessorarchitektur seit dem<br />

Pentium 4 vor zehn Jahren. Die<br />

CPUs der offiziell als „Core i7<br />

Second Generation“ bezeichneten<br />

Serie tragen deshalb auch vierstellige<br />

Typbezeichnungen statt der<br />

dreistelligen Modellnummern der<br />

bisherigen Prozessoren.<br />

Freilich erfand der Halbleitergigant<br />

für Sandy Bridge das Rad<br />

nicht neu, auf den 32-Nanometer-<br />

Chips finden sich auch bekannte<br />

und bewährte Techniken, teilweise<br />

auch in verbesserter Ausführung.<br />

Die „Brücke aus Sand“<br />

(sprich: Silizium) kommt nicht<br />

von ungefähr: Im CPU-Teil finden<br />

sich sowohl Techniken der Corei7-Generation<br />

als auch des P6-<br />

Nachfolgers „Netburst“. Daneben<br />

flossen auch Erfahrungen aus der<br />

von Intel ursprünglich als GPU<br />

geplanten und später als Numbercruncher<br />

umetikettierten<br />

„Larrabee“-Serie mit ihren zig<br />

Kernen in Intels neueste CPUs<br />

ein. All das verheiratet Intel mit<br />

der aktuellsten Ausführung seiner<br />

integrierten Chipsatzgrafik, die<br />

dem Hersteller zufolge zumindest<br />

dedizierte Einsteiger-Grafikkarten<br />

schlagen soll.<br />

Auf den ersten Blick (Abbildung<br />

) hat sich wenig geändert:<br />

Bis zu vier Kerne, 256 KByte L2-<br />

Cache pro Kern, Hyperthreading,<br />

integrierter Zweikanal-Speichercontroller<br />

und PCI-Express-Interface,<br />

8 MByte L3-Cache, 3.4 GHz<br />

Taktrate, 95 Watt TDP – das<br />

kennt man alles schon von der<br />

Vorgänger-Generation. Die wirklichen<br />

Neuerungen zeigen sich erst<br />

beim Blick unter die Haube.<br />

Neuerungen<br />

Die sicherlich größte Neuerung<br />

stellt das mit 256 Bit gegenüber<br />

den Vorgängern doppelt so breite<br />

Vektor-Register dar. Mit den neuen<br />

AVX-SIMD-Befehlen (siehe<br />

Kasten Advanced Vector Extensions)<br />

verrechnet man damit<br />

8 Fließkommazahlen doppelter<br />

Präzision oder 16 in einfacher<br />

Präzision in einem Rutsch. Das<br />

funktioniert, wie man es von anderen<br />

Architekturen (PA-RISC,<br />

Itanium, SPARC64, PowerPC) teils<br />

schon seit Jahrzehnten kennt,<br />

auch endlich nicht-destruktiv mit<br />

mehreren Operanden sowie Addition<br />

und Multiplikation in einem<br />

Befehl (FMA).<br />

Ebenfalls komplett neu ist ein<br />

schneller Ring-Bus, der den L3-<br />

Cache, die CPU-Kerne, die GPU<br />

und den „Uncore“-Bereich verbin-<br />

86 02 | 11<br />

www.linux-user.de


Intel „Sandy Bridge“<br />

hardware<br />

det. Letzterer bildet die Schnittstelle<br />

zum Rest des Systems. Diesen<br />

bereits im Larrabee erfolgreich<br />

erprobten Ansatz vergleicht<br />

Intel mit einem Paternoster, auf<br />

den die Daten auf- und an der<br />

richtigen Stelle wieder abspringen.<br />

Der Bus besteht eigentlich<br />

aus vier Ringen (Data, Request,<br />

Acknowledge, Snoop), die zusammen<br />

mit einem eigenen Protokoll<br />

auch die Cache-Kohärenz sicherstellen.<br />

Der Vorteil zum bisherigen<br />

Crossbar-Switch-Ansatz: Es<br />

lassen sich beliebig viele Stationen<br />

(sprich: CPU-Kerne) hinzufügen,<br />

ohne dafür den Ringbus anpassen<br />

zu müssen.<br />

Der „Trace Cache“ des Pentium 4<br />

erlebt in Sandy Bridge einen zweiten<br />

Frühling. Der neue Cache puffert<br />

als Micro-Ops (uOps) decodierte<br />

x86-Instruktionen. Das erhöht<br />

den Datendurchsatz und verbessert<br />

die Latenz, da wiederkehrende<br />

Befehle nun nicht mehr aus<br />

dem L1-Befehls-Cache geladen<br />

und erst decodiert werden müssen.<br />

Obendrein spart es Strom, da<br />

der Befehlsdecoder sich derweil<br />

schlafen legen kann. Intel nennt<br />

den neuen Trace-Cache L0, weil er<br />

quasi unter dem L1-Befehls-Cache<br />

sitzt (aber dennoch Teil von diesem<br />

ist). Bei einer Kapazität von<br />

1500 Micro-Ops findet sich laut<br />

Intel in 80 Prozent aller Fälle die<br />

Instruktion bereits decodiert im<br />

L0-Cache. Das ermöglicht einen<br />

besseren dauerhaften Durchsatz<br />

von 4 Micro-Ins truktionen pro<br />

Takt („4-issue“).<br />

Auch die Sprungvorhersage<br />

(Branch Prediction Unit, BPU)<br />

hat Intel verbessert. Moderne<br />

Prozessoren schauen per Lookahead-Buffer<br />

quasi in die Zukunft<br />

und versuchen, Sprungziele vorherzusagen.<br />

Verschätzt sich die<br />

CPU, muss sie die gesamte Pipeline<br />

mit bis zu 100 „In-Flight-<br />

In structions“ leeren, den Code für<br />

das korrekte Sprungziel neu laden<br />

und ausführen (eine sogenannte<br />

„Bubble“). Durch Verkürzen<br />

der Sprungvektoren auf die<br />

relative Entfernung statt der absoluten<br />

Speicherposition kann<br />

Sandy Bridge mehr Sprungadressen<br />

im Branch Target Buffer<br />

(BTB) vorhalten, da die meisten<br />

Schleifen relativ klein ausfallen.<br />

Mehr History-Bits ermöglichen,<br />

die Wahrscheinlichkeit eines<br />

Sprungs nun auch besser zu bestimmen,<br />

die Confidence-Bits<br />

können nun obendrein für mehrere<br />

Sprungadressen gelten.<br />

Neu arrangiert<br />

Per Reorder-Buffer (ROB) arrangiert<br />

der Prozessor Befehlsfolgen<br />

zur effizienteren Abarbeitung.<br />

Diesen hat Intel ebenfalls verbessert:<br />

Es gibt nun wie beim Pentium<br />

4 ein PRF (Physical Register<br />

File). Das erleichtert das Verwalten<br />

vieler Befehle, da nur Vektoren<br />

ins PRF geändert werden<br />

müssen, zudem benötigt auch<br />

Die neue Befehlserweiterung AVX kombiniert Ideen<br />

aus Intels LRBNI („Larrabee New Instructions“) und<br />

AMDs SSE5. Die 16 XMM-Register von SSE wurden<br />

in der Breite auf 256 Bit verdoppelt und heißen nun<br />

YMM; die SSE-Befehle nutzen nur die untere Hälfte<br />

der Register. Daneben macht eine Vielzahl von Instruktionen<br />

das nicht-destruktive Rechnen mit mehreren<br />

Operanden möglich, was Register-Befehle zum<br />

Sichern der Operanden einspart. Als dritte Neuerung<br />

muss die Anordnung der SIMD-Daten zur flüssigen<br />

Abarbeitung (Alignment) nun nicht mehr so strikt<br />

sein. Drei Byte große VEX-Präfixe signalisieren der<br />

CPU, dass es sich bei der folgenden Instruktion um<br />

ein AVX-Kommando handelt, und mit wie vielen und<br />

welchen Operanden der Befehl rechnet. Ähnlich wie<br />

bei AMD64 muss das Betriebssystem explizit AVX<br />

unterstützen, anderenfalls funktioniert der Prozessor<br />

wie eine herkömmliche CPU und kann AVX-Software<br />

AVX dieses Feature. Insider vermuten,<br />

dass Intel den ROB auch<br />

deswegen überarbeitet hat, um einen<br />

bekannten Hotspot besser<br />

über den Prozessorkern zu verteilen,<br />

was höheren Takt erlaubt.<br />

Nicht zuletzt hat Intel auch den<br />

Turbo-Modus für CPU und GPU<br />

modernisiert („Turbo 2.0“). Statt<br />

wie bisher einfach bei Erreichen<br />

der maximalen TDP herunterzutakten,<br />

orientiert sich der Modus<br />

nun auch an der tatsächlichen<br />

Temperatur. Intel vergleicht das<br />

mit einem Kessel Wasser, den<br />

man auf den Herd stellt: Auch bei<br />

voller Heizleistung kocht das<br />

Wasser erst nach einiger Zeit. Bis<br />

es so weit ist, übertaktet „Turbo<br />

2.0“ munter weiter und darf dabei<br />

sogar die TDP kurzzeitig überschreiten.<br />

Erst bei Erreichen der<br />

kritischen Temperatur taktet die<br />

Der Sandy Bridge-<br />

Die mit seinen einzelnen<br />

Komponenten.<br />

adVanCed VeCtor eXtensions<br />

nicht verarbeiten. Linux kann schon seit Kernel<br />

2.6.30 (Juni 2009) mit AVX umgehen, Windows ab<br />

Windows 7 respektive Windows Server 2008 SP1.<br />

AVX rechnet ausschließlich mit Fließkommazahlen<br />

und schließt gleichzeitige Integer-Operationen aus.<br />

Der Grund dafür: Statt das Fließkomma-Rechenwerk<br />

auf 256 Bit zu verbreitern, kombiniert Intel bei AVX<br />

die 128 Bit breite SIMD-Fließkomma-Unit mit den<br />

128 Bit der SIMD-Integer-Unit. Viele Programme setzen<br />

jedoch auch stark Ganzzahlen ein. Wo sie hohe<br />

Präzision und ellenlange Mantissen nicht brauchen,<br />

setzen Entwickler gerne auf schnelle Fixed-Point-<br />

Arithmetik über Integer, etwa beim beliebten H.264-<br />

Encoder x264. AMD agiert hier schlauer: Deren mit<br />

„Bulldozer“ kommende Befehlserweiterung XOP<br />

bleibt zwar in der Struktur weitgehend zu AVX befehlskompatibel,<br />

soll jedoch neben FMA4 auch<br />

eigene neue Integer-Instruktionen umfassen.<br />

www.linux-user.de<br />

02 | 11 87


hardware<br />

Intel „Sandy Bridge“<br />

Glossar<br />

OpenCL: Open Computing<br />

Language. Eine von<br />

AMD, Apple, IBM, Intel<br />

und Nvidia gemeinsam<br />

spezifizierte Programmierplattform,<br />

vorrangig<br />

für GPUs, aber auch für<br />

CPUs und DSPs, welche<br />

die Nutzung der Chips<br />

für rechenintensive Aufgaben<br />

ermöglicht.<br />

QPI: QuickPath Interconnect.<br />

Eine Punkt-zu-<br />

Punkt-Verbindung für die<br />

Kommunikation zwischen<br />

Prozessoren untereinander<br />

sowie zwischen<br />

Prozessoren und<br />

Chipsatz. Löste im<br />

Core i7 Intels Front-<br />

Side-Bus ab.<br />

CPU schrittweise herunter. Da<br />

sich in den meisten Programmen<br />

rechenintensiver und weniger anspruchsvoller<br />

Code abwechseln,<br />

funktioniert dieser Ansatz gut.<br />

Der Grafikkern residiert nun wie<br />

beim „Pinetrail“-Atom direkt auf<br />

dem Prozessor-Die. Dies ermöglicht<br />

eine engere Integration von<br />

GPU und CPU: So können etwa<br />

beide auf den L3-Cache (von Intel<br />

nur noch LLC, also „Last Level<br />

Cache“, genannt) zugreifen. Intel<br />

verspricht eine gegenüber dem<br />

Vorgänger GMA HD verdoppelte<br />

Leistung. Ärgerlicherweise hat Intel<br />

der neuen GPU keine OpenCL-<br />

Unterstützung spendiert, auch<br />

neue Shader-Features wie Tesselation<br />

(OpenGL 4.0 / DirectX 11)<br />

sucht man vergeblich. OpenGL<br />

2.1 und DirectX 10.1 bleiben das<br />

Höchste der Gefühle.<br />

Die integrierte Media-Engine<br />

überarbeitete Intel ebenfalls<br />

gründlich. Sandy Bridge kann<br />

zwar immer noch zwei H.264-<br />

Streams gleichzeitig decodieren,<br />

erledigt dies jedoch in der Media-<br />

Engine statt über die Shader des<br />

Grafikkerns. Das ist wesentlich<br />

energieeffizienter und lässt den<br />

Grafikkern für andere Aufgaben<br />

frei. Intel verspricht auch eine<br />

doppelt so hohe Encoding-Leistung<br />

wie zuvor, dies dann aber in<br />

Kombination mit dem Grafikkern.<br />

Zu guter Letzt wäre noch die<br />

Crypto-Engine AES-NI zu nennen,<br />

deren Leistung Intel in der<br />

Sandy-Bridge-Architektur deutlich<br />

verbessert haben will, insbesondere<br />

bei RSA und SHA-1.<br />

sandy-BridGe-Modelle<br />

Bezeichnung CPU-Takt (GHz)<br />

Basis/ Turbo<br />

Cores /<br />

Threads<br />

L3-Cache TDP erscheint Preis (US-<br />

Dollar)<br />

Core i7 2600K 3,4 / 3,8 4 / 8 8 MByte 95 W Januar 2011 317<br />

Core i7 2600 3,4 / 3,8 4 / 8 8 MByte 95 W Januar 2011 294<br />

Core i7 2600S 2,8 / 3,8 4 / 8 8 MByte 65 W Januar 2011 306<br />

Core i5 2500K 3,3 / 3,7 4 / 4 6 MByte 95 W Januar 2011 216<br />

Core i5 2500 3,3 / 3,7 4 / 4 6 MByte 95 W Januar 2011 205<br />

Core i5 2500S 2,7 / 3,7 4 / 4 6 MByte 65 W Januar 2011 216<br />

Core i5 2500T 2,3 / 3,3 4 / 4 6 MByte 45 W Januar 2011 216<br />

Core i5 2400 3,1 / 3,4 4 / 4 6 MByte 95 W Januar 2011 184<br />

Core i5 2400S 2,5 / 3,3 4 / 4 6 MByte 65 W Januar 2011 195<br />

Core i5 2300 2,8 / 3,1 4 / 4 6 MByte 95 W Januar 2011 177<br />

Core i5 2390T 2,7 / 3,5 2 / 4 3 MByte 35 W Februar 2011 195<br />

Core i3 2120 3,3 / – 2 / 4 3 MByte 65 W Februar 2011 138<br />

Core i3 2100 3,1 / – 2 / 4 3 MByte 65 W Februar 2011 117<br />

Core i3 2100T 2,5 / – 2 / 4 3 MByte 35 W Februar 2011 127<br />

Pentium G850 2,9 / – 2 / 2 3 MByte 65 W Q2/ 2011 86<br />

Pentium G840 2,8 / – 2 / 2 3 MByte 65 W Q2/ 2011 75<br />

Pentium G620 2,6 / – 2 / 2 3 MByte 65 W Q2/ 2011 64<br />

Pentium G620T 2,2 / – 2 / 2 3 MByte 35 W Februar 2011 70<br />

Sockel und Varianten<br />

Zusammen mit Sandy Bridge<br />

führt Intel nach LGA1366 (2008)<br />

und LGA1156 (2009) schon wieder<br />

einen neuen Sockel und Chipsatz<br />

ein: Der neue LGA1155 weist<br />

einen Pin weniger auf als sein<br />

Vorgänger, die zwei neuen Chipsätze<br />

H67 und P57 peilen einerseits<br />

den Einsteiger-Markt und<br />

andererseits den „Top-Midrange-<br />

Consumer“ an. Damit zeigt Intel<br />

dem Upgrade-Markt einmal mehr<br />

die kalte Schulter. Bei AMD kann<br />

man auch aktuellste Sechskern-<br />

Chips noch in AM2-Motherboards<br />

von 2006 stecken – ein passendes<br />

BIOS-Upgrade des Board-Herstellers<br />

vorausgesetzt.<br />

Die ersten Sandy-Bridge-CPUs<br />

gelten offiziell als Nachfolger der<br />

LGA1156-„Clarkdales“ und<br />

„Lynn fields“ (bis Core i7 8xx) im<br />

sogenannten Value-Segment. Den<br />

mit LGA1366 (Core i7 9xx) bedienten<br />

High-End-Consumer-Sektor<br />

will Intel erst 2012 mit der<br />

neuen Architektur beliefern. Mit<br />

dem Sandy Bridge EP (Dual-Socket)<br />

beziehungsweise EX (Quad-<br />

Socket) soll im zweiten Halbjahr<br />

2011 eine Server-Variante ohne<br />

Grafik mit bis zu acht Kernen und<br />

16 MByte L3-Cache erscheinen,<br />

ebenfalls mit neuem Sockel:<br />

LGA2011 bietet Platz für vier<br />

Speicherkanäle und zwei QPI-<br />

Links in Version 1.1.<br />

Intel bringt Sandy Bridge Anfang<br />

Januar in Core-i5- und -i7-<br />

Varianten heraus, Ende Februar<br />

kommen dann die Core i3 dazu,<br />

noch etwas später Billigvarianten<br />

unter dem Pentium-Label (siehe<br />

Tabelle Sandy-Bridge-Modelle).<br />

Die bisherige Unterscheidung behält<br />

Intel bei, inklusive Ausnahmen<br />

bei einigen Topmodellen:<br />

• Doppelkern mit Hyperthreading<br />

und wenig Cache, aber<br />

ohne Turbo beim i3,<br />

• Vierkern ohne Hyperthreading<br />

mit mehr Cache beim i5,<br />

• Vierkern mit Hyperthreading<br />

und maximalgroßem Cache<br />

beim Core i7. Dem Sandy-<br />

Bridge-Pentium fehlen sowohl<br />

Hyperthreading als auch der<br />

Turbo-Modus. Die für Übertaktungswillige<br />

gedachten, nur wenig<br />

teureren K-Varianten verfügen<br />

über einen frei einstellbaren<br />

Multiplikator. Die Preise (in<br />

10 000er-Stückzahlen) bewegen<br />

sich zwischen 64 US-Dollar für<br />

den günstigsten Pentium und<br />

317 Dollar für den Core i7<br />

2600K. Damit liegt selbst der<br />

teuerste Sandy Bridge preislich<br />

nur auf dem Niveau eines<br />

Core i7 870.<br />

Core-i7-Mobilvarianten von<br />

Sandy Bridge sollen noch im<br />

Januar ebenfalls erscheinen, im<br />

Februar folgen weitere sowie<br />

mobile Core i5. Der Basistakt<br />

reicht hier je nach Variante von 2<br />

bis 2,7 GHz, der Turbo-Takt von<br />

3 bis 3,5 GHz. Die TDP beträgt je<br />

info<br />

[1] Intel Linux Graphics Paket 2010Q3:<br />

http:// intellinuxgraphics. org/ 2010Q3. html<br />

88 02 | 11<br />

www.linux-user.de


Die Welt des perfekten Druckens<br />

hardware<br />

Intel „Sandy Bridge“<br />

TurboPrint 2<br />

for Linux<br />

Das ideale Linux Druckertreibersystem - noch nie war<br />

Drucken so einfach, komfortabel und hochwertig.<br />

B Das „Burrage“-Motherboard DP67BG<br />

bietet viele Erweiterungsmöglichkeiten und unterstützt Nvidia-/<br />

ATI-SLI-Grafik mit zwei mal acht Lanes.<br />

nach Modell 18 bis 55 Watt.<br />

Alle mobilen Sandy Bridges<br />

integrieren den HD-Graphics-<br />

200-Grafikkern mit 12 Shader-Units,<br />

650 MHz Basistakt<br />

und bis zu 1300 MHz Turbo.<br />

Von Intels HD Graphics gibt<br />

es bei den Desktop-Chips zwei<br />

Varianten: die Standardausführung<br />

Intel HD Graphics<br />

100 mit 6 Shader-Units und<br />

Intel HD Graphics 200 mit<br />

12 Shadern, die jedoch nur<br />

der Core i5 2500(K) und Core<br />

i7 2600(K) mitbringen. Der<br />

GPU-Basistakt liegt bis auf<br />

wenige Ausnahmen bei<br />

850 MHz, der Grafik-Turbo<br />

übertaktet in der Regel bis<br />

1100 MHz. Ausnahmen machen<br />

der Core i3 2500T (bis<br />

1250 MHz) und der<br />

Core i7 2600/ 2600K (bis<br />

1350 MHz).<br />

Sandy Bridge und Linux<br />

Wir testen den Core i7 2600K<br />

im High-End-Motherboard Intel<br />

DP67BG (Abbildung B) mit<br />

P57-Chipsatz sowie den Core<br />

i5 2500K im DH67BL (Abbildung<br />

C, nächste Seite). Beide<br />

Boards haben nun zwei USB-<br />

3.0-Ports an Bord, die Intel jedoch<br />

mittels des bekannten<br />

NEC-Chips integriert, USB-<br />

3.0-Unterstützung in den Intel-Chipsätzen<br />

gibt es also immer<br />

noch nicht. Beeindruckt<br />

waren wir, wie prob lemlos die<br />

neuen CPUs mit Linux funktionieren,<br />

selbst mit älteren<br />

Distribu tionsvarianten wie<br />

Ubuntu 9.04. Ein anderes Bild<br />

zeigt sich in Sachen Grafik:<br />

Obwohl es von Intel erste<br />

Treiber für den Grafikkern<br />

HD Graphics 100/ 200 im<br />

2010Q3 Linux Graphics Package<br />

[1] gibt, gelang es uns<br />

nicht, diese lauffähig zu kompilieren<br />

– wir sahen nach dem<br />

Installieren stets nur einen<br />

schwarzen Bildschirm mit<br />

Mauspfeil. Obwohl die aktuelle<br />

Beta von Ubuntu 11.04 bereits<br />

alle laut Intel für Sandy-<br />

Bridge-Grafik notwendigen<br />

Komponenten enthält, klappte<br />

dort keine 3D-Beschleunigung.<br />

Immerhin: glxinfo bescheinigt<br />

aktives Direct Rendering<br />

(DRI), auch der<br />

Samsung-Monitor wird korrekt<br />

erkannt und die native<br />

Auflösung eingestellt. In älteren<br />

Ubuntu-Versionen lässt<br />

sich die Intel-Grafik dagegen<br />

nur im VESA-Framebuffer-<br />

Modus mit einigen wenigen<br />

fixen Auflösungen zur Mitarbeit<br />

überreden.<br />

Die Leistungsfähigkeit der<br />

neuen integrierten Grafik, auf<br />

die Intel so stolz ist, lässt sich<br />

also unter Linux bisher noch<br />

nicht ermitteln. Im Lauf des<br />

ersten Quartals 2011 sollen<br />

die Treiber finalisiert den Weg<br />

in den offiziellen Kernel finden.<br />

Laut Planung soll Ubuntu<br />

11.04 den GMA HD 3000<br />

inklusive 3D bereits von Haus<br />

aus unterstützen – ob das bis<br />

zum Release auch klappt, ist<br />

jedoch noch nicht klar.<br />

Linux-Desktop mit TurboPrint Statusmonitor und Druckvorschau<br />

Jetzt 30 Tage kostenlos testen!<br />

Testversion auf www.turboprint.de<br />

Intelligente Treiber<br />

einfache Konfiguration über grafisches Menü<br />

Fotos und Dokumente in höchster Druckqualität<br />

präzises Farbmanagement für perfekte Farben<br />

Farbprofile für Spezial- und Fotopapiere<br />

Tintensparmodus: ca. 30% weniger Tintenverbrauch fast<br />

ohne Qualitätsverlust<br />

Drucker-Statusmonitor<br />

jederzeit Tintenstand und Druckerstatus<br />

Anzeige von Druckaufträgen und Fortschritt<br />

schnelle Diagnose bei Druckproblemen<br />

Miniprogramm für Schnellzugriff aus Kontrollleiste<br />

Mehr Möglichkeiten<br />

Druckvorschau, manueller Duplexdruck<br />

komfortables Drucken im Netzwerk<br />

variabler CD-Druck, randloser Fotodruck<br />

Druckertoolbox (Düsenreinigung, Ausrichtung, Tintenstand)<br />

Plugin für bequemen Druck aus GIMP<br />

TurboPrint Studio mit erweiterten Funktionen<br />

Farbeinmess-Service<br />

neue Farbräume und ICC-Profile einbinden<br />

CMYK-Proof ermöglicht farbverbindliche Drucke<br />

Preise im Online-Shop (incl. MwSt):<br />

TurboPrint Pro € 29,95<br />

TurboPrint Studio € 59,95<br />

Farbprofil-Einmessung € 14,95<br />

Über 400 Drucker sind unterstützt, z.B.<br />

Canon PIXMA iP, MP, MX, MG, Pro9000/9500, Epson Stylus BX, SX,<br />

Stylus Photo P, PX, R1900, R2880, HP PhotoSmart Pro, Z3100...<br />

Für alle gängigen Linux-Distributionen (x86 32/64bit CPU).<br />

net<br />

ZE<br />

DO<br />

www.turboprint.de<br />

02 | 11 89<br />

ZEDOnet GmbH - Meinrad-Spieß-Platz 2 - D-87660 Irsee - Tel. 08341/9083905


hardware<br />

Intel „Sandy Bridge“<br />

C Das DH67BL, Codename<br />

„Bearup Lake“,<br />

hat wenige Steckplätze,<br />

aber dafür<br />

einen Onboard-Grafikausgang<br />

für die<br />

inte grierte Sandy-<br />

Bridge-GPU.<br />

Leistung<br />

Der schnellste Sandy Bridge – der<br />

Core i7 2600K mit vier Kernen,<br />

Hyperthreading und 3,4 GHz –<br />

schlägt sogar einen Vierkern-Core<br />

i7 975 (LGA1366) mit 3,33 GHz<br />

um rund 12 Prozent. Lediglich der<br />

Sechskerner Core i7 980X mit<br />

3,33 GHz für 1000 Dollar kann<br />

sich noch gegen den 2600K behaupten,<br />

er bringt je nach Linux-<br />

Version noch 5 bis 8,5 Prozent<br />

mehr Leistung. Auch der Core i5<br />

2500K mit 3,3 GHz ohne Hyperthreading<br />

muss sich nicht verstecken:<br />

Er ist ingesamt nur unwesentlich<br />

langsamer als der Core i7<br />

975 (je nach Linux-Version 0 bis 4<br />

Prozent). Der Vergleich zum direkten<br />

Vorgänger, der günstigen<br />

LGA1156-Plattform, fällt noch<br />

vorteilhafter aus: Der 2600K ist je<br />

nach Linux-Version 15 bis 21 Prozent<br />

schneller als der Core i7 870.<br />

Um zu messen, wie viel Sandy<br />

Bridge Takt für Takt mehr bringt<br />

als der Vorgänger, deaktivieren<br />

wir den Turbo-Modus und takten<br />

den Core i7 2600K auf 2,9 GHz<br />

herunter. Dann vergleichen wir<br />

ihn mit einem Core i7 870 mit<br />

2,93 GHz und ebenfalls deaktiviertem<br />

Turbo. Das Sandy-Bridge-<br />

Ergebnis in LUbench liegt rund<br />

9,3 Prozent höher – bei Einzelanalyse<br />

der Tests zeigt sich, dass<br />

insbesondere unoptimierte Software<br />

zulegt. Das gut optimierte<br />

x264 und 7zip laufen nur 3,5 Prozent<br />

schneller, H.264-Replay via<br />

Mplayer nur 2,5 Prozent. Dagegen<br />

legen der Compilebench und<br />

Bzip2 stolze 23 Prozent zu. Lame-<br />

MP3-Encoding ist 14 Prozent<br />

schneller, der Rest der CPU-Tests<br />

liegt auf dem Sandy Bridge zwischen<br />

6 und 9 Prozent im Plus.<br />

Der größte Anteil der Mehrleistung<br />

beruht jedoch auf dem neuen<br />

Turbomodus. Insbesondere in<br />

Singlethread-Tests wie etwa bei<br />

OGG- und LAME-Encoding oder<br />

Bzip2-Kompression liegt der mit<br />

3,4 GHz getaktete 2600K um 23<br />

Prozent vor den mit 3,33 GHz<br />

ähnlich getakteten Core i7 975<br />

und Core i7 980X. Er ist auch 19<br />

Prozent schneller als der Core i7<br />

870 mit seinem aggressiveren<br />

Turbo-Modus. Der im Vergleich<br />

zum i7 870 deutlich höhere Basistakt<br />

hat bei einigen Multithreaded-Tests<br />

einen deutlichen Einfluss,<br />

wie etwa beim Raytracing<br />

(19 Prozent Plus). Dank der Verkleinerung<br />

der Strukturbreite auf<br />

32 Nanometer und neuen Stromsparmaßnahmen<br />

begnügt sich der<br />

Sandy Bridge trotz höherem Takt<br />

mit deutlich weniger Strom als<br />

die 45-Nanometer-Vorgänger.<br />

Beim Core i7 2600K messen wir<br />

zwischen Last und Leerlauf ein<br />

Delta von 77 Watt, beim 2500K<br />

sind es nur 75 Watt. Das liegt<br />

ungefähr auf dem Level des ebenfalls<br />

in 32 Nanometer gefertigten<br />

Sechskerners Core i7 980X<br />

(83 Watt). Dagegen verbrauchte<br />

der direkte Sandy-Bridge-Vorgänger<br />

Core i7 870 unter Last rund<br />

90 Watt mehr. Beim Vergleich<br />

zum Core i7 870 (45 Nanometer)<br />

zeigt sich, dass das Sandy-Bridge-<br />

System bei so weit wie möglich<br />

identischen Parametern im Leerlauf<br />

etwa 22 Watt weniger<br />

verbraucht, unter Last spart<br />

es sogar 33 Watt.<br />

Fazit<br />

Mit Sandy Bridge stellt Intel eine<br />

beeindruckende neue Architektur<br />

vor. Zahlreiche Verbesserungen<br />

erlauben höheren Takt, mehr<br />

Leistung und gleichzeitig niedrigeren<br />

Stromverbrauch, nebenbei<br />

belässt Intel die Preise im noch<br />

erschwinglichen Rahmen. Insbesondere<br />

die neuen Möglichkeiten<br />

von AVX versprechen viel Leistungs-Spielraum<br />

nach oben, sobald<br />

erst einmal angepasste Software<br />

herauskommt. AMDs später<br />

im Jahr erscheinende Konkurrenz<br />

„Bulldozer“ dürfte an Intels<br />

neuer Architektur ordentlich zu<br />

beißen haben. (dko) n<br />

CPU-BenChMarks (64 Bit)<br />

Modell Cores / Takt 1 Kompilieren<br />

(Files/ s)<br />

Encoding<br />

(Faktor / fp s)<br />

Kompression<br />

(MByte/ s)<br />

Raytracing<br />

(Pixel/ s)<br />

1080p-H.264-<br />

Replay (fps)<br />

LUbench-<br />

Wert 2<br />

Compilebench OGG MP3 x264 Bzip2 7zip Rar Povray Yafray Mplayer<br />

Core i7 980X 6 / 3,33 GHz+ 723 47,9x 22,4x 22,7 13,2 4,7 10,6 7590 7418 377 863<br />

Core i7 2600K 4 / 3,4 GHz+ 717 59,5x 27,6x 20,0 16,6 4,8 10,4 5669 6385 365 803<br />

Core i7 975 4 / 3,33 GHz+ 709 48,0x 22,3x 19,3 13,5 4,6 10,1 5178 5700 356 726<br />

Core i5 2500K 4 / 3,3 GHz+ 743 58,5x 27,0x 17,3 16,0 4,6 9,9 4423 5019 297 701<br />

Core i7 870 4 / 2,93 GHz+ 774 50,1x 22,6x 18,4 12,6 4,4 9,6 4767 5347 335 695<br />

Phenom II X6 6 / 3,2 GHz+ 746 44,0x 20,1x 17,5 11,8 3,9 7,2 4817 4250 276 618<br />

1090T<br />

Core i5 750 4 / 2,66 GHz+ 780 44,4x 20,2x 14,0 11,3 4,1 8,8 3195 3579 247 550<br />

Phenom II X4 4 / 3,5 GHz 756 44,0x 19,6x 14,3 11,7 4,1 7,1 3606 3506 243 546<br />

970BE<br />

Core i5 661 2 / 3,33 GHz+ 731 45,4x 21,6x 10,1 10,5 3,6 6,5 2553 3048 183 468<br />

größer = besser, Test unter Ubuntu 9.04 mit LUbench v2.1.1; 1 GHz+ bedeutet: mit Turbo; 2 addierte egalisierte Durchschnittswerte pro Disziplin * 100.<br />

90 02 | 11<br />

www.linux-user.de


elevant ■ verlässlich ■ kompetent<br />

■ Virtualisierung<br />

■ Monitoring<br />

■ Storage und<br />

Backup<br />

Technical Review<br />

Keine Zeit, um Berge von Datenmüll nach<br />

Info-Nuggets zu durchsieben?<br />

Dann lassen sie doch den Abraum liegen!<br />

Die Technical Review bietet Know-how pur.<br />

■ High Availability<br />

■ Groupware<br />

Ihre Inhalte sind<br />

- von ausgewiesenen Spezialisten geschrieben,<br />

- von einer kompetenten Fachredaktion ausgewählt,<br />

- von namhaften Experten mehrfach geprüft.<br />

■ Server Based<br />

Computing<br />

■ Spam<br />

■ Performance<br />

und Tuning<br />

Eine Quelle für alle Fälle.<br />

Wer weiß, was Wissen wert ist, muss nicht lange überlegen.<br />

Registrieren Sie sich gleich unter<br />

www.technicalreview.de<br />

Einen Probeartikel<br />

Ihrer Wahl gibt es gratis.<br />

■ Datenbanken<br />

Maxim Kazmin, 123RF<br />

■ Security<br />

■ Mobility<br />

■ Migration<br />

www.technicalreview.de


KNOW-HOW<br />

Readform/ ReadGUI<br />

Automatische Erkennung von Papierfragebögen<br />

Fragen über<br />

Fragen<br />

© Luis Santos, 123rf.com<br />

Wo elektronische Mittel zum Erfassen von Daten versagen, erlebt der gute alte<br />

Papierfragebogen ein Comeback. Readform hilft, ihn zu erstellen und die Ergebnisse<br />

anschließend komfortabel digital zu erfassen. Christian Faßhauer, Christian Wagenknecht<br />

ReadGUI 0.7.6 Alpha<br />

LU/readform/<br />

README<br />

Online-Befragungen erfreuen<br />

sich großer Beliebtheit.<br />

Da liegt es<br />

nahe, die traditionellen<br />

Fragebögen durch webbasierte<br />

Formen abzulösen.<br />

Wo das nicht<br />

klappt, bleibt nur die<br />

Papierform. Aber auch<br />

hier hilft Ihnen der PC<br />

bei der Analyse und<br />

beim Archivieren.<br />

Umfragen via Webinterface gehören<br />

heute zu den gängigen<br />

Werkzeugen beim Erheben von<br />

Daten. Aber nicht immer lässt<br />

sich dieses Verfahren praktizieren:<br />

Um zum Beispiel Patienten<br />

in Krankenhäusern zu befragen,<br />

eignet es sich nicht. Alter und Befindlichkeit<br />

vieler Patienten verhindert<br />

in der Regel das Ausfüllen<br />

eines elektronischen Fragebogens<br />

am Computer.<br />

Darüber hinaus gibt es weitere<br />

Gründe, etwa Sicherheitsaspekte,<br />

die bei bestimmten Anwendungen<br />

eine Papierform zumindest<br />

nahelegen oder gar erzwingen.<br />

Am Ende liegen die Ergebnisse<br />

erst einmal in Form eines Stapels<br />

mehr oder weniger sorgsam ausgefüllter<br />

Papierfragebögen vor.<br />

Daraus gilt es, möglichst automatisiert<br />

digitale Umfrageresultate<br />

für die Weiterbearbeitung zu erzeugen.<br />

Dafür braucht es einen<br />

maschinellen Erkennungsvorgang,<br />

der sich möglichst einfach<br />

handhaben lässt, aber gleichzeitig<br />

schnell und fehlerarm arbeitet.<br />

Papierumfrage plus PC<br />

Abbildung zeigt den organisatorischen<br />

Ablauf einer computergestützten<br />

Umfrage auf Papierbasis.<br />

Sie beginnt mit dem Gestalten<br />

eines Befragungsbogens in<br />

Form eines Textdokuments (1.).<br />

Darauf folgen der Ausdruck der<br />

Bögen (2.), das Ausfüllen durch<br />

die Befragten (3.) und das abschließende<br />

Einsammeln.<br />

Um die gewonnenen Daten zum<br />

Auswerten wieder in eine digitale<br />

Form zu überführen, stehen dabei<br />

grundsätzlich die folgenden<br />

Wege zum Ergebnis zur Auswahl:<br />

• Ein Sachbearbeiter gibt die Daten<br />

der ausgefüllten Seiten in<br />

den Computer ein (4.a),<br />

• man reicht die Bögen an einen<br />

Dienstleister weiter, der den<br />

Digitalisierungsprozess extern<br />

erledigt (4.b), oder<br />

• man extrahiert mithilfe einer<br />

geeigneten Software die Daten<br />

aus den eingescannten Papierfragebögen<br />

zur digitalen Weiterverarbeitung<br />

(4.c).<br />

Vom automatischen Ansatz geht<br />

ein besonderer Reiz aus, da er<br />

ohne zusätzliche Personalkosten<br />

selbst bei umfangreichen Befragungen<br />

schnelle und unabhängige<br />

Ergebnisse verspricht. Das automatische<br />

Auswerten wirft allerdings<br />

einige Fragen auf: Stammen<br />

die Papierfragebögen aus einer<br />

beliebigen Software (etwa einer<br />

Textverarbeitung), die aber über<br />

keine Funktion zum Auswerten<br />

verfügt, oder aus einer Anwendung,<br />

die sie sowohl generiert als<br />

auch analysiert?<br />

92 02 | 11<br />

www.linux-user.de


Readform/ ReadGUI<br />

KNOW-HOW<br />

Der schematische<br />

Ablauf einer papiergestützten<br />

Befragung.<br />

Die erste Form eignet sich insbesondere<br />

dann, wenn Sie schon<br />

eine Vielzahl von Fragebögen mit<br />

der gewohnten Software hergestellt<br />

haben und diese nun bereits<br />

vorliegen. Dann gilt es, dem Analyseprogramm<br />

für jeden Papierfragebogen<br />

die Koordinaten der<br />

jeweiligen Daten mitzuteilen. Dafür<br />

drucken Sie den Bogen aus,<br />

scannen ihn anschließend ein<br />

und öffnen das so erzeugte digitale<br />

Bild im Analyseprogramm.<br />

Dieses zeigt die Seite an, und Sie<br />

ziehen mit der Maus um alle Felder,<br />

die Sie einbeziehen möchten,<br />

einen Rahmen. Dazu zählen Eingabefelder<br />

für Kreuze und Text<br />

oder Barcodes für das automatische<br />

Zuordnen des Papierfragebogens.<br />

Darüber hinaus bestimmen<br />

Sie in diesem Arbeitsschritt die<br />

Bedeutungen der Felder (Abbildung<br />

). Je nach Leistungsfähigkeit<br />

der Software erkennt diese<br />

Texte und Zahlen aus den Eingabefeldern<br />

und verarbeitet die<br />

Werte gleich weiter. Alternativ<br />

stellen viele Programme diese Informationen<br />

als Bild bereit.<br />

Zu den typischen Vertretern der<br />

Erkennungssysteme zählt beispielsweise<br />

das QueXF-Projekt [1]<br />

in Kombination mit QueXML [2].<br />

QueXML generiert die Papierfragebögen<br />

mithilfe einer XSL-FO-<br />

Transformation. Die ausgefüllten<br />

Bögen lesen Sie später mit QueXF<br />

wieder ein. Das Erstellungsmodul<br />

ermöglicht dabei den Einsatz von<br />

Balkencodes. Darüber hinaus<br />

stellt dieser Workflow sicher,<br />

dass nur<br />

Fragebogenkomponenten<br />

zum Einsatz kommen,<br />

die QueXF<br />

später erkennt.<br />

Für dieses Erkennen<br />

ist es notwendig,<br />

die ausgefüllten Felder<br />

manuell mit QueXF<br />

zu markieren. Das erschwert<br />

das Bedienen<br />

ganz außerordentlich.<br />

Scan-Schablonen<br />

Derartige Nachteile beseitigt der<br />

zweite Ansatz: Das mühsame Erstellen<br />

einer Scan-Schablone entfällt<br />

bei Architekturen mit integriertem<br />

Erkennungssystem. Solche<br />

Anwendungen verzahnen den<br />

Fragebogengenerator so eng mit<br />

dem Analyseprogramm, dass beide<br />

Programmteile mit dem gleichen<br />

Layout arbeiten. Zum Erstellen<br />

eines Fragebogens stehen eine<br />

Reihe von Komponenten bereit –<br />

etwa Ankreuzfelder, Textfelder<br />

oder Beschreibungstexte-- aus denen<br />

Sie die gewünschten Bausteine<br />

zusammensetzen.<br />

Ihre Aufgabe besteht darin, die<br />

Elemente zu positionieren, zu beschriften<br />

und zum Schluss auszudrucken.<br />

Gleichzeitig erhält die<br />

Software so alle Angaben, die sie<br />

für die Analyse braucht, denn die<br />

Koordinaten von Text- oder Ankreuzfeldern<br />

stehen für den Seitendruck<br />

ebenso bereit wie für<br />

das Erkennen der<br />

Seite.<br />

Alternative Readform<br />

Das System Readform zum Erstellen<br />

und Auswerten von Papierumfragen<br />

entstand an der<br />

Hochschule Zittau/ Görlitz im<br />

Rahmen des Risikous-Projekts<br />

[3]. Es gehört zu den automatischen<br />

Fragebogensystemen. Mit<br />

der grafischen Oberfläche Read-<br />

GUI stehen darüber hinaus ein<br />

Fragebogeneditor und der Scannerzugriff<br />

unter Linux und Windows<br />

bereit. Das Projekt steht unter<br />

der GPLv2.<br />

Sie finden die Software auf der<br />

Projektseite [4] sowie auf der<br />

Heft-DVD. Das System bildet den<br />

in Abbildung gezeigten Umfrageablauf<br />

vom Erstellen der Fragen<br />

bis hin zum Auswerten softwareseitig<br />

vollständig ab. Dabei bettet<br />

das Programm in jeden Papierfragebogen<br />

Elemente ein,<br />

Mithilfe der Maus<br />

markieren Sie die gewünschten<br />

Felder, die<br />

in die Analyse der Fragebögen<br />

einfließen<br />

sollen.<br />

www.linux-user.de<br />

02 | 11 93


KNOW-HOW<br />

Readform/ ReadGUI<br />

Eine XML-Struktur<br />

bestimmt den Aufbau<br />

eines Fragebogens.<br />

Abschließend erzeugt Readform<br />

aus den Layout- und Fragebogendaten<br />

ein PDF (Abbildung ). Die<br />

PDF-Engine liest dabei beide Dokumente<br />

ein und wendet die Layout-Regeln<br />

auf die Beschreibung<br />

des Fragebogens an.<br />

Über eine Transformation<br />

entsteht<br />

aus den XML-Daten<br />

des Fragebogens das<br />

fertige Layout.<br />

die eine automatische Identifikation<br />

nach den dargestellten Gesichtspunkten<br />

ermöglicht. Für die<br />

Produktion der PDFs kam das<br />

Haru-PDF-Projekt [5] zum Einsatz.<br />

Aufbau<br />

Ein Fragebogen entsteht durch<br />

Komposition vorgefertigter Bausteine<br />

verschiedenen Typs, wie<br />

Eingabe- oder Mehrfach-Auswahlfeld.<br />

Moderne Content-Management-Systeme<br />

haben es vorgemacht:<br />

Sie trennen Inhalt und<br />

Layout. Gleiches gilt für das Erstellen<br />

des Fragebogens: Das<br />

„Was“ (Inhalt) und das „Wie“ (Darstellung)<br />

liegen hier in zwei verschiedenen<br />

XML-Formaten und<br />

ergänzen sich: Das Layout-Format<br />

beschreibt die Bausteine mittels<br />

elementarer Eigenschaften, wie<br />

etwa der optischen<br />

Merkmale. Der Inhalt<br />

des Fragebogens landet<br />

in einem separaten Dokument,<br />

das auf die Bausteine<br />

aus dem Layout<br />

Bezug nimmt.<br />

Abbildung zeigt einen<br />

Papierfragebogen<br />

und dessen XML-Beschreibung.<br />

Das Layout<br />

stellt Bausteine, wie<br />

block, question oder radio.<br />

value samt Formatierung<br />

zur Verfügung: block ist<br />

mit einem Rahmen versehen,<br />

radio.value bietet<br />

Antwortmöglichkeiten.<br />

Diese Bausteine tauchen<br />

dann im fertigen Fragebogen<br />

auf und erhalten<br />

dort zusätzlich einen beschreibenden<br />

Text, wie<br />

zum Beispiel „Kürzliche<br />

Erkrankungen“.<br />

Analyse<br />

Nach der Umfrage liegt ein Stapel<br />

ausgefüllter Papierfragebögen<br />

zum Erfassen bereit. Dabei passiert<br />

es in der Praxis, dass die Reihenfolge<br />

der Seiten bei mehrseitigen<br />

Umfragen nach dem Ausfüllen<br />

eventuell durcheinandergerät.<br />

Vielleicht sind zudem Blätter einer<br />

ganz anderen Umfrage dazwischengerutscht.<br />

Für den Umgang mit derart erschwerten<br />

Bedingungen haben<br />

die Entwickler einen Identifizierungscode<br />

(ähnlich einem Barcode)<br />

und ein Justierungssystem<br />

in die Software integriert. Beides<br />

macht die Software robuster und<br />

ermöglicht es zum Beispiel, auf<br />

dem Kopf stehende Seiten zu erkennen<br />

und einzelne Papierbögen<br />

richtig zuzuordnen.<br />

Die dafür notwendigen Informationen<br />

stehen in Form zweier kleiner<br />

Kreise und eines Codeblocks<br />

auf den Seiten. Abbildung zeigt<br />

links oben einen solchen Justierungskreis<br />

mit Code. Ein ID-Code<br />

enthält dabei drei Angaben für<br />

das Zuordnen der Seite zu einer<br />

Befragung:<br />

• die Seitennummer (zum Beispiel<br />

3, wenn die Umfrage 5 Seiten<br />

umfasst),<br />

• eine Umfragenummer (zum<br />

Beispiel 321, wenn 500 Mitarbeiter<br />

an der Umfrage teilnehmen),<br />

und<br />

• eine Befragungsnummer (zum<br />

Beispiel 2, wenn die erste Um-<br />

INFO<br />

[1] QueXF:<br />

http://quexf.sourceforge.net/node/1<br />

[2] QueXML: http://quexml.sourceforge.net/<br />

[3] Risikous: http://www.risikous.de<br />

[4] Readform-Projekt http://readform.chrfa.de<br />

[5] Haru Free PDF Library:<br />

http://libharu.sourceforge.net<br />

94 02 | 11<br />

www.linux-user.de


Readform/ ReadGUI<br />

KNOW-HOW<br />

frage bei den Managern stattfindet<br />

und eine zweite bei den<br />

Angestellten).<br />

Dieses System greift auch dann,<br />

wenn Sie die Seiten von Umfragen<br />

beliebig vermischt einscannen.<br />

Durch die eindeutige ID jeder<br />

Seite ordnet die Software die<br />

Bögen stets richtig zu.<br />

Mittels eines Editors<br />

erstellen Sie komfortabel<br />

via Mausklick einen<br />

Fragebogen inklusive<br />

automatischer Merkmale<br />

zum Einlesen.<br />

ReadGUI<br />

Mit ReadGUI gestaltete sich der<br />

Zugriff auf die Funktionen sehr<br />

komfortabel. Sie erreichen über<br />

die Oberfläche den Editor und<br />

das Druckmodul. Die GUI dient<br />

aber auch zum Erfassen der Bögen<br />

und zum Auswerten. Als Erstes<br />

vergeben Sie für das Projekt<br />

einen Namen sowie eine Nummer.<br />

Dann platzieren Sie im Editor<br />

(Abbildung ) die Elemente<br />

aus dem Komponentenmenü<br />

rechts im Hauptbereich. Über einen<br />

Doppelklick bearbeiten Sie<br />

Teile; mit einem einfachen Klick<br />

markieren Sie ein Element, dass<br />

sich in der Folge gelb einfärbt. Einem<br />

markierten Element lassen<br />

sich weitere unterordnen.<br />

Nach dem Fertigstellen der Umfrage<br />

wandeln Sie diese mittels<br />

Fragebogendruck in ein PDF um<br />

und drucken das Ergebnis aus.<br />

Die Angabe der Exemplaranzahl<br />

bestimmt, wie viele Papierfragebögen<br />

aus dem Gerät kommen.<br />

Jedem Exemplar gibt die Software<br />

dann eine Umfragenummer.<br />

Durch Verändern der Startnummer<br />

fertigen Sie für eine bereits<br />

laufende Befragung weitere Fragebögen<br />

an. Der Einsatz eines Kopierers<br />

scheidet aus.<br />

Über Bogenerfassung analysieren<br />

Sie die ausgefüllten Papierfragebögen.<br />

Nach der Wahl des Scanners<br />

und der Auflösung (300 dpi<br />

empfohlen) schieben Sie den<br />

Scanvorgang via Starten an. Die<br />

digitalisierten Fragebögen landen<br />

in dem unter Zielordner angegebenen<br />

Verzeichnis.<br />

Abschließend visualisiert Auswertung<br />

(Abbildung ) das Ergebnis<br />

der Umfrage<br />

in Form<br />

von Balkendiagrammen. Für Texteingaben<br />

zeigt das Programm das<br />

eingescannte Bild des passenden<br />

Elements an.<br />

ReadGUI verwendet vorgegebene<br />

Baustein-Layouts, die Sie im<br />

Editor bei Bedarf an individuelle<br />

Anforderungen anpassen (Bearbeiten<br />

| Layout Editor). Außerdem<br />

zeigt dieser auf Wunsch die XML-<br />

Notation des aktuellen Layouts<br />

an und erlaubt das direkte Bearbeiten<br />

der Struktur. Das detaillierte<br />

Handbuch [4] hilft bei fast<br />

allen Problemen weiter.<br />

Fazit<br />

Das hier vorgestellte System zeigt<br />

einen Realisierungsansatz zum<br />

Erstellen, Auswerten und Verwalten<br />

von Papierumfragen.<br />

Als<br />

Voraussetzungen für den Systemeinsatz<br />

benötigen Sie lediglich einen<br />

Linux-Rechner (oder einen<br />

Windows-PC), einen Scanner, einen<br />

Drucker und Kopierpapier.<br />

Bei dem System handelt es sich<br />

derzeit noch um einen Prototyp,<br />

der zwar schon gut funktioniert,<br />

aber noch Raum für verschiedene<br />

Erweiterungen oder Verfeinerungen<br />

bietet. So fehlt beispielsweise<br />

ein Datenexport in etablierte Formate<br />

wie SPSS. Ein digitale Texterfassung<br />

(OCR) würde das System<br />

ebenfalls gut ergänzen und<br />

zudem neue Möglichkeiten erschließen.<br />

(agr) ■<br />

Aus den analysierten<br />

Daten der Fragebögen<br />

erstellt ReadGUI<br />

Balkendiagramme.<br />

www.linux-user.de<br />

02 | 11 95


servIce<br />

IT-Profimarkt<br />

PROFI<br />

MARKT<br />

Sie fragen sich, wo Sie maßgeschneiderte<br />

Linux-Systeme sowie kompetente Ansprechpartner<br />

zu Open-Source-Themen<br />

finden? Der IT-Profimarkt weist Ihnen<br />

hier als zuverlässiges Nachschlagewerk<br />

den Weg. Die im Folgenden gelisteten<br />

Unternehmen beschäftigen Experten auf<br />

ihrem Gebiet und bieten hochwertige<br />

Produkte und Leistungen.<br />

Die exakten Angebote jeder Firma entnehmen<br />

Sie deren Homepage. Der ersten Orientierung<br />

dienen die Kategorien Hardware,<br />

Software, Seminaranbieter, Systemhaus,<br />

Netzwerk/TK sowie Schulung/Beratung.<br />

Der IT-Profimarkt-Eintrag ist ein<br />

Service von Linux-Magazin und <strong>LinuxUser</strong>.<br />

Online-Suche<br />

Besonders bequem finden Sie einen Linux-<br />

Anbieter in Ihrer Nähe über die neue Online-Umkreis-Suche<br />

unter: [http://www.itprofimarkt.de]<br />

Weitere Informationen:<br />

Linux New Media AG<br />

Anzeigenabteilung<br />

Putzbrunner Str. 71<br />

D-81739 München<br />

Tel: +49 (0) 89 / 99 34 11-23<br />

Fax: +49 (0) 89 / 99 34 11-99<br />

E-Mail: anzeigen@linux-user.de<br />

IT-ProFImArkT (LIsTe sorTIerT nAch PosTLeITzAhL)<br />

Firma Anschrift Telefon Web 1 2 3 4 5 6<br />

Schlittermann internet & unix support 01099 Dresden, Tannenstr. 2 0351-802998-1 www.schlittermann.de 3 3 3 3<br />

imunixx GmbH UNIX consultants 01468 Moritzburg, Heinrich-Heine-Str. 4 0351-83975-0 www.imunixx.de 3 3 3 3 3<br />

future Training & Consulting GmbH Leipzig 04315 Leipzig, Kohlgartenstraße 15 0341-6804100 www.futuretrainings.com 3<br />

future Training & Consulting GmbH Halle 06116 Halle (Saale), Fiete-Schulze-Str. 13 0345-56418-20 www.futuretrainings.com 3<br />

future Training & Consulting GmbH Chemnitz 09111 Chemnitz, Bahnhofstraße 5 0371-6957730 www.futuretrainings.com 3<br />

TUXMAN Linux Fan-Shop 10367 Berlin, Möllendorffstr. 44 030-97609773 www.tuxman.de 3 3 3 3 3<br />

Hostserver GmbH 10405 Berlin, Winsttraße 70 030 47 37 55 50 www.hostserver.de 3<br />

Compaso GmbH 10439 Berlin, Driesener Strasse 23 030-3269330 www.compaso.de 3 3 3 3 3<br />

Linux Information Systems AG Berlin 12161 Berlin, Bundesallee 93 030-818686-03 www.linux-ag.com 3 3 3 3 3<br />

elego Software Solutions GmbH 13355 Berlin, Gustav-Meyer-Allee 25 030-2345869-6 www.elegosoft.com 3 3 3 3<br />

future Training & Consulting GmbH Berlin 13629 Berlin, Wernerwerkdamm 5 030-34358899 www.futuretrainings.com 3<br />

verion GmbH 16244 Altenhof, Unter den Buchen 22 e 033363-4610-0 www.verion.de 3 3 3<br />

i.based: Systemhaus GmbH & Co.KG 18439 Stralsund, Langenstr. 38 03831-2894411 www.ibased.de 3 3 3 3 3<br />

Logic Way GmbH 19061 Schwerin, Hagenower Str. 73 0385-39934-48 www.logicway.de 3 3 3 3<br />

Sybuca GmbH 20459 Hamburg, Herrengraben 25 040-27863190 www.sybuca.de 3 3 3 3 3<br />

iTechnology GmbH c/ o C:1 Solutions GmbH 22083 Hamburg, Osterbekstr. 90 c 040-52388-0 www.itechnology.de 3 3 3 3<br />

UDS-Linux - Schulung, Beratung, Entwicklung 22087 Hamburg, Lübecker Str. 1 040-45017123 www.uds-linux.de 3 3 3 3 3 3<br />

Comparat Software-Entwicklungs- GmbH 23558 Lübeck, Prießstr. 16 0451-479566-0 www.comparat.de 3 3<br />

future Training & Consulting GmbH Wismar 23966 Wismar, Lübsche Straße 22 03841-222851 www.futuretrainings.com 3<br />

Dr. Plöger & Kollegen secom consulting GmbH &<br />

Co. KG<br />

24105 Kiel, Waitzstr. 3 0431-66849700 www.secom-consulting.de 3 3 3 3 3<br />

talicom GmbH 30169 Hannover, Calenberger Esplanade 3 0511-123599-0 www.talicom.de 3 3 3 3 3<br />

futureTraining & Consulting GmbH Hannover 30451 Hannover, Fössestr. 77 a 0511-70034616 www.futuretrainings.com 3<br />

Servicebüro des grafischen Gewerbes 31789 Hameln, Talstraße 61 05151-774800 www.service4graphic-trade.com 3<br />

teuto.net Netzdienste GmbH 33602 Bielefeld, Niedenstr. 26 0521-96686-0 www.teuto.net 3 3 3 3 3<br />

MarcanT GmbH 33602 Bielefeld, Ravensberger Str. 10 G 0521-95945-0 www.marcant.net 3 3 3 3 3 3<br />

Hostserver GmbH 35037 Marburg, Biegenstr. 20 06421-175175-0 www.hostserver.de 3<br />

OpenIT GmbH 40599 Düsseldorf, In der Steele 33a-41 0211-239577-0 www.OpenIT.de 3 3 3 3 3<br />

1 = hardware 2 = netzwerk/Tk 3 = systemhaus 4 = seminaranbieter 5 = software 6 = schulung/Beratung (s. 96)<br />

98 02 | 11<br />

www.linux-user.de


IT-Profimarkt<br />

servIce<br />

IT-ProFImArkT<br />

Firma Anschrift Telefon Web 1 2 3 4 5 6<br />

UD Media GmbH 41460 Neuss, Schwannstraße 1 01805-880-900 www.udmedia.de 3 3<br />

Linux-Systeme GmbH 45277 Essen, Langenbergerstr. 179 0201-298830 www.linux-systeme.de 3 3 3 3 3<br />

Linuxhotel GmbH 45279 Essen, Antonienallee 1 0201-8536-600 www.linuxhotel.de 3<br />

Herstell 45888 Gelsenkirchen, Wildenbruchstr. 18 017620947146 www.herstell.info 3 3 3 3<br />

OpenSource Training Ralf Spenneberg 48565 Steinfurt, Am Bahnhof 3-5 02552-638755 www.opensource-training.de 3<br />

Intevation GmbH 49074 Osnabrück, Neuer Graben 17 0541-33508-30 osnabrueck.intevation.de 3 3 3 3<br />

LWsystems GmbH & Co. KG 49186 Bad Iburg, Tegelerweg 11 05403-5556 www.lw-systems.de 3 3 3 3 3 3<br />

Systemhaus SAR GmbH 52499 Baesweiler, Arnold-Sommerfeld-Ring 27 02401-9195-0 www.sar.de 3 3 3 3 3 3<br />

uib gmbh 55118 Mainz, Bonifaziusplatz 1b 06131-27561-0 www.uib.de 3 3 3 3 3<br />

LISA GmbH 55411 Bingen, Elisenhöhe 47 06721-49960 www.lisa-gmbh.de 3 3 3 3 3<br />

Computerdienste Roth 60433 Frankfurt, Anne-Frank-Straße 31 069-95209247 www.computerdienste-roth.de 3 3 3 3<br />

saveIP GmbH 64283 Darmstadt, Schleiermacherstr. 23 06151-666266 www.saveip.de 3 3 3 3 3<br />

LAMARC EDV-Schulungen u. Beratung GmbH 65193 Wiesbaden, Sonnenberger Straße 14 0611-260023 www.lamarc.com 3 3 3 3<br />

ORDIX AG 65205 Wiesbaden, Kreuzberger Ring 13 0611-77840-00 www.ordix.de 3 3 3 3 3<br />

LinuxHaus Stuttgart 70565 Stuttgart, Hessenwiesenstrasse 10 0711-2851905 www.linuxhaus.de 3 3 3 3 3<br />

comundus GmbH 71332 Waiblingen, Schüttelgrabenring 3 07151-5002850 www.comundus.com 3 3 3<br />

Veigel Linux Software Development 71723 Großbottwar, Frankenstr. 15 07148-922352 www.mvlsd.de 3 3 3 3<br />

Intra2net AG 72072 Tübingen, Mömpelgarderweg 8 07071-56510-30 www.intra2net.com 3 3 3 3<br />

future Training & Consulting GmbH Reutlingen 72770 Reutlingen, Auchterstraße 8 07121-14493943 www.futuretrainings.com 3<br />

Manfred Heubach EDV und Kommunikation 73728 Esslingen, Hindenburgstr. 47 0711-4904930 www.heubach-edv.de 3 3 3 3<br />

eBIS GmbH 74080 Heilbronn/ Neckar, Neckargartacher Str. 94 07131-39500 www.ebis.info 3 3 3 3 3<br />

Waldmann EDV Systeme + Service 74321 Bietigheim-Bissingen, Pleidelsheimer Str. 25 07142-21516 www.waldmann-edv.de 3 3 3 3 3<br />

in-put Das Linux-Systemhaus 76133 Karlsruhe, Moltkestr. 49 0721-83044-98 www.in-put.de 3 3 3 3 3 3<br />

Bodenseo 78224 Singen, Pomeziastr. 9 07731-1476120 www.bodenseo.de 3 3 3<br />

Gendrisch GmbH 81679 München, Cuvilliesstraße 14 089-38156901-0 www.gendrisch.de 3 3 3 3 3<br />

Linux Information Systems AG 81739 München, Putzbrunnerstr. 71 089-993412-0 www.linux-ag.com 3 3 3 3 3<br />

Synergy Systems GmbH 81829 München, Konrad-Zuse-Platz 8 089-89080500 www.synergysystems.de 3 3 3 3 3<br />

B1 Systems GmbH 85088 Vohburg, Osterfeldstrasse 7 08457-931096 www.b1-systems.de 3 3 3 3 3<br />

ATIX AG 85716 Unterschleißheim, Einsteinstr. 10 089-4523538-0 www.atix.de 3 3 3 3 3<br />

Bereos OHG 88069 Tettnang, Kalchenstraße 6 07542-9345-22 www.bereos.eu 3 3 3 3 3<br />

alpha EDV Systeme GmbH 88250 Weingarten, Liebfrauenstr. 9 0751-46265 www.alpha-edv.de 3 3 3 3 3<br />

OSTC Open Source Training and Consulting GmbH 90425 Nürnberg, Delsenbachweg 32 0911-3474544 www.ostc.de 3 3 3 3 3 3<br />

Dipl.-Ing. Christoph Stockmayer GmbH 90571 Schwaig, Dreihöhenstr. 1 0911-505241 www.stockmayer.de 3 3 3<br />

pascom - Netzwerktechnik GmbH & Co.KG 94469 Deggendorf, Berger Str. 42 0991-270060 www.pascom.de 3 3 3 3 3<br />

fidu.de IT KG 95463 Bindlach, Goldkronacher Str. 30 09208-657638 www.linux-onlineshop.de 3 3 3 3<br />

Computersysteme Gmeiner 95643 Tirschenreuth, Fischerhüttenweg 4 09631-7000-0 www.gmeiner.de 3 3 3 3 3<br />

RealStuff Informatik AG CH-3007 Bern, Chutzenstrasse 24 0041-31-3824444 www.realstuff.ch 3 3 3<br />

CATATEC CH-3013 Bern, Dammweg 43 0041-31-3302630 www.catatec.ch 3 3 3<br />

EBP Gasser CH-4208 Nunningen, Winkel 6 0041-61793-0099 www.ebp-gasser.ch 3 3 3 3 3<br />

Syscon Systemberatungs AG CH-8003 Zürich, Zweierstrasse 129 +41 44 454 20 10 www.syscon.ch 3 3 3 3 3<br />

Helvetica IT AG CH-8890 Flums, Bahnhofstrasse 15 0041-817331567 www.helvetica-it.com 3 3 3<br />

1 = hardware 2 = netzwerk/Tk 3 = systemhaus 4 = seminaranbieter 5 = software 6 = schulung/Beratung <br />

www.linux-user.de<br />

02 | 11 99


servIce<br />

02 | 11<br />

100 www.linux-user.de<br />

Usergroups<br />

Aachen<br />

AachenerLinux-Usergroup<br />

(ALUG)<br />

http://www.alug.de<br />

Aachen<br />

Computer-ClubanderRWTH<br />

Aachene.V.(CCAC)<br />

http://www.ccac.rwth-aachen.<br />

de<br />

Ahaus<br />

Linux-UsergroupAhaus(LUGAH)<br />

http://www.lugah.de<br />

Ahlen/Westfalen<br />

LUGAhlen<br />

http://linuxahlen.li.funpic.de/<br />

Ahrtal<br />

Linux-UsergroupAhrtal(Ahrlug)<br />

http://www.ahrlug.de<br />

Aichach<br />

Linux-UsergroupAichach<br />

http://www.lug-aichach.de<br />

Allershausen<br />

Linux-UsergroupAmpertal<br />

(LUGA)<br />

http://www.luga.net<br />

Altdorf/<br />

Nürnberg<br />

GNU/<strong>LinuxUser</strong>GroupAltdorf<br />

(GLUGA)<br />

http://www.gluga.de<br />

Amberg<br />

Open-Source-Stammtisch<br />

Amberg(amTuxTisch)<br />

http://www.amtuxtisch.de/<br />

Ansbach<br />

Linux-UsergroupAnsbach<br />

(LUGAN)<br />

http://www.lug-an.de<br />

Aschaffenburg<br />

Linux-UsergroupAschaffenburg<br />

(LUGAB)<br />

http://www.lugab.de<br />

Augsburg<br />

Linux-UsergroupAugsburg<br />

(LUGA)<br />

http://www.luga.de<br />

Backnang<br />

Linux-UsergroupBacknang<br />

http://www.lug-bk.de<br />

BadBrückenau<br />

Linux-UsergroupBadBrückenau<br />

BrunoZehe@web.de<br />

BadDriburg<br />

Linux-UsergroupBadDriburg<br />

http://www.bdpeng.de.vu<br />

BadHersfeld<br />

Linux-UsergroupHersfeld<br />

http://www.lugh.de<br />

BadWildungen<br />

Linux-UsergroupBadWildungen<br />

http://linuxheaven.cjb.net<br />

Bamberg<br />

Linux-UsergroupBamberg<br />

(GLUGBA)<br />

http://www.lug-bamberg.de<br />

Basel(CH)<br />

Linux-UsergroupBasel(BLUG)<br />

http://www.blug.ch<br />

Bautzen<br />

Linux-UsergroupBautzen<br />

http://www.lug-bz.de<br />

Bayreuth<br />

Linux-UsergroupBayreuth<br />

http://www.linux-bayreuth.de<br />

Bergisch<br />

Gladbach<br />

BergischeLinux-undUnix-<br />

Enthusiastenu.-Freunde<br />

(BLUEFROGS)<br />

http://www.bluefrogs.de<br />

Berlin<br />

Linux-UsergroupBerlin(BeLUG)<br />

http://www.belug.de<br />

Berlin<br />

UbuntuBerlin<br />

http://www.ubuntu-berlin.de<br />

Berlin/<br />

Friedrichshain-<br />

Kreuzberg<br />

LinuxWorks!<br />

http://friedrichshain.homelinux.<br />

org<br />

Berlin/<br />

Lichtenrade<br />

Linux-UsergroupLichtenrade<br />

(LUGL)<br />

http://www.lugl.net<br />

Berlin/Marzahn-<br />

Hellersdorf<br />

Open-Source-Fan-Group<br />

Marzahn-Hellersdorf(OSFanG)<br />

http://www.osfang.de<br />

Bern(CH)<br />

Linux-UsergroupBern(LUGBE)<br />

http://www.lugbe.ch<br />

Biel/Bienne/<br />

Seeland(CH)<br />

Linux-UsergroupSeeland<br />

(LugSeeland)<br />

http://www.lugseeland.ch<br />

Bielefeld<br />

<strong>LinuxUser</strong>groupOstwestfalen-<br />

Lippe<br />

http://lug-owl.de/Lokales/<br />

Bielefeld/<br />

Bitburg-Prüm<br />

Linux-UsergruppeSchneifeltux<br />

http://www.schneifeltux.de<br />

Bocholt<br />

Linux-UsergroupBocholt(BLUG)<br />

http://www.blug.de<br />

Bochum<br />

Linux-UsergroupBochum<br />

(BGLUG)<br />

http://www.bglug.de<br />

Bonn<br />

BonnerLinux-Usergroup<br />

(BOLUG)<br />

http://www.bonn.linux.de/<br />

Bonn<br />

Linux/UnixUsergroupSankt<br />

Augustin(LUUSA)<br />

http://www.luusa.org<br />

Bozen(Südtirol)<br />

Linux-UsergroupBozen(LUGBZ)<br />

http://www.lugbz.org<br />

Brandenburg<br />

Brandenburger<strong>LinuxUser</strong>Group<br />

e.V.(BraLUG)<br />

http://www.bralug.de<br />

Braunschweig<br />

Linux-UsergroupBraunschweig<br />

(LUGBS)<br />

http://www.lug-bs.de<br />

Bremen<br />

Linux-StammtischBremen<br />

http://lug-bremen.info<br />

Bremerhaven<br />

Linux-StammtischBremerhaven<br />

http://www.lug-bhv.de/<br />

Bretten<br />

BrettenerLinux-Usergroup<br />

(BRELUG)<br />

http://www.brelug.de<br />

Bruchsal<br />

Linux-UsergroupBruchsal<br />

http://www.lug-bruchsal.de<br />

Buchholz<br />

Nordheide<br />

Linux-UsergroupBuchholz<br />

Nordheide<br />

http://www.lug-buchholznordheide.de<br />

Burghausen<br />

Linux-UsergroupBurghausen<br />

http://www.lug-burghausen.org<br />

Böblingen/<br />

Sindelfingen<br />

Linux-UsergroupBöblingen/<br />

Sindelfingen(LUGBB)<br />

http://www.lugbb.org<br />

Celle<br />

LUGCelle<br />

http://www.lug-celle.de<br />

Cham<br />

Linux-UsergroupOberpfalz<br />

(LUGO)<br />

http://lugo.signum-media.de<br />

Chemnitz<br />

Linux-UsergroupChemnitz<br />

(CLUG)<br />

http://www.clug.de<br />

Coesfeld<br />

Linux-UsergroupCoesfeld<br />

http://www.lug-coesfeld.de<br />

Cottbus<br />

CottbuserLinux-Usergroup<br />

(COLUG)<br />

http://www.colug.de/<br />

Damme<br />

UsersofLinuxDamme(ULD)<br />

http://www.damme.de<br />

Darmstadt<br />

<strong>LinuxUser</strong>GroupDarmstadt<br />

(DaLUG)<br />

http://www.dalug.org<br />

Datteln<br />

Linux-UsergroupDatteln(LUGD)<br />

http://www.lug-datteln.de<br />

Delitzsch<br />

(Sachsen)<br />

Linux-UsergroupDelitzsch<br />

http://www.lug-delitzsch.de<br />

Detmold<br />

Linux-UsergroupOstwestfalen-<br />

Lippe(LUGOWL)<br />

http://lug-owl.de/Lokales/<br />

Detmold/<br />

Dorfen<br />

Linux-UsergroupDorfen(LUGD)<br />

http://www.dolug.de<br />

Dormagen<br />

PinguinPower(PP)<br />

http://www.dorlug.de<br />

Dortmund<br />

Linux-UsergroupDortmund<br />

(LUGRUDO)<br />

http://www.outerspace.de/<br />

lugrudo/<br />

Dresden<br />

Linux-UsergroupDresden<br />

http://lug-dd.schlittermann.de/<br />

Duisburg<br />

DuisburgerLinux-Usergroup<br />

(DULUG)<br />

http://www.dulug.de<br />

Duisburg<br />

Linux-UsergroupDuisburg<br />

(LUG-DUI)<br />

http://lugdui.ihg.uni-duisburg.de<br />

Düsseldorf<br />

Linux-UsergroupDüsseldorf<br />

(DLUG)<br />

http://www.dlug.de<br />

Ebstorf<br />

EbstorferLinux-Stammtisch<br />

(ELST)<br />

support@konqi-werkstatt.de<br />

Eggenfelden<br />

EggenfeldenerLinux-Usergroup<br />

(EgLUG)<br />

http://www.lug-eggenfelden.org<br />

Eichsfeld<br />

Eichsfelder<strong>LinuxUser</strong>Group<br />

(EICLUG)<br />

http://linux.eichsfeld.net<br />

Eisenach<br />

Linux-UsergroupEisenach<br />

http://lug-eisenach.de/<br />

Elmshorn<br />

ComputerclubElmshorne.V.<br />

http://www.cceev.de/<br />

Erding<br />

Linux-UsergroupErding<br />

http://www.lug-erding.de<br />

Erkelenz<br />

Linux-UsergroupErkelenz<br />

http://www.lug-erkelenz.de<br />

Erlangen<br />

ErlangerLinux-Usergroup<br />

(ERLUG)<br />

http://www.erlug.de<br />

Essen<br />

EssenerLinux-Freunde(ELiF)<br />

http://www.linuxstammtisch.de<br />

Essen<br />

EssenerLinux-Stammtisch<br />

(ELiSta)<br />

http://members.tripod.de/elista<br />

Essen<br />

EssenerLinux-Usergroup(ELUG)<br />

http://www.elug.de<br />

Essen<br />

PerlMongersimRuhrgebiet<br />

(Ruhr.pm)<br />

http://ruhr.pm.org/<br />

Esslingen<br />

Linux-UsergroupEsslingen<br />

http://rhlx01.rz.fht-esslingen.<br />

de/lug/<br />

Ettlingen/Albtal<br />

LUGAlbtal<br />

http://www.lug-albtal.de<br />

Fischbachtal<br />

<strong>LinuxUser</strong>groupFischbachtal<br />

(FIBALUG)<br />

http://fibalug.de<br />

Flensburg<br />

Linux-UsergroupFlensburg<br />

(LUGFL)<br />

http://www.lugfl.de<br />

Frammersbach<br />

FrammersbacherLUG<br />

kke@gmx.net<br />

Frankfurt<br />

Linux-UsergroupFrankfurt<br />

http://www.lugfrankfurt.de<br />

Freiburg<br />

FreiburgerLinux-Usergroup<br />

(FLUG)<br />

http://www.freiburg.linux.de<br />

Freiburg<br />

LUGderStudentensiedlung<br />

Freiburg(StuSieLUG)<br />

http://linux.studentensiedlung.<br />

de<br />

Freising<br />

Linux-UsergroupFreising<br />

(LUGFS)<br />

http://www.lug-fs.de<br />

Friedrichshafen<br />

Yetanother<strong>LinuxUser</strong>Group<br />

(YALUG)<br />

http://yalug.de<br />

Fulda<br />

Linux-UsergroupFulda<br />

http://lug.rhoen.de<br />

Fürstenfeldbruck<br />

LUGdesBürgernetzesLandkreis<br />

Fürstenfeldbruck(LUGFFB)<br />

http://lug.ffb.org/<br />

Fürth<br />

FürtherLinux-Usergroup(FLUG)<br />

http://www.fen-net.de/flug<br />

Gießen<br />

Linux-UsergroupGießen(LUGG)<br />

http://lugg.tg.fh-giessen.de<br />

Gießen<br />

LUGderLiebig-SchuleGießen<br />

(LioLUG)<br />

http://liolug.liebigschulegiessen.de/<br />

Grafing<br />

Linux-UsergroupGrafing(LUGG)<br />

http://www.lug-grafing.org<br />

Greifswald<br />

Linux-UsergroupGreifswald<br />

http://www.lug-hgw.de/<br />

Groß-Gerau<br />

Linux-UsergroupGroß-Gerau<br />

(LUGGG)<br />

http://www.luggg.de<br />

LInux.usergrouPs<br />

ImFolgendendieListederunsbekanntenLinux-UsergroupsimdeutschsprachigenRauminKurzfassung.ÄnderungenundUpdatesbittederRedaktion(usergroups@linuxnewmedia.de)mitteilen(Name,Beschreibung,<br />

Treffpunkt,Adresse,Ansprechpartner,Homepage,E-Mail,Telefon,Fax,Mitgliederzahl...).


servIce<br />

02 | 11 101<br />

www.linux-user.de<br />

Usergroups<br />

Groß-Zimmern<br />

Linux-UsergroupGroß-Zimmern<br />

(GROZILUG)<br />

http://www.grozilug.de<br />

Gummersbach<br />

GummersbacherLinux-<br />

Usergroup(GULUG)<br />

http://www.gulug.de<br />

Guntersblum<br />

GuntersblumerLinux-Usergroup<br />

(GLUG)<br />

http://www.ghks.de/glug/<br />

Gunzenhausen<br />

GunzenhauserLinux-Usergroup<br />

(LUGGUU)<br />

http://www.gunnet.de/linux<br />

Gütersloh<br />

Linux-UsergroupOstwestfalen-<br />

Lippe(LUGOWL)<br />

http://lug-owl.de/Lokales/<br />

Guetersloh/<br />

Göppingen<br />

Linux-UsergroupFilstal<br />

http://lug.fto.de/<br />

Göttingen<br />

Göttinger<strong>LinuxUser</strong>Group<br />

(GOELUG)<br />

http://www.goelug.de/<br />

Göttingen<br />

GöttingerUnix/Linux-<br />

Anwendergruppe(GULAG)<br />

http://gulag.de<br />

Haiger<br />

Linux-UsergroupLahn-Dill-Kreis<br />

(LDK/LUG)<br />

http://www.ldknet.org/lug/<br />

Halberstadt<br />

Linux-UsergroupHalberstadt<br />

http://www.lug-hbs.de<br />

Halle<br />

HallescheLinux-Usergroup<br />

(HALIX)<br />

http://www.halix.info<br />

Hamburg<br />

LUG-BalistaHamburge.V.(LUG-<br />

Balista)<br />

http://www.lug-balista.de<br />

Hamburg<br />

Unix-GruppederHamburger<br />

MHe.V.<br />

http://www.hmh-ev.de<br />

Hameln<br />

Linux-UsergroupWeserbergland<br />

(LBW)<br />

http://tux.hm<br />

Hanau<br />

HanauerLinux-Usergroup<br />

(HULUG)<br />

http://www.hulug.de/<br />

Hannover<br />

Linux-UsergroupHannover<br />

(LUGH)<br />

http://lug-hannover.de<br />

Hatten<br />

Linux-UsergroupOldenburg-<br />

Land(LUGOLand)<br />

http://www.lugoland.de<br />

Hattingen<br />

HattingerLinux-Usergroup<br />

(HatLug)<br />

http://www.hatlug.de<br />

Hegau<br />

Hegau<strong>LinuxUser</strong>Gruppe<br />

(HegauLUG)<br />

http://www.linuxag.hegau.org<br />

Heidenheim<br />

<strong>LinuxUser</strong>GroupHeidenheim<br />

http://www.lug-hdh.de<br />

Heilbad<br />

Heiligenstadt<br />

Linux-StammtischLinuxNode<br />

Eichsfeld<br />

http://linuxnode.eichsfeld.net<br />

Heilbronn<br />

Linux-UsergroupHeilbronn<br />

(LUUGHN)<br />

http://www.luug-hn.org<br />

Herford<br />

GNU/<strong>LinuxUser</strong>groupHerford<br />

(GLUGHF)<br />

http://lug-owl.de/LugWiki/<br />

GLUGHF<br />

Herrenberg<br />

Linux-StammtischimGäu<br />

(LiStiG)<br />

http://www.listig.org<br />

Hesel<br />

CCOstfriesland-Linux-Gruppe<br />

http://www.cco-online.de/linux<br />

Hildesheim<br />

HildesheimerLinux-Usergroup<br />

(NG)(HiLUG-NG)<br />

http://www.hilug-ng.de<br />

Holzminden<br />

ComputerclubHochsollinge.V.<br />

http://www.cch-holzminden.de/<br />

Horrheim<br />

Linux-UsergroupVaihingen/<br />

Enz(VLUG)<br />

http://www.vlug.de<br />

Hoyerswerda<br />

Linux-UsergroupHoyerswerda<br />

(HOYLUG)<br />

http://linux.griebel-web.eu/<br />

Idstein(Taunus)<br />

Linux-UsergroupTaunus(LUG-<br />

Taunus)<br />

http://www.lug-taunus.org<br />

Ingolstadt<br />

Linux-UsergroupIngolstadte.V.<br />

http://www.lug-in.de<br />

Iserlohn<br />

Linux-UsergroupIserlohn<br />

http://area51.fh-swf.de/<br />

Itzehoe<br />

ComputerClubItzehoee.V.<br />

(CCIZ)<br />

http://www.cc-itzehoe.de<br />

Jena<br />

Linux-UsergroupJena(LUG<br />

Jena)<br />

http://www.lug-jena.de<br />

Jever<br />

FriesischeLinux-Usergroup<br />

(FriLUG)<br />

http://www.frilug.de<br />

Kaarst<br />

KaarsterLinux-Usergroup<br />

(KAALUG)<br />

http://www.kaalug.de<br />

Kaiserslautern<br />

Linux-UsergroupKaiserslautern<br />

(LUG-KL)<br />

http://www.lug-kl.de<br />

Kaiserslautern<br />

UniversitätKaiserslautern<br />

(UNIX-AG)<br />

http://www.unix-ag.uni-kl.<br />

de/~linux/<br />

Karlsruhe<br />

KarlsruherLinux-Usergroup<br />

(KaLUG)<br />

http://www.karlsruhe.linux.de<br />

Kassel<br />

Linux-UsergroupKassel(LUGK)<br />

http://www.lug-kassel.de<br />

Kiel<br />

LUGKiel<br />

http://www.lug-kiel.de<br />

Kierspe-<br />

Meinerzhagen<br />

Linux-UsergroupMärkischer<br />

Kreis(LUGMK)<br />

linuxusergroupmk@netscape.net<br />

Koblenz<br />

<strong>LinuxUser</strong>GroupMayen-<br />

Koblenz(LUG-MYK)<br />

http://www.lug-myk.de/<br />

Koblenz<br />

LUGderUniversitätKoblenz<br />

http://www.colix.org<br />

Konstanz<br />

Linux-UsergroupBodensee<br />

(LLUGB)<br />

http://llugb.amsee.de/<br />

Konz<br />

Linux-UsergroupKonz(TRILUG)<br />

http://www.trilug.fh-trier.de<br />

Krefeld<br />

Linux-UsergroupKrefeld<br />

(LUG-KR)<br />

http://www.lug-kr.de<br />

Kreuzlingen(CH)<br />

Linux-UsergroupKreuzlingen<br />

http://linuxtreff.ch/<br />

Kronach<br />

Linux-UsergroupKronach<br />

http://www.lug-kronach.de<br />

Köln<br />

KölnerGentoo<strong>LinuxUser</strong>Group<br />

(KGLUG)<br />

http://www.kglug.de<br />

Marl<br />

Linux-UsergroupMarl<br />

http://www.lug-marl.de<br />

Memmingen<br />

Linux-UsergroupAllgäu(LUGAL)<br />

http://www.lugal.de<br />

Meppen<br />

Linux-UsergroupMeppen<br />

http://www.lug-meppen.de<br />

Metelen<br />

Linux-StammtischMetelen<br />

http://www.linuxdu.de<br />

Mitterteich<br />

Linux-UsergroupMitterteich<br />

http://www.linux-mitterteich.de<br />

Moers<br />

Linux-UsertreffeninMoers<br />

opers@syrinx1.du.gtn.com<br />

Mosbach<br />

Linux-UsergroupMosbach<br />

(LUGMOS)<br />

http://linuxwiki.de/LugMosbach<br />

Mühlheima.d.<br />

Ruhr<br />

Penguinshour-Workshopsund<br />

Selbsthilfegruppe(Penhour)<br />

http://www.az-muelheim.de/<br />

penhour/<br />

München<br />

BSDSocialEventMünchen(BSE)<br />

http://bse.42.org<br />

München<br />

BSD-UsergroupinMünchen<br />

(BIM)<br />

http://berklix.org/bim/<br />

München<br />

MünchnerGentoo<strong>LinuxUser</strong><br />

Group(MGLUG)<br />

http://www.mglug.de<br />

München<br />

MünchnerLinux-Usergroup<br />

(MUC-LUG)<br />

http://www.muc-lug.de<br />

MünchenSüd-Ost<br />

/Ottobrunn<br />

Linux-UsergroupOttobrunn<br />

(LUGOTT)<br />

http://www.lug-ottobrunn.de<br />

MünchenSüd-<br />

West<br />

Linux-UsergroupWürmtal<br />

(WLUG)<br />

http://wlug.acos.net<br />

Münster<br />

Linux-StammtischMünster<br />

(MueSLI)<br />

http://www.mueslihq.de<br />

Mönchen-<br />

gladbach<br />

Linux-Usergroup<br />

Mönchengladbach(LUGMOE)<br />

http://www.lugmoe.de<br />

Mörfelden-<br />

Walldorf<br />

<strong>LinuxUser</strong>groupMörfelden-<br />

Walldorf(MöWa-LUG)<br />

http://www.moewa-lug.de<br />

Naumburg<br />

<strong>LinuxUser</strong>GroupNaumburg<br />

(LUGNMB)<br />

http://lugnmb.dyndns.org<br />

Neubrandenburg<br />

Linux-Usergroup<br />

Neubrandenburge.V.(LUG-NB)<br />

http://www.lug-nb.de<br />

Neuburgander<br />

Donau<br />

LUGNeuburganderDonau<br />

(LUGND)<br />

http://www.lug-nd.de<br />

Neuenburg<br />

Linux-UsergroupNeuenburg<br />

http://w3-net.ri-web.de/cont/<br />

lugnbg/index.php<br />

Nieder-Olm<br />

RheinhessenerLinux-<br />

Gemeinschaft<br />

info@kkcs.de<br />

Niederrhein<br />

NiederrheinischeLinuxUnix<br />

UserGroup(NLUUG)<br />

http://www.nluug.de<br />

Nienburg<br />

Linux-UsergroupNienburg<br />

(NILUG)<br />

http://ni-linux.de<br />

Köln<br />

Linux-WorkshopKöln(LiWoK)<br />

http://www.uni-koeln.de/<br />

themen/linux/<br />

Landau<br />

Linux-UsergroupLandau(LUG-<br />

Landau)<br />

http://www.lug-ld.de<br />

Landshut<br />

Linux-UsergroupLandshut<br />

http://www.lalug.de<br />

Langen(Hessen)<br />

/Dreieich/<br />

Egelsbach<br />

LangenerLinux-Usergroup<br />

(LaLUG)<br />

http://www.lalug.net<br />

Langenfeld<br />

LangenfelderLinux-Usergroup<br />

(LANLUG)<br />

http://www.lanlug.org<br />

Laufander<br />

Pegnitz<br />

Linux-UsergroupLaufa.d.<br />

Pegnitz(LUGLAUF)<br />

http://www.lug-lauf.de<br />

Leipzig<br />

LeipzigerLinux-Stammtisch<br />

http://www.gaos.org/lug-l/<br />

Lindenberg<br />

Linux-UsergroupLindau(LugLi)<br />

http://www.allgaeu.org/lugli<br />

Lingen/Rheine<br />

Linux-UsergroupSpelle<br />

http://www.spelle.net/lugs<br />

Linz(A)<br />

Linux-UsergroupLinz(LUGL)<br />

http://www.lugl.at<br />

Lippstadt/Soest<br />

/Erwitte<br />

<strong>LinuxUser</strong>groupErwitte<br />

http://www.lug-erwitte.de<br />

Lohr<br />

Linux-UsergroupLohr(LUGLohr)<br />

http://lug.lohr-am-main.de<br />

Loitsche<br />

Linux-StammtischLoitsche(LSL)<br />

http://www.t-online.de/home/<br />

mumumu/<br />

Ludwigsburg<br />

Linux-UsergroupRaum<br />

Ludwigsburg(LuLUG)<br />

http://www.lulug.de<br />

Luxembourg<br />

LinuxLuxembourg(LiLux)<br />

http://www.linux.lu<br />

Lübeck<br />

Linux-UsergroupLübeck<br />

http://www.linuxuser-luebeck.<br />

de<br />

Lüneburg<br />

Linux-UsergroupLüneburg<br />

(LueneLUG)<br />

http://luene-lug.org<br />

Lünen<br />

LUGLünen<br />

http://www.lug-luenen.de<br />

Lörrach<br />

Linux-UsergroupLörrach<br />

(LUGLOE)<br />

http://www.lug-loerrach.de<br />

Lörrach<br />

Lörracher<strong>LinuxUser</strong>group<br />

(LÖLUG)<br />

http://www.loelug.de<br />

Magdeburg<br />

Magdeburger<strong>LinuxUser</strong>Group<br />

e.V.(MDLUG)<br />

http://www.mdlug.de<br />

Mainz<br />

Linux-UsergroupMainz(UFO)<br />

http://www.ufo.uni-mainz.de<br />

Marburg<br />

MarburgerLinux-Usergroup<br />

(MRLUG)<br />

http://www.mr-lug.de<br />

Marktredwitz<br />

Linux-GruppeMarktredwitz<br />

ststroes@tirnet.de<br />

LInux.usergrouPs<br />

s. 102


servIce<br />

02 | 11<br />

102 www.linux-user.de<br />

Usergroups<br />

<br />

Norderstedt<br />

Linux-UsergroupNorderstedt<br />

(LUGN)<br />

http://www.lug-norderstedt.de<br />

Nordheide<br />

LUUGNordheide<br />

http://www.luug-nordheide.de<br />

Nußdorf/Aiging<br />

Linux-UsergroupTraunstein<br />

(LUGTra)<br />

http://www.lug-ts.de<br />

Nürnberg<br />

Linux-UsergroupNürnberg<br />

(LUGNü)<br />

http://www.align.de/<br />

Oberhausen<br />

Linux-UsergroupOberhausen<br />

(LUGOR)<br />

http://www.linuxob.de<br />

Oberkirchen<br />

LUGRenchtal-Tuxe<br />

http://tuxe.renchtal.com<br />

Oberpfalz<br />

Linux-UsergroupOberpfalz<br />

http://www.cham.baynet.<br />

de/lugo/<br />

Oberwallis(CH)<br />

Linux-UsergroupOberwallis<br />

(LUGO)<br />

http://www.lugo.ch<br />

Offenburg<br />

Linux-UsergroupOffenburg<br />

(LUGOG)<br />

http://www.lugog.de<br />

Oldenburg<br />

Linux-UsergroupOldenburg<br />

(LUGO)<br />

http://oldenburg.linux.de<br />

Olpe<br />

Linux-UsergroupOlpe<br />

http://www.lug-raum-olpe.<br />

de.vu<br />

Osnabrück<br />

Linux-UsergroupOsnabrück<br />

http://www.lugo.de<br />

Ostwestfalen-<br />

Lippe<br />

Linux-UsergroupOstwestfalen-<br />

Lippe(LUG-OWL)<br />

http://www.lug-owl.de<br />

Paderborn<br />

Linux-UsergroupOstwestfalen-<br />

Lippe(LUG-OWL)<br />

http://lug-owl.de/Lokales/<br />

Paderborn/<br />

Passau<br />

Linux-/Unix-UsergroupPassau<br />

(LUGP)<br />

http://www.fmi.uni-passau.<br />

de/~lug/<br />

Peine<br />

Linux-UsergroupPeine(LUGP)<br />

http://www.lug-peine.org<br />

Pfaffenhofen<br />

(Ilm)<br />

Hallertuxe.V.<br />

http://www.hallertux.de<br />

Pforzheim<br />

Linux-UsergroupPforzheim<br />

(LUGP)<br />

http://www.pf-lug.de<br />

Pirmasens<br />

Linux-StammtischPirmasens<br />

http://www.ic.pirmasens.de<br />

Potsdam<br />

PotsdamerLinux-Usergroup<br />

(UPLUG)<br />

http://www.uplug.de<br />

Preetz<br />

(Schleswig-<br />

Holstein)<br />

<strong>LinuxUser</strong>groupPreetz<br />

(PreetzLUG)<br />

http://preetzlug.de<br />

Prerow<br />

Linux-UsergroupPrerow<br />

c.dittmann@magrathea.de<br />

Quedlinburg<br />

Linux-UsergroupQuedlinburg<br />

(LUGQLB)<br />

http://www.lug-qlb.de<br />

Quickborn<br />

QuickbornerLinux-Usergroup<br />

(QLUG)<br />

http://www.qlug.net<br />

Rathenow<br />

Linux-StammtischRathenow<br />

http://linux.php4u.org<br />

Ravensberg<br />

Linux-UsergroupRavensberg<br />

(LUGRAV)<br />

http://www.lugrav.de<br />

Ravensburg<br />

Informatik-undNetzwerkverein<br />

Ravensburge.V(LUGRA)<br />

http://www.infnet.verein.de/<br />

linux/<br />

Ravensburg<br />

Linux-UsergroupRavensburg<br />

(LUG)<br />

http://www.yalug.de<br />

Regensburg<br />

Linux-UsergroupRegensburg<br />

http://www.lugr.de<br />

Regensburg<br />

RegensburgerLinux-Usergroup<br />

(R-LUG)<br />

http://www.regensburg.franken.<br />

de/rlug/<br />

Reutlingen<br />

Linux-UsergroupReutlingen<br />

http://www.lug-reutlingen.de<br />

Rheda-<br />

Wiedenbrück<br />

Linux-UsergroupRheda-<br />

Wiedenbrück(LUG-RHWD)<br />

http://www.lug-rhwd.de<br />

Rhein-Neckar<br />

UnixUsergroupRhein-Neckar<br />

e.V.(UUGRN)<br />

http://www.uugrn.org<br />

Rosenheim<br />

Linux-UsergroupRosenheim<br />

http://www.lug-rosenheim.org<br />

Rostock<br />

RostockerLinux-Usergroup<br />

http://linux.baltic.net<br />

Rotenburg<br />

ComputervereinRotenburg<br />

(CVR)<br />

http://www.cvr.de/linux<br />

Rotenburga.d.<br />

Fulda<br />

init4-DieLinux-Enthusiasten<br />

(init4)<br />

http://www.init4.de<br />

Rothenburgo.d.<br />

Tauber<br />

Linux-UsergroupRothenburg<br />

(LUGROT)<br />

http://lugrot.de<br />

Römerberg/<br />

Speyer<br />

LUGRömerberg/Speyer<br />

http://linuxwiki.de/<br />

LugRoemerbergSpeyer<br />

Saalfeld<br />

LUGSlf/Ru<br />

http://lug-slf.de<br />

Saarland<br />

<strong>LinuxUser</strong>GroupSaare.V.<br />

(LUGSaar)<br />

http://www.lug-saar.de<br />

Salem<br />

Linux-UsergroupSalem<br />

http://www.lug-salem.de<br />

Salzburg(A)<br />

Linux-UsergroupSalzburg<br />

http://www.salzburg.luga.or.at<br />

Sauerland<br />

Linux-UsergroupSauerland<br />

http://www.lug-sauerland.de<br />

Schaumburg<br />

Linux-UsergroupSchaumburg<br />

http://www.lug-schaumburg.de<br />

Schwabach<br />

<strong>LinuxUser</strong>Schwabache.V.<br />

(LUSC)<br />

http://www.lusc.de<br />

Schweinfurt<br />

Linux-UsergroupSchweinfurt<br />

http://www.lug-sw.de<br />

Schweiz(CH)<br />

Linux-UsergroupSwitzerland<br />

http://www.lugs.ch<br />

Schwerin<br />

West-MecklenburgerLinux-<br />

Usergroup(WEMELUG)<br />

http://www.wemelug.de<br />

Schwäbisch<br />

Gmünd<br />

Linux-StammtischSchwäbisch<br />

Gmünd(LSSG)<br />

http://www.uliweb.de/lssg<br />

Seeheim-<br />

Jugenheim<br />

Linux-UsergroupDarmstadt<br />

http://www.mathematik.tudarmstadt.de/dalug/<br />

Senftenberg<br />

Linux-UsergroupSenftenberg<br />

(LUGSE)<br />

http://www.lugse.de<br />

Siegen<br />

UNIX-AGSiegen(Uni-GHSie)<br />

http://www.si.unix-ag.org<br />

Sindelfingen/<br />

Böblingen<br />

Böblingen-ClubLinux-User-<br />

Gruppe(SinLUG)<br />

http://www.mefia.org<br />

Sinsheim<br />

Linux-UsergroupSinsheim<br />

(SiLUG)<br />

http://www.linuxwiki.de/<br />

LugSinsheim<br />

Speyer<br />

Linux-UsergroupKetsch<br />

http://www.lug-ketsch.de<br />

St.Pölten(A)<br />

Linux-UsergroupSt.Pölten<br />

(LUGSP)<br />

http://www.lugsp.at<br />

Stormarn<br />

Linux-UsergroupStormarn<br />

http://www.lug-stormarn.de<br />

Stuttgart<br />

Linux-UsergroupStuttgart<br />

(LUGS)<br />

http://www.lug-s.org/<br />

Taubertal<br />

TaubertälerLinux-Usergroup<br />

(TaLUG)<br />

http://www.talug.de/<br />

Thüringen<br />

ThüringerLinux-Usergroup<br />

(TLUG)<br />

http://www.tlug.de/<br />

Tirol(A)<br />

Tiroler<strong>LinuxUser</strong>group(LUGT)<br />

http://www.lugt.at<br />

Traunstein<br />

Linux-UsergroupTraunstein<br />

(LUGTS)<br />

http://www.lug-ts.de<br />

Trier<br />

<strong>LinuxUser</strong>GroupTrier(LUG<br />

Trier)<br />

http://www.lug-trier.de<br />

Troisdorf/<br />

Siegburg/Spich<br />

TroisdorferLinux-Usergroup<br />

(TroLUG)<br />

http://www.trolug.de<br />

Tuttlingen<br />

Linux-UsergroupTuttlingen<br />

http://lug.intuttlingen.de/<br />

Tübingen<br />

Linux-UsergroupTübingen<br />

(LUGT)<br />

http://tuebingen.linux.de<br />

Ulm<br />

Linux-UsergroupUlm(LUGU)<br />

http://lugulm.de<br />

Untermain<br />

Linux-UsergroupUntermain<br />

(LUGU)<br />

http://www.lug-untermain.de<br />

Viersen<br />

Linux-UsergroupViersen(LUGV)<br />

http://www.lug-viersen.de<br />

Villingen-<br />

Schwenningen<br />

<strong>LinuxUser</strong>GroupVillingen-<br />

Schwenningene.V.(LUG-VSe.V.)<br />

http://www.lug-vs.de<br />

Voralpen(A)<br />

Linux-UsergroupVoralpen<br />

(VALUG)<br />

http://www.valug.at<br />

Vorarlberg(A)<br />

Linux-UsergroupVorarlberg<br />

(LUGV)<br />

http://www.lugv.at<br />

Waiblingen<br />

ComputerclubWaiblingene.V.<br />

http://www.ccwn.org<br />

Waldkraiburg<br />

Linux-UsergroupWaldkraiburg<br />

http://www.lug-waldkraiburg.org<br />

Walsrode<br />

Linux-UsergroupWalsrode<br />

http://www.lug-walsrode.de/<br />

Wedel<br />

Linux-UsergroupWedel(LUG<br />

Wedel)<br />

http://www.lug-wedel.de<br />

Weinheim<br />

Computer-ClubWeinheime.V.<br />

(CCW)<br />

http://ccw.iscool.net<br />

Weißenbrunn<br />

Linux-UsergroupKronach<br />

(LUGKR)<br />

http://www.kronachonline.de<br />

Wernigerode<br />

Linux-UsergroupWernigerode<br />

(LUGWR)<br />

http://www.lug-wr.de<br />

Westerwald<br />

Linux-UsergroupWesterwald<br />

http://www.lug-westerwald.de<br />

Wien(A)<br />

<strong>LinuxUser</strong>groupWien<br />

http://www.viennalinux.at<br />

Wien(A)<br />

Linux-UsergroupAustria(LUGA)<br />

http://www.luga.or.at<br />

Wien(A)<br />

Linux-UsergroupTUWien(LLL)<br />

lll@radawana.cg.tuwien.ac.at<br />

Wiesbaden<br />

Linux-UsergroupWiesbaden<br />

PenguinUsergroup<br />

http://www.pug.org<br />

Wilhelmshaven<br />

Linux-UsergroupWilhelmshaven<br />

(LUG-WHV)<br />

http://www.lug-whv.de<br />

Witten<br />

WittenerLinux-Usergroup<br />

(WitLUG)<br />

http://www.witlug.de<br />

Wolfsburg<br />

WolfsburgerLinux-Usergroup<br />

(WOBLUG)<br />

http://www.lug.wolfsburg.de<br />

Wolfsburg<br />

WolfsburgerUnix-Usergroup<br />

(WUUG)<br />

http://www.unix.necoac.de<br />

Worms<br />

Wormser<strong>LinuxUser</strong>Group<br />

(WoLUG)<br />

http://www.wolug.de<br />

Wuppertal<br />

WuppertalerLinux-Usergroup<br />

(WupLUG)<br />

http://www.wuplug.org<br />

Würmtal<br />

WürmtalerLinux-Usergroup<br />

(WLUG)<br />

http://www.wlug.de<br />

Würzburg<br />

Linux-UsergroupWürzburg<br />

(LUGWUE)<br />

http://www.lugwue.de<br />

Würzburg<br />

Linux-UsergroupWürzburg<br />

(WÜLUG)<br />

http://www.wuelug.de<br />

Zweibrücken<br />

Linux-UsergroupZweibrücken<br />

http://www.lug-zw.de<br />

Zwickau<br />

Linux-UsergroupZwickau(ZLUG)<br />

http://www.zlug.org<br />

<br />

LInux.usergrouPs (ForTSETzuNG voN S.101)


Seminare<br />

servIce<br />

Linux-Magazin<br />

ACADEMY<br />

Online-Training der<br />

Linux-Magazin Academy<br />

OpenOffice -<br />

Arbeiten mit Vorlagen<br />

Erleichtern Sie sich Ihre<br />

tägliche Arbeit mit (Auszug):<br />

❚ einheitlichen Dokumentenvorlagen<br />

❚ automatischen Formatierungen<br />

❚ generierten Inhaltsverzeichnissen<br />

20%<br />

Treue-Rabatt für<br />

Abonnenten<br />

Mit vielen<br />

Praxisbeispielen<br />

OpenSource Training Ralf Spenneberg<br />

Schulungen direkt vom Autor<br />

Andrew Prinz (Siemens AG) empfiehlt<br />

unseren Kurs "Firewall Lösungen mit<br />

Linux":<br />

Dieser Kurs war sehr<br />

interessant und informativ. Die<br />

Thematik wurde sehr gut und<br />

anschaulich durch Herrn<br />

Spenneberg vermittelt. Einer<br />

der kurzweiligsten Kurse, die<br />

ich besucht habe.<br />

Freie Distributionswahl:<br />

SuSE, Fedora, Debian, CentOS oder<br />

Ubuntu (NEU)<br />

Ergonomische Arbeitsplätze<br />

Echte Schulungsunterlagen mit Übungen<br />

Bücher als Begleitmaterial<br />

Informationen und Anmeldung unter:<br />

academy.linux-magazin.de/openoffice<br />

Am Bahnhof 3­5<br />

48565 Steinfurt<br />

Tel. : 02552 638755<br />

Fax: 02552 638757<br />

Weitere Informationen unter www.os­t.de<br />

Rabatt für<br />

nnenten<br />

Linux-Magazin<br />

ACADEMY<br />

LM_Academy_1-9h_Anzeige_openoffice.indd 1<br />

20%<br />

02.09.2010 12:45:58 Uhr<br />

Treue-Rabatt für<br />

Abonnenten<br />

Online-Training der<br />

Linux-Magazin Academy<br />

Erfolgreicher <strong>Einstieg</strong> in<br />

WordPress 3.0<br />

Ansprechende Webseiten, Blogs<br />

und Shops einfach selber erstellen<br />

❚ Installation in 5 Minuten<br />

❚ Designs ändern<br />

❚ Optimieren für Suchmaschinen<br />

❚ Funktionen erweitern<br />

❚ Benutzerrechte festlegen<br />

❚ Geld verdienen mit Werbung<br />

❚ Besucher analysieren<br />

❚ Sicherheit und Spam-Schutz<br />

Informationen und Anmeldung unter:<br />

academy.linux-magazin.de/wordpress<br />

©mipan, fotolia<br />

Linux-Magazin<br />

ACADEMY<br />

20%<br />

Treue-Rabatt für<br />

Abonnenten<br />

Online-Training<br />

IT-Sicherheit<br />

Grundlagen<br />

Themen:<br />

- physikalische Sicherheit<br />

- logische Sicherheit<br />

• Betriebssystem<br />

• Netzwerk<br />

- Sicherheitskonzepte<br />

- Sicherheitsprüfung<br />

Inklusive Benutzer- und<br />

Rechteverwaltung, Authentifizierung,<br />

ACLs sowie<br />

wichtige Netzwerkprotokolle<br />

und mehr!<br />

Informationen und Anmeldung unter:<br />

academy.linux-magazin.de/sicherheit<br />

UNIX-C-C++ Java<br />

Seminare<br />

in Nürnberg<br />

(oder inhouse)<br />

UNIX/Linux<br />

UNIX/Linux-Aufbau<br />

C, C-Aufbau<br />

C++<br />

OOA/OOD (mit UML)<br />

Java<br />

Perl, XML<br />

weitere Kurse auf Anfrage, Telephonhotline<br />

Dipl.-Ing.<br />

Christoph Stockmayer GmbH<br />

90571 Schwaig/Nbg • Dreihöhenstraße 1<br />

Tel.: 0911/505241 • Fax 0911/5009584<br />

EMail: sto@stockmayer.de<br />

http://www.stockmayer.de<br />

Linux-Magazin<br />

1-9h_Anzeige_wordpress.indd 1<br />

ACADEMY<br />

Linux-Magazin<br />

ACADEMY<br />

02.09.2010 LM-Academy_1-9h_Security.indd 16:24:36 Uhr<br />

1<br />

18.11.2010 12:37:52 Uhr<br />

Online-Training der<br />

Linux-Magazin Academy<br />

Monitoring mit Nagios<br />

Netzwerk überwachen<br />

leicht gemacht (Auszug):<br />

20%<br />

❚ das Webfrontend<br />

❚ Überwachung von<br />

Windows/Linux/Unix<br />

❚ Strukturieren der Konfiguration<br />

❚ Überwachen von<br />

SNMP-Komponenten<br />

❚ Addons Nagvis,<br />

Grapher V2, NDO2DB Mit vielen<br />

Treue-Rabatt für<br />

Abonnenten<br />

Praxisbeispielen<br />

Informationen und Anmeldung unter:<br />

academy.linux-magazin.de/nagios<br />

Online-Training der<br />

Linux-Magazin Academy<br />

Prüfungsvorbereitung<br />

für LPIC 1 & 2<br />

Besorgen Sie sich Brief und<br />

Siegel für Ihr Linux-<br />

Knowhow mit der<br />

LPI-Zertifizierung.<br />

- Training für die Prüfungen<br />

LPI 101 und 102<br />

- Training für die Prüfungen<br />

LPI 201 und 202<br />

SPAREN SIE MIT<br />

PAKETPREISEN!<br />

20%<br />

Treue-Rabatt für<br />

Abonnenten<br />

Informationen und Anmeldung unter:<br />

academy.linux-magazin.de/lpic<br />

Zum Aktionspreis!<br />

Linux-Zertifizierung in kompakter Form:<br />

CLA*-Bootcamp<br />

am 14.02.-18.02.2011 in Bensheim!<br />

*(Certified Linux Administrator)<br />

Weitere Infos unter<br />

info@in-time.com oder 0 62 51-800 800!<br />

in-time IT Training Center<br />

Darmstädter Str. 63 | 64625 Bensheim<br />

www.in-time.com<br />

LM_Anzeige_1-9h_Anzeige_Nagios.indd 1<br />

03.09.2010 LM-Academy_1-9h_Anzeige_LPIC.indd 10:43:40 www.linux-user.de<br />

Uhr<br />

1<br />

01.09.2010 15:41:58 Uhr<br />

02 | 11 103


servIce<br />

Events/Autoren/Inserenten<br />

verAnsTALTungen<br />

15.09.2010-15.05.2011<br />

v concurso universitario de software Libre<br />

Nacional, Spanien<br />

http://www.concursosoftwarelibre.org/<br />

24.-29.01.2011<br />

linux.conf.au 2011<br />

Brisbane, Australien<br />

http://lca2011.linux.org.au/<br />

29.-31.01.2011<br />

Fedora users and Developers conference 2011<br />

Tempe, Arizona<br />

http://fedoraproject.org/wiki/FUDCon:Tempe_2011<br />

01.-03.02.2011<br />

o’reilly strata conference<br />

Santa Clara, CA, USA<br />

http://strataconf.com/strata2011<br />

01.-04.02.2011<br />

Foss Lviv-2011<br />

Nationale Iwan-Franko-Universität<br />

Lemberg, Ukraine<br />

02.-03.02.2011<br />

cloud expo europe<br />

London, Großbritannien<br />

http://www.cloudexpoeurope.com<br />

05.-06.02.2011<br />

FosDem 2011<br />

Brüssels, Belgien<br />

http://www.fosdem.org/2011/<br />

07.-09.02.2011<br />

sharePoint Technology conference<br />

San Francisco, CA, USA<br />

http://www.sptechcon.com/<br />

14.-17.02.2011<br />

mobile World congress<br />

Barcelona, Spanien<br />

http://www.mobileworldcongress.com/<br />

15.-17.02.2011<br />

usenIx FAsT ’11<br />

San Jose, CA, USA<br />

http://www.usenix.org/events/fast11/<br />

25.-27.02.2011<br />

scALe 9x<br />

Los Angeles, CA, USA<br />

http://www.socallinuxexpo.org/scale9x/<br />

01.-02.03.2011<br />

2011 Linux Foundation end user summit<br />

Jersey City, NJ, USA<br />

http://events.linuxfoundation.org/events/end-usersummit<br />

01.-05.03.2011<br />

ceBIT 2011<br />

Messegelände<br />

30521 Hannover<br />

http://www.cebit.de<br />

07.-08.03.2011<br />

sAns WhatWorks in Application security summit 2011<br />

San Francisco, CA, USA<br />

http://www.sans.org/appsec-2011/<br />

07.-09.03.2011<br />

AnDevcon san Francsico<br />

San Francisco, CA, USA<br />

http://www.andevcon.com/<br />

07.-10.03.2011<br />

Drupalcon chicago<br />

Chicago, IL, USA<br />

http://chicago2011.drupal.org/<br />

09.-17.03.2011<br />

Pycon 2011<br />

Atlanta, GA, USA<br />

http://us.pycon.org<br />

14.-19.03.2011<br />

csun 2011<br />

San Diego, CA, USA<br />

http://www.csunconference.org<br />

19.-20.03.2011<br />

chemnitzer Linux-Tage 2011<br />

Hörsaal- und Seminar-Gebäude<br />

der Technischen Universität Chemnitz<br />

Reichenhainer Straße 90<br />

09126 Chemnitz<br />

http://chemnitzer.linux-tage.de<br />

22.-24.03.2011<br />

cTIA Wireless 2011<br />

Orlando, FL, USA<br />

http://www.ctiawireless.com/<br />

23.-25.03.2011<br />

Posscon 2011<br />

Columbia, SC, USA<br />

http://posscon.org/<br />

25.-27.03.2011<br />

Indiana LinuxFest<br />

Indianopolis, IN, USA<br />

http://www.indianalinux.org<br />

AuToren<br />

Erik Bärwaldt Mandriva 2010.2 im Kurztest (6),<br />

Einsteiger-Linux PinguyOS 10.10 (12),<br />

Mobiler UMTS-WLAN-Hotspot Huawei E5 (80)<br />

Andreas Bohle Neues auf den Heft-DVDs (10),<br />

<strong>Vorschau</strong> <strong>LinuxUser</strong> 03/2011 (106)<br />

Wolfgang Dautermann Cross-Compiling auf Linux (38)<br />

Florian Effenberger Musiksammlungen verwalten mit Beets (52)<br />

Christian Fasshauer Fragebögen auswerten mit Readform (92)<br />

Michael Gottwald Satelliten-Tracking mit Gpredict (64)<br />

Karsten Günther Ding – Wörterbuch und Thesaurus (42),<br />

Hardware-Informationen auswerten mit Lshw (76)<br />

Gottfried Hofmann Blender-Workshop (2): Materialien einsetzen (56)<br />

Daniel Kottmair Neue Hardware im Kurztest (20),<br />

Intels neue CPU-Architektur Sandy Bridge (86)<br />

Thomas Leichtenstern Cewe-Fotobuch-Software im Test (70)<br />

Jörg Luther Editorial (3), Neue Distributionen (16),<br />

Aktuelles rund um Linux (18),<br />

Arduino-Lernpaket von Franzis (36)<br />

Dr.-Ing. Stefan Schwarzer Tipps für robuste <strong>Python</strong>-Programme (28)<br />

Daniel Stender Komfortable <strong>Python</strong>-IDE Eric (24)<br />

Vincze-Áron Szabó Dateien verwalten mit dem X File Explorer (48)<br />

Uwe Vollbracht Aktuelle Software im Kurztest (22)<br />

Prof. Dr. Ch. Wagenknecht Fragebögen auswerten mit Readform (92)<br />

InserenTen<br />

ADMIN www.admin-magazin.de 79<br />

Bibliographisches Institut AG www.bifab.de 15<br />

EasyLinux www.easylinux.de 51<br />

Fernschule Weber GmbH www.fernschule-weber.de 23<br />

Galileo Press www.galileo-press.de 21<br />

Hetzner Online AG www.hetzner.de 108<br />

In-Time IT-Training Center www.in-time.com 103<br />

Linux Technical Review www.linuxtechnicalreview.de 91<br />

Linux User Spezial www.linux-user.de/spezial 83<br />

Linux-Community www.linux-community.de 55<br />

Linux-Hotel www.linuxhotel.de 17<br />

Linux-Magazin www.linux-magazin.de 74<br />

Linux-Magazin Academy www.academy.linux-magazin.de 103<br />

Linux-Onlineshop/Fidu www.linux-onlineshop.de 107<br />

<strong>LinuxUser</strong> www.linuxuser.de 11, 43, 105<br />

Netclusive GmbH www.netclusive.de 19<br />

Chemnitzer Linux-Tage chemnitzer.linux-tage.de 73<br />

PlusServer AG www.plusserver.de 46, 68, 84, 96<br />

Spenneberg Training www.spenneberg.com 103<br />

Stockmayer GmbH www.stockmayer.de 103<br />

Strato AG www.strato.de 2, 9<br />

Ubuntu User www.ubuntu-user.de 63<br />

UDS Linux Schulung www.udslinux.de 103<br />

ZEDOnet GmbH www.turboprint.de 89<br />

104 02 | 11<br />

www.linux-user.de


Impressum<br />

service<br />

Anschrift<br />

Homepage<br />

Artikel und Foren<br />

Abo/Nachbestellung<br />

E-Mail (Leserbriefe)<br />

Abo-Service<br />

Pressemitteilungen<br />

<strong>LinuxUser</strong> ist eine Monatspublikation der Linux New Media AG.<br />

Putzbrunner Str. 71, 81739 München<br />

Telefon: (089) 99 34 11-0, Fax: (089) 99 34 11-99<br />

http://www.linux-user.de<br />

http://www.linux-community.de<br />

http://www.linux-user.de/bestellen/<br />

<br />

<br />

<br />

Chefredakteur Jörg Luther (v. i. S. d. P.) (jlu)<br />

Stellv. Chefredakteur Andreas Bohle (agr)<br />

Redaktion<br />

Linux-Community<br />

Datenträger<br />

Ständige Mitarbeiter<br />

Grafik<br />

Sprachlektorat<br />

Produktion<br />

Druck<br />

Geschäftsleitung<br />

Marcel Hilzinger (mhi)<br />

Daniel Kottmair (dko)<br />

Thomas Leichtenstern (tle)<br />

Marcel Hilzinger (mhi)<br />

Thomas Leichtenstern (tle)<br />

Mirko Albrecht, Erik Bärwaldt, Falko Benthin, Karsten Günther,<br />

Frank Hofmann, Jan Rähm, Tim Schürmann, Martin Steigerwald,<br />

Vince-Áron Szabó, Uwe Vollbracht<br />

Elgin Grabe (Titel u. Layout), Klaus Rehfeld<br />

Bildnachweis: Stock.xchng, 123rf.com, Fotolia.de und andere<br />

Astrid Hillmer-Bruer, Elke Knitter<br />

Christian Ullrich <br />

Vogel Druck und Medienservice GmbH & Co. KG, 97204 Höchberg<br />

Brian Osborn (Vorstand) <br />

Hermann Plank (Vorstand) <br />

Anzeigenleitung, Hubert Wiest <br />

Marketing und Tel.: +49 (0)89 / 99 34 11 23<br />

Vertrieb Fax: +49 (0)89 / 99 34 11 99<br />

Mediaberatung<br />

D / A / CH<br />

UK / Ireland<br />

USA<br />

Petra Jaser <br />

Tel.: +49 (0)89 / 99 34 11 24<br />

Fax: +49 (0)89 / 99 34 11 99<br />

Penny Wilby <br />

Tel.: +44 (0)1787 211 100<br />

National Sales Director<br />

Ann Jesse <br />

Tel.: +1 785 841 88 34<br />

National Account Manager<br />

Joanna Earl <br />

Tel.: +1 785 727 52 75<br />

Es gilt die Anzeigenpreisliste vom 01.01.2011.<br />

Pressevertrieb<br />

Abonnentenservice<br />

D / A / CH<br />

MZV Moderner Zeitschriften Vertrieb GmbH & Co. KG<br />

Ohmstraße 1, 85716 Unterschleißheim<br />

Tel.: (089) 3 19 06-0, Fax: (089) 3 19 06-113<br />

Lea-Maria Schmitt <br />

Postfach 1165, 74001 Heilbronn<br />

Telefon: +49 (0)7131 27 07-274<br />

Telefax: +49 (0)7131 27 07 -78-601<br />

impressum<br />

Abo-Preise Deutschland Ausland EU Österreich Schweiz<br />

Einzelpreis (No-Media) 5,50 Euro (siehe Titel) 6,30 Euro 11,00 Sfr<br />

Einzelpreis (DVD-Edition) 8,50 Euro (siehe Titel) 9,35 Euro 17,00 Sfr<br />

Jahresabo (No-Media) 56,10 Euro 71,60 Euro 64,60 Euro 112,20 Sfr<br />

Jahresabo (DVD-Edition) 86,70 Euro 99,00 Euro 95,00 Euro 175,00 Sfr<br />

Abo No-Media + LC-Klub (1) 68,10 Euro 83,60 Euro 76,60 Euro 130,20 Sfr<br />

Abo DVD-Edition + LC-Klub (1) 98,70 Euro 111,00 Euro 107,00 Euro 193,00 Sfr<br />

Abo No-Media + Jahres-CD (2) 63,10 Euro 78,60 Euro 71,60 Euro 123,20 Sfr<br />

Abo DVD + Jahres-CD (3) 93,40 Euro 105,70 Euro 101,70 Euro 185,50 Sfr<br />

Abo DVD + Jahres-CD + DELUG (4) 109,90 Euro 129,80 Euro 119,80 Euro 219,80 Sfr<br />

Kombi-Abo Easy (5) 109,00 Euro 135,40 Euro 124,90 Euro 227,70 Sfr<br />

Mega-Kombi-Abo (6) 143,40 Euro 173,90 Euro 163,90 Euro 289,40 Sfr<br />

(1) Jahresabo plus sofortiger Online-Zugang zu allen Artikeln des Hefts auf Linux-Community.de<br />

(2) Jahresabo No-Media-Edition plus <strong>LinuxUser</strong>-Jahres-CD<br />

(3) Jahresabo DVD-Edition plus <strong>LinuxUser</strong>-Jahres-CD<br />

(4) Jahresabo DVD-Edition plus <strong>LinuxUser</strong>-Jahres-CD plus monatliche DELUG-DVD<br />

(5) Jahresabo DVD-Edition plus Jahresabo EasyLinux<br />

(6) Jahresabo DVD-Edition, Jahresabo Linux-Magazin, 2 Jahres-CDs, monatliche DELUG-DVD<br />

Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schülerausweises oder<br />

einer aktuellen Immatrikulationsbescheinigung (nicht beim Kombi-Abo EasyLinux). Der<br />

aktuelle Nachweis ist bei Verlän gerung neu zu erbringen. Informationen zu anderen Abo-<br />

Formen, Ermäßigungen im Ausland etc. unter https://shop.linuxnewmedia.de.<br />

Linux ist ein eingetragenes Warenzeichen von Linus Torvalds und wird von uns mit seiner<br />

freundlichen Genehmigung verwendet. »Unix« wird als Sammelbegriff für die Gruppe der<br />

Unix-ähnlichen Betriebssysteme (wie beispielsweise HP/UX, FreeBSD, Solaris) verwendet,<br />

nicht als Bezeichnung für das Trademark (»UNIX«) der Open Group. Der Linux-Pinguin<br />

wurde von Larry Ewing mit dem Grafikprogramm »The GIMP« erstellt.<br />

Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Prüfung<br />

durch die Redaktion – vom Verlag nicht übernommen werden. Mit der Einsendung von<br />

Manuskripten oder Leserbriefen gibt der Verfasser seine Einwilligung zur Veröffent lich ung<br />

in einer Publikation der Linux New Media AG. Für unverlangt eingesandte Manuskripte<br />

oder Beiträge übernehmen Redaktion und Verlag keinerlei Haftung.<br />

Autoreninfos: http://www.linux-user.de/Autorenhinweise. Die Redaktion behält sich vor,<br />

Einsendungen zu kürzen und zu überarbeiten. Das exklusive Urheber- und Verwertungsrecht<br />

für angenommene Manus kripte liegt beim Verlag. Es darf kein Teil des Inhalts ohne schriftliche<br />

Genehmigung des Verlags in irgendeiner Form vervielfältigt oder verbreitet werden.<br />

Copyright © 1999 - 2011 Linux New Media AG ISSN: 1615-4444<br />

SONDERAKTION!<br />

Testen Sie jetzt<br />

3 Ausgaben für<br />

NUR 3€*<br />

MINIABO ohne Risiko!<br />

Coupon senden an: <strong>LinuxUser</strong> Leser-Service A.B.O.<br />

Postfach 14 02 20. 4, D-80452 München<br />

JA,<br />

ich möchte die nächsten drei Ausgaben der <strong>LinuxUser</strong> DVD-Edition testen.<br />

Ich zahle für alle drei Ausgaben zusammen nur 3 Euro*.<br />

Wenn mich <strong>LinuxUser</strong> überzeugt und ich 14 Tage nach Erhalt der dritten Ausgabe nicht schriftlich<br />

abbestelle, erhalte ich <strong>LinuxUser</strong> jeden Monat zum Vorzugspreis von nur 7,23 Euro* statt 8,50 Euro*<br />

(Ersparnis 15%) im Einzelverkauf, bei jährlicher Verrechnung. Ich gehe keine langfristige Verpflichtung<br />

ein. Möchte ich die <strong>LinuxUser</strong> DVD-Edition nicht mehr haben, kann ich jederzeit schriftlich kündigen.<br />

Mit der Geld-zurück-Garantie für bereits bezahlte, aber nicht gelieferte Ausgaben.<br />

Name, Vorname<br />

Straße, Nr.<br />

PLZ<br />

Datum<br />

Ort<br />

Unterschrift<br />

*Preise gelten für<br />

Bestellungen aus Deutschland<br />

Mein Zahlungswunsch: Bequem per Bankeinzug Gegen Rechnung<br />

BLZ<br />

Konto-Nr.<br />

Gleich bestellen, am besten mit dem Coupon oder per:<br />

Telefon: 07131 / 2707 274 Fax: 07131 / 2707 78 601<br />

E-Mail: abo@linux-user.de Web: www.linux-user.de/probeabo<br />

Mit großem Gewinnspiel (Infos unter: www.linux-user.de/probeabo)<br />

06 | 09<br />

Beliefern Sie mich bitte ab der Ausgabe Nr.<br />

Sie können diese Bestellung innerhalb von zwei Wochen ohne Angabe von Gründen per<br />

105<br />

Brief, Fax oder<br />

E-Mail widerrufen. Zur Wahrung der Frist genügt die rechtzeitige Absendung des Widerrufs.<br />

Linux New Media AG • Putzbrunner Str. 71 • 81739 München<br />

LU2125M<br />

Bank


VORSCHAU<br />

Das nächste Heft: 03/2011<br />

Ausgabe 03/2011 erscheint am 17. Februar 2011<br />

© digital_vancanjay, sxc.hu<br />

Drucken, scannen, faxen<br />

Trotz jahrelanger Vorherrschaft hat der Computer<br />

den analogen Datenträger Papier noch nicht verdrängt.<br />

Im Alltag ergibt sich die Notwendigkeit,<br />

etwas zu drucken, ein Dokument zu faxen oder zu<br />

digitalisieren. Wer in dieser Situation über den<br />

passenden Workflow verfügt, der spart Zeit und<br />

Nerven. Unser Schwerpunkt in der kommenden<br />

Ausgabe hilft Ihnen, Hardware und Software so in<br />

Einklang zu bringen, dass Sie bei Bedarf ein Fax an<br />

die richtige Adresse schicken, beim Druck die<br />

Möglichkeiten voll ausreizen und beim Scannen<br />

nicht an Geräten und Motiven verzweifeln.<br />

Dokumentengeneratoren<br />

Wer im Vorfeld nicht genau weiß,<br />

welche Anforderungen auf einen<br />

Text zukommen, fährt am besten<br />

mit einem möglichst neutralen<br />

Markup und überlässt anschließend<br />

einem Dokumentengenerator<br />

die Arbeit des Konvertierens.<br />

Wie gut dies in der Praxis klappt,<br />

prüfen wir anhand von zwei Beispielen,<br />

die die Möglichkeiten<br />

und Grenzen des Verfahrens anschaulich<br />

demonstrieren.<br />

Fernwartung<br />

Für ein kleines Problem braucht es<br />

nicht immer den Support vor Ort:<br />

Eine Fernwartungssoftware hilft<br />

dabei, unnötige Fahrten und Zeit<br />

zu sparen. Teamviewer ermöglicht<br />

es Ihnen, direkt von Ihrem Rechner<br />

aus auf einen entfernten Host<br />

zuzugreifen. Wir testen, wie gut<br />

das in der Praxis funktioniert.<br />

Grafik-Power<br />

Die HD-6800-Grafikkarten von AMD versprechen Blu-rayund<br />

Spielegenuss inklusive 3D-Effekt. Sie gelten als<br />

gute Wahl für Games und Multimedia. Unser Test<br />

zeigt am Beispiel der HD6850, ob die Karte<br />

auch bei Stromverbrauch und Lautstärke<br />

punktet und wie Sie das Potenzial ausschöpfen.<br />

Außerdem zeigen wir, welchen<br />

Gewinn das FireGL-Pendant aus<br />

dem Profilager bietet.<br />

Ausgabe 01/2011 ist am 05. Januar 2011 erschienen<br />

Parallelbetrieb<br />

Wir beschreiben, wie Sie mit Anwendungen,<br />

die es für Linux und<br />

Windows gibt, auf dieselben Dateien<br />

zugreifen. Außerdem werfen<br />

wir einen Blick auf PC-Emulatoren,<br />

mit denen Sie Windows in<br />

einer virtuellen Maschine installieren:<br />

Vir tualBox und VMware<br />

sowie die Alternative Wine.<br />

Sicherheit und Backup<br />

Auch unter Linux sollten Sie Ihre<br />

Daten schützen, insbesondere auf<br />

dem Netbook oder Notebook, das<br />

schnell verloren gehen oder gestohlen<br />

werden kann. Wir stellen<br />

Methoden vor, mit denen Sie Daten<br />

in Sicherheit bringen. Gegen<br />

versehentliches Löschen hilft ein<br />

vernünftiges Backup.<br />

Alternative Desktops<br />

Wir zeigen, wie Sie eine aktuelle<br />

Linux-Version auf KDE 3 umrüsten<br />

und trotzdem den Komfort<br />

vieler aktueller KDE-4-Tools nutzen.<br />

Außerdem geben wir einen<br />

Überblick über alternative grafische<br />

Oberflächen für Linux wie<br />

XFCE oder die relativ junge,<br />

schlanke Alternative LXDE.<br />

MAGAZIN<br />

© Maksym Yemelyanov, 123RF<br />

Ausgabe 03/2011 erscheint am 3. Februar 2011<br />

Neue Wege zum Desktop Netzwechsel Sleuthkit 3.2<br />

Wer als Sysadmin beim PC-Pool<br />

nicht auf Linux setzen kann, dem<br />

weist die nächste Ausgabe Wege<br />

aus der Misere – mittels Vereinheitlichen<br />

und Zentralisieren:<br />

Server-based Computing, Webapplikationen,<br />

Clouds und vir tualisierte<br />

Client-Hardware.<br />

10 Uhr: am Flughafen, 14:30 Uhr:<br />

im Büro, 21:15 Uhr: im Hotel –<br />

Road Warrior führen ein unste tes<br />

Leben. Mitreisenden Notebooks<br />

geht‘s nicht besser: Devices und<br />

Routen oszillieren im schnellen<br />

Takt – Gift für offene Verbindungen.<br />

Eine Bestandsaufnahme.<br />

Die Toolsammlung kratzt auch<br />

gelöschte Informationen von der<br />

Festplatte. Das kommende Heft<br />

schaut der neuesten Version des<br />

Tools über die Schulter, wenn es –<br />

nicht nur auf Ext2- oder Ext3-<br />

Partitionen – ver schwun dene<br />

Files wiederherstellt.<br />

106<br />

02 | 11<br />

Die Redaktion behält sich vor, Themen aus aktuellem Anlass zu ändern oder zu streichen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!