freiesMagazin Juni 2011

Topthemen dieser Ausgabe

Ubuntu 11.04 – Vorstellung des Natty Narwhal Seite 4

Am 28. April 2011 wurde 11.04 freigegeben. Der Artikel gibt einen Überblick über die Neuerungen der Distribution mit besonderem Augenmerk auf das neue Desktop-System „Unity“, welches im Vorfeld bereits für viel Furore sorgte. (weiterlesen)

GNOME 3.0: Bruch mit Paradigmen Seite 15 Mit der Freigabe von GNOME 3 bricht der Entwicklerkreis rund um die Desktopumgebung mit vielen gängigen Paradigmen der Benutzerführung und präsentiert ein weitgehend überarbeite- tes Produkt, das zahlreiche Neuerungen mit sich bringt. Drei wesentliche Punkte sind in die neue Generation der Umgebung eingegangen: eine Erneuerung der Oberfläche, Entfernung von unnötigen Komponenten und eine bessere Außendarstellung. (weiterlesen)

UnrealIRC – gestern „Flurfunk“, heute „Chat“ Seite 24 Ungern brüllt man Anweisungen von Büro zu Büro. Damit Angestellte miteinander kommunizie- ren können, wird vielerorts zum Telefon gegriffen. Wird bereits telefoniert, muss die dienstliche E-Mail herhalten, um Kommunikationsbedürfnisse zu befriedigen. Was aber, wenn die Leitung belegt und das Senden einer E-Mail derzeit nicht möglich ist? Ein Chat ist die Lösung für das Problem. (weiterlesen)

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 ISSN 1867-7991 MAGAZIN

Editorial Traut Euch und macht mit

Wer nicht wagt, der nicht gewinnt Dies gilt im Übrigen für fast alles im Leben: sei Inhalt Die Reaktionen auf unsere These im Editorial es die Frage nach einer Gehaltserhöhung, das des letzten Monats [1] waren recht gut. Zur Erin- erste zögerliche Gespräch mit seinem Schwarm allgemein nerung: Wir fragten, ob – nach der bescheidenen oder der Umzug ins Ausland, um eines neues Le- Ubuntu 11.04 – Vorstellung von Natty S. 4 Teilnehmerzahl am Grafikwettbewerb [2] – auch ben zu beginnen. Wer diese Schritte nicht wagt, GNOME 3.0: Bruch mit Paradigmen S. 15 die Linux-Community zu einer reinen Konsumge- wird auf alle Fälle nicht enttäuscht, das stimmt. Der Mai im Kernelrückblick S. 21 sellschaft verkommt. Wie in den Leserbriefen auf Aber er wird auch nie die positiven Konsequen- Seite 49 nachzulesen ist, gab es einige Zustim- zen seines Handelns spüren, wenn er es nicht Anleitungen mungen, aber auch kritische Gegenstimmen. zumindest versucht. (Es erfolgt hier explizit der UnrealIRC – gestern „Flurfunk“, heute S. 24 Hinweis, dass das nicht für alles gilt. Der Sprung „Chat“ Was uns aber sehr gewundert hat, waren sehr aus einem Fenster im zehnten Stock eines Hoch- häufige Bemerkungen der Art „Ich habe mir eh hauses, nur um zu wissen, wie sich das anfühlt, Software keine Chancen ausgerechnet bei der Masse an ist eine blöde Idee.) Einblicke in Drupal S. 30 professionellen Einsendungen“. Wie jetzt jeder weiß, haben wohl sehr viele Leser so gedacht, Call for Papers zur Ubucon 2011 Hardware was die geringe Teilnahme am Wettbewerb erklä- Einige Leser werden es vielleicht schon gesehen Heimautomatisierung für Hardwarebastler S. 34 ren könnte. haben: Vom 14. bis 16. Oktober 2011 soll in Leip- (Teil 3) Achtung, jetzt wird es politisch: Das obige Bei- zig die fünfte Ubucon stattfinden [3]. spiel zeigt sehr schön, wieso man wählen sollte. Community Wieso erwähnen wir das hier explizit und verlin- Wenn jeder potenzielle Wähler einer „normalen“ Rezension: Praxiskurs Unix-Shell S. 45 ken es nicht nur im Veranstaltungskalender auf Partei (was auch immer das ist) sich denkt, dass Rezension: Computergeschichte(n) – S. 47 Seite 54 wie gewohnt? Zum einen, weil wir die die Wahl eh nichts bringt und andere schon wäh- nicht nur für Geeks Wurzeln von freiesMagazin nicht vergessen ha- len gehen werden, kann es am Ende passieren, ben, die ganz klar bei Ubuntu und beim Portal dass irgendeine extreme Partei mit ganz wenig Magazin ubuntuusers.de [4] liegen. Die Ubucon wird zu Stimmen die Wahl gewinnt. Editorial S. 2 einem großen Teil genau von den Leuten hin- Leserbriefe S. 49 Als alternatives Beispiel: Wer bei einem Wettbe- ter diesem Portal getragen. Zum anderen aber Veranstaltungen S. 54 werb erst gar nicht teilnimmt, hat automatisch ver- auch, weil die Veranstaltung die letzten Jahre Vorschau S. 54 loren. Erst durch die Teilnahme gibt es überhaupt einen sehr guten Anlaufpunkt für alle Neueinstei- Konventionen S. 54 eine Chance, etwas zu gewinnen – auch wenn ger und Anfänger gebildet hat. Die Vorträge be- Impressum S. 55 diese Chance vielleicht verschwindend gering ist. schäftigten sich nur selten mit extrem speziellen

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20112 MAGAZIN

Problemen, sondern zeigten das, was den Nor- wir auch gleich von Ubuntu 6.06 „Dapper Dra- Die Migration hat sich für uns gelohnt, da wir malanwender auch interessiert. ke“, dessen Support im Juni dieses Jahres auch zum einen ein performanteres System erhalten für die Serverversion ausläuft auf 6.0 haben, aber auch das leidige Thema der Doku- Sollte also ein freiesMagazin-Leser bzw. -Autor „Squeeze“. mentation erschlagen konnten. In Zukunft wird es Lust haben, Leipzig im Oktober einen Besuch ab- bestimmt noch die eine oder andere Neuerung zustatten, kann er auf der Ubucon vorbei schau- Gleichzeitig konnten wir so alles, was bisher be- geben, die sich unter Umständen auch (positiv) en und dabei auch gleich einen Vortrag halten. reits läuft, endlich einmal dokumentieren und be- auf die Leser auswirkt. Wer meint, dass sich das nicht lohnt, weil ganz kommen eine einmalige Gelegenheit klar Schiff viele andere, viel bessere Vorschläge bei der zu machen, sodass wirklich nur noch das läuft, Redaktioneller Hinweis: Obiger Abschnitt zur Ubucon-Organsation eingehen und der eigene was gebraucht wird. Die vorherigen Administrato- Vortrag dagegen „schlecht“ aussieht, sollte sich Serverumstellung stammt von unserem Server- ren hatten hier aber schon viel Vorarbeit geleistet Administrator Stefan Betz. noch einmal die ersten Absätze dieses Editorials und alle Dienste sinnvoll konfiguriert. durchlesen. Bei der Neuinstallation haben wir auch einige an- Und nun wünschen wir Ihnen viel Spaß mit der Serverumzug dere Sachen mitbehoben, welche in der Vergan- neuen Ausgabe. Wie sicherlich einige unserer Webseiten- genheit negativ aufgefallen sind. So haben wir Besucher wissen, wird der Server, auf denen die auf dem neuen Server jetzt ein LVM [6], welches Ihre freiesMagazin-Redaktion freiesMagazin-Dienste wie Webseite, FTP, Ver- es ermöglicht, Snapshots vom System anzule- sionsverwaltung, Wiki etc. laufen, von der Firma gen oder die Volumes in der Größe zu verändern. LINKS x|encon [5] gesponsort. Da der bisherige Server Zusätzlich bekommt jeder wichtige Dienst für sei- eine für die Zukunft ungenügende Hardwareaus- ne Daten ein eigenes Volume und kann so nicht [1] http://www.freiesmagazin.de/freiesMagazin-2011- stattung hat, haben wir (ohne unser Zutun) einen das Root-Dateisystem vollschreiben. 05 neuen Server gestellt bekommen: [2] http://www.freiesmagazin.de/20110430- gewinner-des-grafikwettbewerbs Hardwarevergleich Die Migration der Daten startete am Freitag [3] http://ikhaya.ubuntuusers.de/2011/05/12/ubucon- Hardware Alter Server Neuer Server 27.05.2011 um 20:00 Uhr [7]; vorab hatten wir 2011-call-for-papers-gestartet/ RAM 256MB 1024MB die Daten aber zu Testzwecken schon einmal her- HDD 20GB (nach Upgrade!) 40GB überkopiert. Durch rsync hatte dieser Teil nur cir- [4] http://ubuntuusers.de/ CPU 1x 2x ca 20 Minuten gedauert. Die komplette Migration [5] http://www.xencon.net/ HVM Nein Ja dauerte in etwa zwei Stunden, da natürlich wie [6] https://secure.wikimedia.org/wikipedia/de/wiki/ VNC Nein Ja bei jeder großen Umstellung noch ein, zwei Sa- Logical_Volume_Manager chen im Vorfeld nicht ganz bekannt waren. [7] http://www.freiesmagazin.de/20110527- Da wir auf einen neuen Server migrierten, im- serverumzug plementierten wir natürlich auch IPv6, welches Nachdem alle Dienste auf dem neuen Server mi- x|encon mittlerweile auch für (fast) alle Produk- griert waren, wurden auch die DNS-Einträge ge- te anbietet. Bei dieser Gelegenheit schwenkten ändert und IPv6 „scharfgeschaltet“. Das Editorial kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20113 DISTRIBUTION

Ubuntu 11.04 – Vorstellung des Natty Narwhal von Hans-Joachim Baader

m 28. April 2011 wurde Ubuntu 11.04 aktuellen Distributionen freigegeben. Dieser Artikel gibt einen nahezu gleich sind und A Überblick über die Neuerungen mit be- überall gleich gut funk- sonderem Augenmerk auf das neue Desktop- tionieren. System „Unity“. Es sei noch angemerkt, Redaktioneller Hinweis: Der Artikel „Ubuntu dass es sich bei die- 11.04“ erschien erstmals bei Pro-Linux [1]. sem Artikel nicht um einen Test der Hardwa- Vorwort rekompatibilität handelt. Planmäßig wie jedes halbe Jahr erschien die Es ist bekannt, dass neue Version 11.04 „Natty Narwhal“ der Linux- Linux mehr Hardware Distribution Ubuntu. Unter den vielen Neuerun- unterstützt als jedes an- gen ragt wohl eine besonders heraus: der neue dere Betriebssystem Desktop „Unity“, der zuvor schon als Desktop für und das überwiegend Netbook-Systeme im Einsatz war und jetzt der bereits im Standard- Standard-Desktop auf allen Rechnern ist, die die Lieferumfang. Ein Test Hardware-Anforderungen erfüllen. Schon im Vor- spezifischer Hardware feld wurde viel über das Für und Wider von Unity wäre zu viel Aufwand diskutiert. für wenig Nutzen. Dies Wie ihr Vorgänger Ubuntu 10.10 (siehe „Ubuntu Unity mit Starter, Kontrollzentrum und schmalen Scrollbalken. sei denen überlassen, 10.10“, freiesMagazin 11/2010 [2]) ist die neue die es für nötig halten. Oberfläche und die Server-Edition. Die weiteren Version keine Version mit längerfristigem Sup- Die bekannten Probleme von Ubuntu 11.04 mit offiziell unterstützten Varianten sind Kubuntu, Xu- port. Sie wird in allen Varianten 18 Monate mit Hardware sind in den Anmerkungen zur Veröf- buntu, Edubuntu, Ubuntu Studio und Mythbuntu. Sicherheits- und anderen wichtigen Updates ver- fentlichung [3] aufgeführt. Dieser Artikel wird sich auf Ubuntu und Kubun- sorgt. Ein Update ohne Neuinstallation von der tu beschränken. Aus praktischen Gründen sind Da eine Erprobung auf realer Hardware nicht das Version 10.10 wird offiziell unterstützt. auch andere Einschränkungen nötig. So wurden Ziel ist, werden für den Artikel zwei identische vir- Ubuntu erscheint in mehreren Varianten, deren natürlich zahlreiche zur Distribution gehörende tuelle Maschinen, 64 Bit, unter KVM mit jeweils Hauptunterschied in den Installationsmedien und Softwarepakete geändert, manche auch ersetzt. 768 MB RAM verwendet. Weil KVM nicht die nö- dem Umfang der vorinstallierten Software liegt. Mit wenigen Ausnahmen kann auf diese Ände- tigen Voraussetzungen für Unity bietet, wird ei- Die von Canonical hervorgehobenen Varianten rungen nicht eingegangen werden; man darf ne weitere 64-Bit-VM unter Virtualbox hinzugezo- sind jedoch die Desktop-Edition mit Unity als annehmen, dass die meisten Pakete unter allen gen.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20114 DISTRIBUTION

Installation Im Folgenden soll nur die Installation von der 11.04, kann das allerdings zu kuriosen Vorschlä- Ubuntu wird meist von einem Live-System aus, Desktop-DVD kurz vorgestellt werden. Wer den gen wie „Ubuntu 11.04 auf Ubuntu 11.04 aktuali- das als CD und umfangreichere DVD verfügbar Logical Volume Manager (LVM) verwenden will, sieren“ führen. ist, installiert. Ferner ist eine Installation von der muss zur textbasierten Installation von der DVD „Alternate-CD“ möglich, die im Textmodus läuft, oder der Alternate-CD wechseln, da diese Mög- Das Dateisystem Btrfs kann nun ausgewählt wer- aber wesentlich mehr Flexibilität als die grafische lichkeit im grafischen Installer nach wie vor fehlt. den und das System sollte dank eines GRUB- Installation besitzt. Die Alternate-Installation läuft ansonsten fast ge- Moduls auch mit diesem booten können. Btrfs nauso ab wie die grafische Installation. Durch wird in den Anmerkungen zur Veröffentlichung Für Ubuntu 11.04 werden 384 MB RAM für den Boot-Optionen steht aber eine erweiterte Instal- ausdrücklich noch als experimentell gekenn- Unity-Desktop als Mindestanforderung angege- lation zur Verfügung, mit der man weitgehende zeichnet, aber mit einigen kleinen Einschränkun- ben. Mit 512 MB und mehr läuft das System al- Kontrolle über den ganzen Vorgang hat. gen sollte es nutzbar sein. Im Test kam es wäh- lerdings wesentlich besser. Kubuntu ist aufgrund rend der Formatierung zu einem nicht in den An- des größeren Speicherbedarfs von KDE unter merkungen genannten Fehler, sodass ext4 als 512 MB RAM fast nicht zu benutzen – aber wer Dateisystem gewählt werden musste. Auch bei den Rechner intensiv nutzt, sollte bei den heuti- einer weiteren Testinstallation trat dieser Fehler gen Speicherpreisen lieber gleich in 4 bis 8 GB auf. RAM und ein 64-Bit-System investieren, so dass reichlich Platz für die Anwendungen ist. Xubun- tu und die Server-Edition sollten weiterhin mit 128 MB auskommen.

Merkwürdige Formatierungsoptionen.

Die Installation unterlag nur wenigen Änderun- Fehler beim Anlegen von Btrfs. gen gegenüber der letzten Version, die ja etwas umgestellt und verbessert wurde. Das Einrich- Von diesen Makeln abgesehen funktioniert die ten der Festplatte ist nun noch einfacher und Partitionierung korrekt. An das Einrichten min- bietet einige weitere Optionen. So kann ein be- destens einer Swap-Partition wird man gegebe- reits installiertes Ubuntu-System vom Desktop- nenfalls erinnert und es wird gewarnt, wenn die Installer aus aktualisiert oder neu installiert wer- Root-Partition zu klein für die Installation ist. Hier den, wenn eine -Verbindung vorhanden hat das Programm gegenüber der letzten Ver- Startbildschirm der Desktop-DVD. ist. Ist die vorherige Installation bereits Ubuntu sion hinzugelernt, denn es warnt nun nicht mehr,

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20115 DISTRIBUTION wenn man die Root-Partition klein macht und Im letzten Schritt gibt man seinen Namen, An- gen ausschließlich auf den Desktop beziehen, ist eine separate, ausreichend große Partition für meldenamen, Passwort und den Computerna- dies nur ein kleines Detail am Rande. Wie ge- /usr anlegt. Der Einbindungspunkt kann nun men ein. Wenn zuvor bereits per DHCP ein Na- wohnt hat Root keinen direkten Zugang zum Sys- nicht mehr frei eingegeben werden, sondern man me ermittelt werden konnte, wird dieser als Vor- tem. Zugang zum Root-Account ist aber über das ist auf die Auswahl beschränkt, die Ubuntu vor- gabe angezeigt. Wenn erkannt wird, dass die Kommando sudo vorhanden. Damit kann man je- gibt. Installation in einer virtu- den beliebigen Befehl ausführen, nachdem man ellen Maschine läuft, wird sein eigenes Passwort eingegeben hat. Wenn dagegen der Name benu man, nachdem man als Root eingeloggt ist, ein tzer-virtual-machine Passwort vergibt, ist auch das direkte Einloggen vorgegeben. Optional als Root möglich. können Daten im Home- Verzeichnis verschlüsselt Der GNOME-Desktop benötigt mit einem Termi- werden. Während man nalfenster ohne weitere offene Programme etwa das Ende der Installa- 350 MB, nachdem in der Vorversion noch 220 tion abwartet, kann man MB gemessen wurden. Der Grund für diese Zu- nun noch einige Tipps zu nahme ist zum einen der Daemon ubuntuone- Ubuntu ansehen. syncd, der im Testsystem mehr Speicher frisst als X11. Zum anderen ist auch der zeitgeist- Laufender Betrieb daemon hinzugekommen, der auf diesem Sys- tem 21 MB resident belegt. „Erschreckend“ ist, Das System startet, wie wenig dynamische Bibliotheken dabei ge- gleichgültig ob Ubuntu meinsam benutzt werden. So belegt ubuntuone- oder Kubuntu, schnell. syncd 45 MB resident, davon sind nur 11 MB Sofern kein automati- dynamischen Bibliotheken zuzuordnen. Hier wä- sches Login konfiguriert re einmal ein Aufräumen überfällig. Allerdings ist wurde, muss man sich das Problem, von ubuntuone-syncd abgesehen, Dateisystemauswahl bei der Partitionierung. anmelden, was unter nicht Ubuntu-spezifisch. Ubuntu mit gdm, unter Direkt nach der Definition der Partitionen beginnt Kubuntu mit kdm geschieht. Danach wird der KDE benötigt etwa 430 MB, die Zunahme im Ver- der Installer mit der Partitionierung und der Instal- vollständige Desktop zügig aufgebaut. gleich zum letzten Test scheint aber auf Änderun- lation der Pakete im Hintergrund. Ein Fortschritts- gen an der virtuellen Maschine zu beruhen, wo- balken zeigt von hier ab den Stand der Instal- Der Kernel wurde auf Linux 2.6.38.2 aktuali- durch X11 mehr Speicher belegt. Das zeigt wie- lation an. Parallel dazu kann man die Zeitzone siert (siehe „Was Natty antreibt: Ein Blick auf der einmal, dass die Angaben zum Speicherver- auswählen und danach das gewünschte Tastatur- den Kernel von Ubuntu 11.04“, freiesMagazin brauch nur Anhaltswerte darstellen, die sich je Layout einstellen. 05/2011 [4]). Da sich die folgenden Ausführun- nach Hardware erheblich unterscheiden können.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20116 DISTRIBUTION

Unity nutzbar ist, bleibt aber unklar – in die normalen tionen dazu anzuzeigen, so wie es Dateimana- Die größte Neuerung im Desktop-Bereich ist GNOME-Komponenten kann sie noch nicht inte- ger üblicherweise schon machen. Aber vielleicht zweifellos Unity, das allerdings nicht als eige- griert sein. kommt das alles noch. ne Desktopumgebung gelten kann, sondern le- Unity benötigt derzeit 3-D-Beschleunigung in der diglich als alternative Oberfläche für GNOME. Hardware, wohl weil es als Compiz-Plug-in rea- Unity entstand als Netbook-Oberfläche und fei- lisiert ist. Wo 3-D nicht verfügbar ist, wird auf erte in der Netbook-Edition von Ubuntu 10.10 den klassischen GNOME-Desktop umgeschaltet. sein Debüt. Nach Differenzen zwischen Ubuntu Dies kann man auch von Hand einstellen, wenn und GNOME (GNOME 3 kam nach Ansicht von man Unity nicht verwenden will. Geplant ist aber, Ubuntu zu früh) wurde das Ziel ausgegeben, dass Unity künftig auch ohne 3-D auskommen Unity zur Standard-Oberfläche zu machen, und soll. Dieses „Unity 2-D“ ist jetzt schon auf der nach zwischenzeitlichen Zweifeln [5] auch er- ARM-Netbook-Edition von Ubuntu zu finden und reicht. Aufgrund der Kontroversen, in die sich wird wohl in Ubuntu 11.10 Standard. Das klas- auch der bekannte Buchautor Michael Kofler mit sische GNOME wird damit entfallen – eine logi- einer kritischen Beurteilung einschaltete [6], durf- sche Entscheidung, da GNOME 2.x dann schon te man sehr gespannt sein, wie sich Unity mittler- alt ist und nicht mehr gewartet wird. Die Weiter- weile anfühlt. entwicklung von Unity wird also auf GNOME 3 Die Schnellauswahl (Dash). aufsetzen (müssen). Um herauszufinden, wie sich Unity anfühlt und Vorweg sollen zwei wesentliche Komponenten, warum es kritisiert wurde, wurde überlegt, wel- der Starter und die Schnellauswahl, erwähnt wer- che Aktionen man üblicherweise auf dem Desk- den, damit die nachfolgenden Ausführungen kla- top ausführt, um Anwendungen zu starten rer werden. Der markante Starter, der am linken oder zu organisieren. Normalerweise setze ich Fehlende Hardware-Voraussetzungen für Bildschirmrand eingeblendet wird, dient haupt- KDE4 ein und arbeite hauptsächlich in mehre- Unity. sächlich zum schnellen Starten von Program- ren -Fenstern mit einer größeren Anzahl men. Durch Klick auf das Ubuntu-Symbol oben von Tabs, einer Menge von Konsolen-Fenstern, Unity beruht noch ganz auf GNOME 2 (2.32.1) wird die Schnellauswahl (Dash) gestartet, mit der ebenfalls mit zahlreichen Tabs, und Editoren. Die und Compiz, aber ein paar Komponenten von man nach Anwendungen suchen oder sich durch meisten Aufgaben sind auf der Kommandozeile GNOME 3 sind enthalten: Die Barrierefreiheits- Kategorien klicken kann. Bei der Dash handelt weit schneller als durch Herumklicken auf einer technologie -orca, der Client für soziale es sich im Prinzip um einen Browser, doch lei- wie auch immer gearteten Oberfläche zu erledi- Netze Gwibber, das Online-Hilfeprogramm Yelp der kann sie nicht als solcher bedient werden. So gen, wenn man nur einigermaßen mit den Kom- und interessanterweise auch der Aktivitätsauf- fehlt eine einfache Möglichkeit, eine Ebene zu- mandos und der Shell vertraut ist. Sicher hat die- zeichnungsdienst Zeitgeist 0.7.1. Mit Zeitgeist rück zu gehen und beim Überfahren eines Icons se Arbeitsweise dabei aber keine Allgemeingül- wird eine semantische Suche möglich; wo sie mit dem Mauszeiger wäre es sinnvoll, Informa- tigkeit.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20117 DISTRIBUTION

ren, mit denen man direkt zu einem der Arbeits- flächen gelangt. Diese wurden auf auf Strg + F1 bis Strg + F4 gelegt wie bei KDE. Das Umschal- ten mittels dieser Tasten ist dann mit einer kurzen Animation verbunden. Es wäre sinnvoll, wenn die- se Tasten standardmäßig definiert wären; es gibt zwar zahlreiche vordefinierte Tasten, doch genau diese fehlten.

Das Starten von Programmen per Tastatur ist mit Alt + F2 möglich. Das ist die schnellste und oft bevorzugte Methode auch unter KDE. Kennt man den Namen des Programms nicht genau, kann man die Programmauswahl öffnen, welche instal- lierte Programme anzeigt. Über das Suchfeld fin- det man schnell das Gewünschte. Gestartet wird das Programm dann mit einem Einzelklick. Lei- der ist das inkonsistent, da die meisten Aktionen ansonsten einen Doppelklick erfordern, so wie es üblicherweise in GNOME Classic eingestellt ist.

Nicht nur Programme, sondern auch Ordner, die man dann in Nautilus öffnet, kann man auf diese Weise suchen. Generell scheint Unity stark auf das Suchen und weniger auf das Durchstöbern von Verzeichnishierarchien ausgerichtet zu sein. Dies ist eine durchaus praktische Neuerung, die Der Arbeitsflächenumschalter. wohl durch das Webbrowsen inspiriert wurde (die meisten Webseiten erreicht man, indem man da- Die Fenster werden bei mir in vier virtuellen Wechseln zwischen diesen ist über den im Star- nach sucht). Desktops organisiert, sodass das Umschalten ter vorhandenen Pager möglich. Klickt man die- zwischen den Arbeitsflächen zu den häufigsten sen, sieht man die Arbeitsflächen in einer Über- Anwendungen lassen sich natürlich auch mit Tätigkeiten gehört. Zufällig enthält Unity stan- sicht und kann durch Doppelklick zu einer davon dem Starter starten; sie lassen sich ebenso aus dardmäßig ebenfalls vier Arbeitsflächen, die wechseln. Es ist klar, dass das zu umständlich ist. dem Starter entfernen (durch Rechtsklick aus allerdings im Quadrat angeordnet sind. Das Glücklicherweise kann man Kurztasten definie- dem Kontextmenü oder durch Ziehen auf den

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20118 DISTRIBUTION

Mülleimer), außer dem Arbeitsflächenumschalter ten Neuerungen in Ubuntu 10.04 LTS gehörte, wegt, wird der eigentliche Scrollbalken einge- und dem Mülleimer. Das Hinzufügen funktioniert mehr Sinn, da damit der Weg des Mauszeigers blendet, je nach Platz innerhalb oder außerhalb durch das Ziehen aus dem Dashboard oder in- vom und zum Starter kürzer ist. Ob man sich dar- des Fensters. Das spart Platz und funktioniert dem man eine bereits gestartete Anwendung, de- an gewöhnen kann oder will, ist eine andere Fra- gut. Aber auch das wird nicht jedermanns Ge- ren Icon im Starter erscheint, per Kontextmenü ge. Wer es nicht will, kann immer noch ein an- schmack sein und ist auf großen Bildschirmen dort fixiert. deres auswählen, das die Buttons rechts eher unnötig. Es sollte daher eine Option ge- belässt. ben, die alten Scrollbalken wieder herzustellen. Unity enthält auch Vertrautes: Ein Klick in ein Das wäre schon im Rah- Fenster bringt es in den Vordergrund; Alt + Tab men der Barrierefreiheit erlaubt Wechsel zwischen Fenstern, allerdings notwendig. Es ist gerade- zeigt es nicht den Namen der Anwendung an, zu grotesk, dass man sich was das Finden der richtigen Anwendung schwie- auf der einen Seite der Bar- rig machen kann. Auch Copy & Paste funktionie- rierefreiheit annimmt und ren wie erwartet. dann gleichzeitig ein neu- Eine weitere, ziemlich kontroverse Neuerung von es, für manche Benutzer Unity ist, dass die Menüleiste von Anwendungen schwer bedienbares Ele- grundsätzlich im Panel am oberen Bildschirm- ment einführt, das sich rand erscheint. Das heißt, immer das Menü der nicht einmal abschalten gerade aktiven Anwendung erscheint dort, die lässt. Der neue Scrollbal- anderen sind nicht sichtbar und belegen damit ken ist übrigens auf rei- keinen Platz. Der Vorteil der Platzersparnis ist of- ne GTK+-Programme be- fensichtlich, die große Entfernung zwischen An- schränkt und einige Pro- wendungsfenster und Menü, die sich auf großen gramme, die nicht in diese Bildschirmen ergeben kann, ist allerdings sicher Kategorie fallen, z. B. Fire- ein Nachteil. Ändern kann man es leider mo- fox und Programme, die mentan nicht. Eine kleine Änderung könnte hier mit wxWidgets geschrie- schon einen guten Kompromiss ergeben: Nur bei ben sind, zeigen weiterhin maximierten Anwendungen sollte die Menüleiste Die Programmauswahl. den alten Scrollbalken. Zu- im Panel erscheinen. Noch besser wäre es aller- dem wurden einige Anwendungen per Schwarzer Nicht Unity-spezifisch ist eine weitere Neuerung dings, dies konfigurierbar zu machen, wobei ei- Liste [8] von dem neuen Design ausgeschlossen. in Ubuntu 11.04: GNOME-Programme verwen- ne globale Einstellung noch einmal fensterspezi- den nun einen Scrollbalken, der weniger Platz [7] Wenn man eine Anwendung maximiert, blen- fisch änderbar sein sollte. benötigt. Effektiv ist der Scrollbalken nur noch det sich der Starter aus. Durch Anfahren des In Kombination mit dem Starter ergibt die Anord- durch eine schmale Linie angedeutet und erst linken Bildschirmrandes wird er wieder einge- nung der Fensterknöpfe links, die zu den strittigs- wenn man den Mauszeiger in dessen Nähe be- blendet. Das Verschieben von Fenstern auf eine

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/20119 DISTRIBUTION

wendungsmenü nur bei maximierten Anwendun- gen im Panel anzuzeigen. Hat man viele Anwendungen in den Starter ein- getragen oder gestartet, werden die Icons schräg gestellt (Ziehharmonika-Effekt). Das ist ein pfiffi- ger Effekt, aber das Scrollen, das teilweise lang- sam ist, wird damit nicht ganz vermieden. Alter- nativen wären kleinere Icons oder die Darstel- lung in zwei oder mehr Spalten. Kleinere Icons lassen sich über CompizConfig einstellen. Damit nun (endlich) zum Thema Konfiguration. Standardmäßig mitgeliefert wird das GNOME- Kontrollzentrum, dessen Punkte unter GNOME Classic auch im Menü „System“ zu finden sind. Viele Aspekte, auch von Unity, sind über Com- pizConfig änderbar. Ärgerlicherweise ist dieses Programm aber nicht vorinstalliert. Man sollte es daher gleich installieren; es verbirgt sich im Software-Center hinter „Einstellungen für erwei- terte Arbeitsoberflächeneffekte (ccsm)“. Damit lassen sich einige, aber noch nicht alle Aspekte von Unity anpassen. Beispielsweise muss man den Starter auf der linken Bildschirmseite belas- sen. Kritik von Michael Kofler Ein Starter mit vielen Icons. Im Artikel von Michael Kofler [6] wurden eine Rei- he von Dingen an Unity kritisiert. Die genannte andere Arbeitsfläche funktioniert, wie bei KDE, Anwendung maximiert ist, immer deren Menü an- „übertriebene Platzoptimierung“ kann man durch- über das Fenstermenü. Die Option „Fenster ak- gezeigt, selbst wenn eine andere, nicht maximier- aus nachvollziehen, wenn man z. B. das Erschei- tivieren, wenn sich die Maus darüber befindet“, te Anwendung aktiv ist. Denn die maximierte An- nen des Menüs von Anwendungen im globalen die es im GNOME-Kontrollzentrum gibt, sollte wendung wird ja aktiv, wenn man mit dem Maus- Panel betrachtet. Wie schon geschrieben, wäre man ausgeschaltet lassen, da sie nicht korrekt zeiger zur Menüleiste fährt. Das wäre ein weite- es optimal, wenn das Menü nur bei den maximier- mit Unity zusammenarbeitet. So wird, wenn eine res Argument für den obigen Vorschlag, das An- ten Anwendungen ins Panel gesetzt werden wür-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 10 DISTRIBUTION de. Das genaue Verhalten sollte über Optionen Mit den vorhandenen Einstellungen kann man Den Kritikpunkten von Herrn Kofler kann ich mich fein einstellbar sein. aber den Schatten unsichtbar machen. insgesamt anschließen. Allerdings hat er eine Be- „Im Launcher (also im Startmenü) befinden taversion getestet. In der offiziellen Version wur- Das „Zielgruppenproblem“ sehe ich weniger.  sich außer dem Suchmenü gerade einmal acht den offensichtlich eine Menge Probleme beho- Ubuntu richtet sich, auch nach den jüngsten Äu- Icons (auch wenn der Bildschirm 1920×1600 ben, so dass aus obiger Liste nicht mehr viel üb- ßerungen von Marketing Manager Gerry Carr [9], Pixel groß ist). Die Icons sind fix vorkonfigu- rig bleibt. immer noch überwiegend an Umsteigewillige aus riert. Die Folge: Ich arbeite mittlerweile voll- dem Windows-Lager. Damit ist die Aussage von Als vorläufiges Fazit kann man festhalten: Unity kommen ohne Startmenü. Häufig benötigte Herrn Kofler entkräftet. Natürlich nutzen auch vie- enthält gute Ideen und ist keinesfalls unbenutz- Programme sind im Dock, den Rest starte ich le andere Anwender Ubuntu, wie Herr Kofler be- bar – auch auf großen Bildschirmen nicht. Mit mit Alt + F2 .“ stätigt; das eine schließt das andere nicht aus, mehr Optionen wäre es aber wesentlich besser. Bis auf die Anwendungs- und Ordnerauswahl zumal es für die meisten Benutzer keinen Grund Die Schlussfolgerung ist für mich aber eine an- und den Mülleimer lassen sich alle Icons aus- gibt, von Ubuntu weg zu wechseln. dere als für Herrn Kofler. Wer Verbesserungen in tauschen. Unity sehen will, sollte darauf drängen, dass sie Es folgt ein Blick auf die konkret aufgeführten Kri-  „Unter Unity gibt es ein Zentralmenü im Pa- auch passieren, selbst Patches schreiben oder tikpunkte von Michael Kofler: nel (nicht mehr in der Leiste des jeweiligen das Projekt forken. Fürs Erste kann man, wenn Fensters). Auf kleinen Bildschirmen spart das man von Unity genervt ist, auf GNOME Classic „Das Unity-Dock befindet sich am linken Bild-  Platz, auf großen Bildschirmen macht es die umschalten. In der nächsten Ubuntu-Version soll- schirmrand. Wer das Dock lieber rechts, unten Bedienung des Menüs aber extrem umständ- te man Unity aber auf jeden Fall eine erneute oder oben hätte – Pech gehabt.“ lich. Auch hier keine Wahlmöglichkeit.“ Chance geben. Korrekt, aber zumindest ist derzeit eine Konfi- Sehe ich genauso, wie oben schon erläutert. gurationsmöglichkeit vorgesehen, nur funktio-  „Der Arbeitsflächenumschalter ist fixer Be- GNOME-Desktop niert sie nicht. standteil des Docks – ganz egal, ob man Ar- Wenn man Unity und die Scrollbalken ausnimmt, „Die Größe der Icons ist fix vorgegeben (kann  beitsflächen verwenden möchten oder nicht. bringt erstmals seit Bestehen von Ubuntu eine mit CCSM verändert werden).“ (Und gerade Einsteiger, für die Unity ja an- neue Version keine wesentlichen Änderungen Da sie geändert werden kann, existiert das scheinend konzipiert wurde, werden Arbeits- im GNOME-Desktop, denn die GNOME-Version Problem gar nicht. flächen anfänglich wohl eher nicht brauchen.)“ blieb 2.32 (genaugenommen 2.32.1). Im Umfeld  „Fenster sind von Schatten umgeben. Das Das ist zum einen Ansichtssache; Ubuntu gab es dennoch, wie nach den turbulenten Ent- sieht gut aus – es sei denn, man will Screen- ist der Ansicht, dass seine Zielgruppe – die wicklungen der letzten sechs Monate zu erwar- shots erstellen. Früher ließ sich der Schatten Windows-Umsteiger – mehrere Arbeitsflächen ten war, zahlreiche Änderungen. mit dem CCSM einstellen – jetzt nicht mehr verwenden möchten. Außerdem verschwin- (siehe Launchpad). (Abhilfe: Erstellen Sie Ih- det der Arbeitsflächen-Umschalter nach ei- Als Webbrowser wird jetzt Firefox 4 einge- re Screenshots mit Shutter!)“ nem Neustart, wenn man über die Compiz- setzt. Das Standard-Office-Paket änderte sich Der Schatten lässt sich sehr wohl einstellen. Einstellungen die virtuelle Größe des Desk- zu LibreOffice 3.3.2. Banshee 2.0.0 wurde der Leider fehlt ein einfacher Ein-/Aus-Schalter. tops auf 1x1 gesetzt hat. Standard-Musik-Player anstelle von Rhythmbox.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 11 DISTRIBUTION

Der X-Server 1.10.1 und Mesa 7.10.2 bilden die KDE-Desktop Stelle verschoben werden. GTK-Anwendungen Basis für die grafische Oberfläche einschließlich Kubuntu [10] nutzt KDE SC 4.6.2, das unter passen sich optisch dank eines neu geschrie- der 3-D-Beschleunigung. anderem ein Neudesign der Aktivitäten bringt. benen Oxygen-GTK-Themes noch besser in die Man kann nun Anwendun- KDE-Umgebung ein. gen und Dateien einer Ak- Kubuntu bringt neu ein Modul zur Verwaltung von tivität zuordnen. Wechselt Samba-Shares direkt aus dem Eigenschaftenme- man zu einer bestimmten nü von Dolphin und ein neues Sprachauswahl- Aktivität, sieht man nur Modul mit. Die Druckerverwaltung wurde eben- noch deren zugehörige falls verbessert. Anwendungen. Das Kon- figurieren von Aktivitäten verursacht zunächst et- was Rätselraten, bis man darauf kommt, dass be- stimmte Stellen des Sym- bols anklickbar sind. Das könnte ein Hinweis sein, dass das Ganze intuitiver zu bedienen ist, als man im ersten Moment denkt. Die Energieverwaltung wurde neu geschrieben Ubuntu Software Center mit Bewertungen, Empfehlungen und und kann nun mit Plug- Definition von Aktivitäten in KDE. Neuheiten. ins erweitert werden. Mit dem neuen Richtlinien- Als Webbrowser kommt weiterhin rekonq zum Der Online-Dienst Ubuntu One ermöglicht über Agenten kann man Energieprofile definieren, die Einsatz, jetzt in Version 0.7.0. Das Programm er- sein Steuerfeld jetzt das selektive Synchronisie- festlegen, wann Energiesparfeatures aktiv sein innert mit seinem auf einen einzelnen Button re- ren und die Synchronisation von Dateien soll sollen und wann nicht. duzierten Menü entschieden an Chrome. schneller vonstatten gehen. Das Software Center ermöglicht es nun, installierte Anwendungen zu Der Window- und Compositing-Manager KWin Mein „Lieblings“-Themenblock, um darauf ein- bewerten, auch in Form von Anmerkungen, und wurde optimiert und kann jetzt mehr Funktionali- zuhacken, war in den letzten Versionen stets hat weitere Verbesserungen in der Benutzbarkeit tät der Grafiktreiber nutzen. Benachrichtigungen KPackageKit. Das ist nun vorbei. In der neuesten erhalten. Bewertungen zu einem Paket kann man von Programmen, die bisher bei der Taskleiste Version wurde eine Repository-Verwaltung hinzu- nur abgeben, wenn man es installiert hat. eingeblendet wurden, können an eine beliebige gefügt, sodass nun alles, was man für die Pa-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 12 DISTRIBUTION ketverwaltung und Updates benötigt, vorhanden in nicht zur Verfügung steht. Warum Ubuntu hier In den bekannten Anwendungen Banshee und ist. Zwar hätte man die Oberfläche, wie schon aber nicht das Gnash-Plug-in anbietet oder vor- Totem ließen sich GStreamer-Plug-ins, die die mehrfach angemerkt, platzsparender gestalten installiert, ist rätselhaft, denn es funktioniert mit standardmäßig nicht unterstützbaren Formate können und möglicherweise ist die Suchfunktion den meisten Flash-Videos gut. So muss man es kennen, wie gewohnt problemlos installieren. noch nicht ganz intuitiv, aber das Programm ver- manuell aus dem Paket browser-plugin-gnash Fast jedes Audio- und Video-Format ließ sich da- sieht seinen Dienst einwandfrei. installieren. mit abspielen. Ansonsten bringt KDE ein neues Standard- Hintergrundbild mit. Die Icons aus der letzten Ver- sion wurden beibehalten, was Geschmackssa- che ist. Viele KDE-Anwendungen wurden natür- lich auch stark verbessert. Insgesamt hinterlässt KDE einen exzellenten Eindruck. Multimedia im Browser und auf dem Desktop Firefox, jetzt in Version 4, bringt als eine große Neuerung Unterstützung für WebM mit. Zahlrei- che weitere Plug-ins zum Abspielen von Videos in freien Formaten sind vorinstalliert. Die vorinstallierte Erweiterung Ubuntu Firefox Modifications hat Version 0.9 erreicht. Darin ist der bereits bekannte Plug-in-Finder-Service ent- halten. Will man beispielsweise ein Video in ei- ner Webseite abspielen, lassen sich komfortabel passende Plug-ins finden und installieren. Das funktionierte im Test nicht immer; wenn der Bild- schirm schwarz blieb, konnte man aber die Op- tion „Im Video-Abspieler öffnen“ wählen. Dieser meldete dann, dass ein Plug-in fehlte und bot eine Suche danach an. Ein passendes Plug-in konnte dennoch nicht gefunden werden. Flash ist wiederum ein anderes Thema. In der 64- Bit-Version ist klar, dass das Adobe-Flash-Plug- Startseite von Firefox.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 13 DISTRIBUTION

Unter KDE ist Amarok, jetzt in Version 2.4.0, der Unity wird ein ganz großer Wurf – wenn es LINKS Standard-Audioplayer. Anders als in der letzten einmal fertig ist. Das ist in der aktuellen Ver- [1] http://www.pro-linux.de/artikel/2/1506/ubuntu- Version lassen sich MP3-Dateien nicht ohne Wei- sion klar nicht der Fall. Unity in Ubuntu 11.04 1104.html teres abspielen. Der Grund dafür ist der Wechsel ist ein Experiment, aber ein durchaus gelunge- [2] http://www.freiesmagazin.de/freiesMagazin-2010- des KDE-Multimedia-Systems zu GStreamer als nes, wenn man von fehlenden Konfigurations- 11 Phonon-Backend. Amarok erkennt aber, dass ein möglichkeiten absieht. In der kommenden Ver- [3] https://wiki.ubuntu.com/NattyNarwhal/ReleaseNo Plug-in fehlt, startet die Paketverwaltung, um da- sion könnte das ganz anders aussehen, denn tes nach zu suchen, und kann die benötigten Module dann wird Unity GNOME 2 als Basis verlassen [4] http://www.freiesmagazin.de/freiesMagazin-2011- erfolgreich installieren. und auf GNOME 3 portiert. Damit wird wohl auch 05 Compiz entfallen, außerdem wird Unity auch oh- [5] http://www.pro-linux.de/news/1/16923/unity-in- Der Standard-Videoplayer ist Dragonplayer. ne 3-D-Beschleunigung funktionieren. Und wer ubuntu-stabilisiert-sich.html Nachdem die GStreamer-Module bereits durch weiß, vielleicht wird es bereits eine erste Version [6] http://www.pro-linux.de/artikel/2/1504/unity-der- Amarok installiert wurden, ließ sich in dem Player von Wayland als Ersatz für X11 geben. Einen Ver- anfang-vom-ende-fuer-ubuntu.html alles abspielen, bis auf Flash-Videos. Die Ursa- gleich zu GNOME 3 kann noch nicht gezogen [7] http://www.pro-linux.de/news/1/16790/neues- che konnte bisher nicht ermittelt werden, Gnash werden, hierzu muss man erst das Ergebnis von scrollbar-design-fuer-ubuntu.html war jedenfalls installiert. Im Dateimanager Dol- Fedora 15 abwarten. phin fehlt weiterhin eine Dateizuordnung von [8] https://wiki.ubuntu.com/Ayatana/ScrollBars# Blacklist Dateien mit dem Suffix .flv. Insgesamt ist die KDE galt lange als ziemlich vernachlässigt und Multimedia-Integration sowohl in GNOME/Unity [9] http://www.netzwelt.de/news/86520-gerry-carr- Kubuntu nicht gerade als erste Wahl für KDE- ubuntu-interview-konnten-gnome-3-warten.html als auch in KDE recht problemlos, aber Verbes- Anwender. Mittlerweile hat sich das gewandelt. [10] http://kubuntu.org/news/11.04-release serungen wären immer noch möglich. Natürlich wurde das Software Center nicht für KDE entwickelt, aber wer möchte, kann es den- Fazit noch nutzen. Ob und wie sich Ubuntu One unter Autoreninformation Ubuntu ist, wie es ist. Es besitzt Stärken und KDE nutzen lässt, ist nicht bekannt. Schwächen, daran wird sich auch nichts ändern. Hans-Joachim Baader (Webseite) Auch Ubuntu 11.04 ist wieder eine sehr solide Ubuntu will bekanntlich in erster Linie umstiegs- befasst sich seit 1993 mit Linux. 1994 Distribution. Lediglich ein größeres Problem ließ willige Windows-Anwender ansprechen. Das schloss er sein Informatikstudium sich finden, die Partitionierung als Btrfs-Partition. wird immer noch gerne mit unerfahrenen Anwen- erfolgreich ab, machte die Software- Für alle anderen Dinge, die einen stören könn- dern gleichgesetzt, doch davon kann keine Re- entwicklung zum Beruf und ist einer ten, gibt es entweder Workarounds oder es sind de sein. Ubuntu kann genauso auch von erfah- der Betreiber von Pro-Linux.de. Kinderkrankheiten, die in den nächsten Wochen renen Linux-Anwendern genutzt werden. Sowohl durch Updates beseitigt werden. Wer sicher ge- Ubuntu als auch Kubuntu sind in dieser Version hen will, sollte mit der Installation einfach noch besonders gelungen und lassen für die Zukunft einige Wochen warten. noch viel Gutes erwarten. Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 14 DESKTOP

GNOME 3.0: Bruch mit Paradigmen von Mirko Lindner

it der Freigabe von GNOME 3 bricht schneidender Änderungen wurde die Program- wurde auch der Weg zu GNOME 3 geebnet. Her- der Entwicklerkreis rund um die mierschnittstelle seit der Version 2.0 kompatibel ausgekommen ist dabei eine Umgebung, die M Desktopumgebung mit vielen gängi- gehalten, so dass ältere Programme quellcode- viele bekannte Strukturen begräbt und die An- gen Paradigmen der Benutzerführung und oder gar binärkompatibel bleiben. Es erklangen wender durch neue Konzepte zu überzeugen präsentiert ein weitgehend überarbeitetes allerdings zunehmend Stimmen [3], wonach die versucht. Produkt, das zahlreiche Neuerungen mit sich Funktionalität von GTK+ nicht mehr für künftige bringt. Drei wesentliche Punkte sind in die Entwicklungen ausreiche und das Team sich ei- . . . und die Zukunft neue Generation der Umgebung eingegan- ner neuen Generation des Toolkits widmen solle. Mit der Freigabe von GNOME 3 verabschie- gen: eine Erneuerung der Oberfläche, Entfer- Mit der Entscheidung, GTK+ radikal zu erneuern, det sich die Umgebung von vielen bekannten nung von unnötigen Komponenten und eine Einrichtungen und prä- bessere Außendarstellung. sentiert ein weitgehend neues Arbeitsgefühl. Die Redaktioneller Hinweis: Der Artikel „GNOME Hauptkomponente der 3.0: Bruch mit Paradigmen“ erschien erstmals aktuellen Generation der bei Pro-Linux [1]. Umgebung stellt dabei die GNOME Shell [4] dar. Die Vergangenheit . . . Diese fungiert als zen- Die Desktopumgebung GNOME [2] glänzte in trale Stelle und ersetzt den letzten Jahren nicht unbedingt durch radi- nicht nur das bisheri- kale Änderungen und Konzepte, die sich jen- ge Panel, sondern auch seits vom Altbewährten bewegten. Die Oberflä- zahlreiche weitere Ein- che von GNOME wurde zwar sukzessive po- richtungen. Der ganz in liert und durch neue Funktionen erweitert, einen Schwarz gehaltene Be- Bruch mit Altbewährtem schaffte sie trotzdem reich der GNOME Shell nicht. Die zentralen Komponenten der Umge- gliedert sich dabei in drei bung datieren auf den Anfang des Jahrhunderts, verschiedene Bereiche. als mit GNOME 2 Schluss mit den bestehenden Strukturen war. Ganz rechts ist der Sys- tembereich zu finden, un- Einen der Gründe für die Beständigkeit stellte ter dem die Standard- GTK+ dar. Das Toolkit bildet die Basis der gra- Der Standarddesktop von GNOME 3.0 mit eingeblendeten Optionen für komponenten zur Steue- fischen Oberflächen von GNOME und vielen Barrierefreiheit. rung der Lautstärke, des weiteren Programmen. Trotz einiger recht ein- Netzwerks und der Bar-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 15 DESKTOP rierefreiheit sowie der Strom- und Batteriesta- dabei der so genannte „Dash“ – ein Bereich, der dungen zwischen verschiedenen Workspaces tus eingegliedert wurden. Zudem beinhaltet der in einer Icon-Ansicht die favorisierten und ge- verschoben werden, wobei GNOME 3 nicht mehr Bereich das Benutzermenü, das einen Zugriff rade ausgeführten Anwendungen auflistet. Be- wirklich zwischen Workspaces trennt und die auf das Kontrollzentrum, die Konteneinstellungen wegt der Anwender die Maus über ein Icon, blen- Anzahl der Workspaces bei Bedarf erweitert. oder die Benutzersteuerung ermöglicht. Zudem det die Shell weitere Informationen ein. Ein Klick Schiebt ein Anwender beispielsweise eine Ap- kann hier der Anwender seinen Status setzen auf ein Icon bringt weitere Funktionen zum Vor- plikation auf ein leeres Workspace, wird ein und sich vom System abmelden. schein. neues leeres Workspace erstellt. Schließt er dagegen das letzte Fens- Hier ist auch der erste Bruch zu sehen, denn ter eines Workspaces, standardmäßig verzichtet GNOME der Einfach- wird auch der Bereich ge- heit wegen auf eine Funktion zum Herunterfah- schlossen. Ein Klick auf ren und bietet nur den Punkt „Suspend“ zur Aus- ein Workspace wechselt wahl an. Will der Anwender des System her- zu diesem. unterfahren (Shutdown), muss er die Alt -Taste drücken. Eine Neuerung gegen- über GNOME 2 ist hier, Ferner verzichtet GNOME 3.0 in diesem Bereich dass die Anordnung der auch auf ein dynamisches Panel, wie er noch in Workspaces nicht mehr der alten Version Usus war. So lassen sich hier horizontal, sondern ver- weder Benachrichtigungen noch weitere Applets tikal erfolgt. Das Star- einbinden. Eine spätere Integration ist auch nicht ten von neuen Anwen- geplant. dungen erfolgt wahlwei- se entweder durch eine Aktivitäten direkte Eingabe, durch Der zweite Bruch mit den herrschenden Gepflo- einen Klick auf ein Appli- genheiten findet sich auf der linken Seite der kationsicon oder durch GNOME-Shell-Leiste in Form eines Aktivitäten- das „Verschieben“ ei- eintrags. Ein Klick auf den Button, der Druck der nes Applikationsicons Windows -Taste, das Kommando Alt + F1 oder auf ein Workspace. Die das Bewegen der Maus in die linke obere Ecke Die neue Übersicht blendet ausgeführte Applikationen ein. zwei letzten Möglichkei- blenden einen Überblickmodus ein, der einen der ten können wahlweise zentralen Bereiche der Umgebung ausmacht. In Den Hauptbereich der Ansicht bildet die Über- auf einer Favoritenleiste oder auf einer Über- einer Exposé-ähnlichen Ansicht finden die An- sicht über die laufenden Anwendungen, wo- sichtsseite erfolgen. Die Applikationen werden wender alle Informationen über laufende Anwen- hingegen auf der rechten die momentanen dabei auch hier als Icons gelistet. Je mehr An- dungen. Auf der linken Seite des Bildschirms ist Workspaces angedeutet sind. So können Anwen- wendungen installiert sind, desto kleiner werden

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 16 DESKTOP die Icons der Übersichtsseite. Hier kann der An- zur Verfügung. Das Maximieren erfolgt entwe- Das weitere zentrale Merkmal von GNOME 3.0 wender auch eine Sortierung nach Kategorien der durch einen Doppelklick auf die Fensterleiste stellt das Umschalten von Fenstern dar. Das Sys- durchführen. oder durch das Ziehen des Fensters in den obe- tem agiert in der neuen Version nicht mehr auf ren Bereich des Bildschirms. Wird ein Fenster da- Fenster-, sondern auf Applikationsebene. Kon- Benachrichtigungen gegen an den linken oder rechten Bildschirmrand kret heißt das, dass beim Betätigen der Tas- Einen integralen Bestandteil von GNOME 3 stellt gezogen, wird es ähnlich Windows, oder neuer- ten Alt + Tab mehrere geöffnete Fenster der- das Benachrichtigungssystem dar, das nun im dings auch KDE, auf die Hälfte des Bildschirms selben Anwendung gruppiert dargestellt werden. unteren Bereich des Bildschirms angeordnet wur- angepasst. So lassen sich bequem beispielswei- Erst die Auswahl mittels der Maus oder Tasta- de. Das System unterscheidet zwischen wichti- se zwei Dokumente oder Bilder nebeneinander tur klappt ein Untermenü aus, aus dem ein spe- gen und weniger wichtigen Mitteilungen und blen- einblenden, ohne dass eine manuelles Zentrie- zielles Fenster herausgepickt werden kann. In det sie je nach Stufe unterschiedlich lange ein. ren notwendig wäre. der täglichen Arbeit erweist sich die Steuerung Mehrere Meldungen einer Applikation werden zu allerdings als wenig einem Eintrag zusammengefasst und in Form glücklich. Vor allem für eines Icons dargestellt. Dabei beschränkt sich Anwender, die viele das System auf die Ansicht der wichtigsten In- Terminal-Fenster offen formationen. Erst wenn der Anwender mit der haben, werden eine Wei- Maus über einer Nachricht stehenbleibt, blendet le brauchen, bis das pas- die GNOME Shell weitere Informationen ein. Ein sende ausgesucht wur- Klick auf die Nachricht startet, sofern vorhanden, de. die entsprechende Applikation. Einen besonderen Wert Verpasst ein Anwender eine Nachricht, so reicht bei der Erstellung von es, mit der Maus in die untere rechte Ecke zu na- GNOME 3 legten die vigieren. Sofort blendet die Shell alle Nachrich- Programmierer auf das ten, die das System erhalten hat, ein. Auch hier Aussehen der Umge- werden die Ausgaben gruppiert dargestellt und bung. Das neue Desktop- können mittels eines Klicks erweitert werden. Theme kann vollständig über eine CSS-Syntax Fenstermanagement und das Ausse- konfiguriert und an die hen eigenen Wünsche an- Für viel Wirbel sorgte im Vorfeld der Freiga- gepasst werden. Als be die Handhabung von Fenstern. So verzichtet Teil der Philosophie der GNOME 3.0 auf die Maximieren- und Minimieren- Vereinfachung wurde Buttons in der Leiste und stellt standardmäßig Fensterleisten in GNOME 3.0 beinhalten nur noch den auch die Darstellung von nur einen Button zum Schließen des Fensters Schließen-Knopf. Icons auf dem Desktop

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 17 DESKTOP entfernt. Laut Aussage der Entwickler lassen Weitere Neuerungen Bedingt durch die neue Arbeitsweise wurde auch sich Daten sowieso schneller mittels der neuen Auch jenseits der GNOME Shell und des Win- der Dateimanager Nautilus [6] stark überarbeitet. Funktionen finden. Wer der Funktion nachtrauert, dowmanagers Mutter bringt GNOME 3.0 zahlrei- Die in der Vergangenheit am oberen Rand ange- kann sie aber wieder einschalten. che Neuerungen mit sich. So bricht GNOME 3 brachte Kontrollleiste ist nun verschwunden. Ein mit dem alten Konzept ähnliches Schicksal erlitt die Statusleiste. Statt- der verteilten Konfigurati- dessen nimmt nun die Navigationsleiste einen on und bietet ein vollstän- größeren Stellwert ein. Statusmeldungen werden dig neues Kontrollzentrum, dagegen als Overlay eingeblendet. das die wichtigsten Funk- tionen unter einer Oberflä- che vereint. Zudem wur- den zahlreiche Anwendun- gen an die neue Umge- bung angepasst.

So wurde der Instant Mes- senger [5] stärker in die Umgebung integriert. Zusammen mit dem neuen Benachrichtungungssys- tem erlaubt die Applikation eine erheblich schnellere Kommunikation. Eingehen- Evolution unter GNOME 3.0. de Meldungen werden nun Das neue Kontrollzentrum und Benutzermenü. im unteren Bereich nicht Ebenfalls auf die Statusleiste verzichten muss nur eingeblendet, sondern der Webbrowser Epiphany [7]. Der Download- Den Preis der grafischen Pracht stellt aller- können dort auch beantwortet werden. Das Set- manager der Applikation wurde dagegen massiv dings die zwingende Voraussetzung von 3-D- zen des Status im Benutzermenü hat zudem überarbeitet. Neu ist ebenfalls die Gruppierung Funktionen in der Hardware dar. Wer ein Sys- auch eine Auswirkung auf die Applikation. Zu von Seiten. Außerdem wird nun das Orten per tem sein eigen nennt, das über diese Funktiona- den weiteren neuen Funktionen gehören unter Geolocation in Epiphany unterstützt. lität nicht verfügt oder schlicht nicht in der Lage anderem das Blocken von Konten und das Spei- ist, die grafische Anzeige darzustellen, muss auf chern von Passwörtern. Darüber hinaus können Des Weiteren haben die Entwickler die Hilfe einen Fallback-Modus von GNOME 3.0 zurück- eingehende Anrufe automatisch abgelehnt wer- der Umgebung komplett umgekrempelt. Zu den greifen. den. weiteren Neuerungen in GNOME 3.0 gehören

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 18 DESKTOP ferner massive Überarbeitungen des Webcam- wird GConf allerdings nicht, denn es existieren Ausgedient hat in GNOME 3 auch das Kom- Tools Cheese. durchaus noch Anwendungen, die auf die alte Lö- ponentensystem Bonobo, das nun nicht mehr sung aufsetzen. Diese anzupassen wird die Ar- Bestandteil der Umgebung ist. Ferner haben GNOME 3.0 bringt zudem Verbesserungen für beit der kommenden Versionen sein. die Entwickler auch das virtuelle Dateisystem den Texteditor gedit [8], wie beispielsweise ei- ne verbesserte Rechtschreibprüfung, vollständi- ge Unterstützung für komprimierte Dateien so- wie die Möglichkeit, Dateien mit ungültigen Zei- chen zu bearbeiten. Die neue Version von gedit enthält weiterhin eine neue Suchfunktion, welche die Sicht auf das bearbeitete Dokument nicht ein- schränkt, und Reitergruppen erlauben das Anzei- gen mehrerer Dokumente gleichzeitig.

Auch Anjuta [9], die integrierte Entwicklungsum- gebung für GNOME, erhielt in Version 3.0 ei- ne Reihe von Verbesserungen. Zu den Neue- rungen gehören unter anderem das automati- sche Verbinden von Signalen mit Benutzerober- flächen, verbesserte autotools- und pkg-config- Unterstützung und eine neue Git-Unterstützung.

Der Unterbau Die Implementierung von Mutter, GNOME Shell und die Änderung der Arbeitsweise von GNOME stellen freilich nur die Spitze der in die Umge- bung eingeflossenen Arbeit dar. Das Gros der Ar- beit machte die Bereinigung der Umgebung aus. So haben sich die Entwickler dazu durchgerun- gen, das alte Konfigurationssystem GConf durch eine Kombination aus GSettings und DConf zu ersetzen. Dies hat zur Folge, dass die Geschwin- digkeit der Umgebung gesteigert werden konnte und eine bessere Integration unter anderen Be- triebssystemen ermöglicht wird. Ganz entfallen Installierte Applikationen lassen sich einfach durchsuchen.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 19 DESKTOP gnome-vfs und die Interface-Bibliothek libgla- nen über die Klasse GtkApplication automatisch wenden. Binärpakete werden von verschiedenen de entsorgt. Daran glauben musste auch an D-Bus angebunden werden. Distributoren bereitgestellt. libgnomeui. Fazit LINKS Statt dessen setzen die Entwickler nun auf Clut- Mit GNOME 3.0 liefert das Team der freien Desk- [1] http://www.pro-linux.de/artikel/2/1501/gnome-30- ter, dessen Entwicklung von Intel gesponsort topumgebung zweifelsohne eine revolutionäre bruch-mit-paradigmen.html wird. Clutter stellt ein freies Toolkit dar, mit dem Arbeit ab. Die Umgebung wurde nicht nur mas- [2] http://www.gnome.org/ sich Fenster und Bedienelemente erstellen las- siv überarbeitet, sondern bricht förmlich mit vie- [3] http://www.pro-linux.de/news/1/11573/nokia-will- sen. Anders als die meisten anderen Toolkits len bekannten Paradigmen der Benutzerführung. gtk-30.html verwendet es allerdings OpenGL und optional Vor allem die Aktivitäten bieten einen enormen [4] http://live.gnome.org/GnomeShell OpenGL ES, wobei sich die Entwickler nicht mit Aha-Effekt, der durch eine sehr ansprechende [5] http://live.gnome.org/Empathy der Komplexität der Grafikbibliotheken auseinan- grafische Funktionalität überzeugen kann. Hinzu [6] http://live.gnome.org/Nautilus dersetzen müssen. kommt noch ein elegantes Aussehen und eine [7] http://live.gnome.org/Epiphany Führung, bei der sofort die klare Linie der Ver- [8] http://live.gnome.org/Gedit Die zweite integrale Bibliothek stellt GTK+ 3.0 einfachung der Benutzung ins Auge fällt. [9] http://live.gnome.org/Anjuta dar. Die neue Version enthält eine große Zahl Auf der anderen Seite unterscheidet sich die Be- [10] http://library.gnome.org/misc/release-notes/3.0/ von Änderungen. Die Grafikausgabe erfolgt nun nutzerführung der aktuellen Generation maßgeb- index.html.de durchweg über die Bibliothek Cairo, die im Ge- lich von der Umgebung anderer Produkte. Der gensatz zu GDK nicht nur für X11 verwendbar [11] http://ftp.gnome.org/pub/GNOME/ Bruch wird vor allem Traditionalisten wenig ge- ist, sondern auch Grafikausgabe auf Mac OS X, fallen. Der Verzicht auf eine Taskleiste, der ver- Windows, OpenGL, PostScript, PDF, SVG und änderte Start von Applikationen oder die strikte Autoreninformation Speicherbereiche ermöglicht. Die Auswahl des Festlegung auf eine Anordnung der oberen Leis- Ziels der Grafikoperation kann zudem zur Lauf- te werden sicherlich nicht alle Geschmäcker tref- Mirko Lindner (Webseite) befasst zeit erfolgen. Eingabegeräte werden nun auf mo- fen. Vieles lässt sich an die eigenen Wünsche an- sich seit 1990 mit Unix. Seit 1998 ist derne Weise behandelt. Unter X11 äußert sich passen, doch allein die Tatsache, dass es stan- er aktiv in die Entwicklung des Kernels das in der Verwendung von X Input 2. Eine belie- dardmäßig „so oder anders“ gehandhabt wird, eingebunden und verantwortlich für bige Anzahl von Zeigergeräten, Tastaturen und könnte manch einen Anwender vergraulen. Fakt diverse Treiber und Subsysteme für anderen Geräten wird nun unterstützt. Ein neu- ist aber auch, dass man dem neuen Konzept auf Linux und andere freie Plattformen. es Theme-API mit CSS-Syntax sorgt zudem für jeden Fall Zeit geben sollte. Nicht alles, was neu Daneben ist er einer der Betreiber mehr Flexibilität beim Aussehen der Fenster und ist, muss schlecht sein. von Pro-Linux.de. Grafikelemente. Auch die Geometrieverwaltung wurde flexibler. Neue Widgets und Tools wur- GNOME 3.0 [10] kann ab sofort im Quellcode den hinzugefügt. Anwendungen haben es leich- von der Seite des Projektes heruntergeladen wer- ter, sich in die Plattform zu integrieren, und kön- den [11]. Zum Kompilieren kann man jhbuild ver- Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 20 KERNEL

Der Mai im Kernelrückblick von Mathias Menzer

asis aller Distributionen ist der Linux- wurde (siehe „Der April im Kernelrückblick“, IPset vereinfacht Firewall-Regeln Kernel, der fortwährend weiterent- freiesMagazin 05/2011 [4]), musste der Big Ker- Ebenfalls auf Netzwerkseite rangiert IPset, ei- B wickelt wird. Welche Geräte in einem nel Lock nun endgültig weichen; seit Arnd Berg- ne Möglichkeit um Netzwerk-Ressourcen wie halben Jahr unterstützt werden und welche manns Patch mit der Bezeichnung „BKL: That’s IP-Adressen oder Netzwerk-Ports zu einem Funktionen neu hinzukommen, erfährt man, all, folks“ [5] wird man den Aufruf lock_kernel() Satz zusammen zu fassen. Die Sätze können wenn man den aktuellen Entwickler-Kernel im nun – außer eventuell in der Dokumentation – dann von der im Kernel integrierten Firewall- Auge behält. nicht mehr im Kernel-Quellcode finden. Werkzeugsammlung Netfilter [7] verwendet wer- den. Damit ist es nun möglich, einen vergleichs- Linux 2.6.39 Mehr Pakete im Versand weise einfachen Regelsatz vorzuhalten und den- Die Entwicklung des 2.6.39 ging ähnlich ruhig noch in den IPsets lange Listen an Adressen und Bei der Kommunikation mittels des Netzwerkpro- weiter, wie sie begonnen hatte. Ein Scheduler- Ports zu pflegen. Problem, das letztlich auf einen fehlerhaft initi- tokolls TCP/IP wird darauf geachtet, dass sich alisierten Timer zurückgeführt wurde, hielt die immer nur eine bestimmte Menge an Daten zwi- Ext4 und Btrfs Entwickler beschäftigt, wie Torvalds beim Veröf- schen den beiden Endpunkten in der Zustellung Eine bereits mit 2.6.37 eingeführte Verbesserung fentlichen des 2.6.39-rc6 [1] verlauten ließ. Ein befindet, also Pakete vom Sender abgeschickt am Dateisystem Ext4 bei der Nutzung auf Mehr- Problem am Dateisystem HPFS, das mit dem wurden, ohne dass deren Eingang vom Empfän- prozessorsystemen wurde nun endlich in der Rauswurf des Big Kernel Lock zusammenhing, ger bestätigt wurde. Bislang galten hier vier Seg- Standardkonfiguration aktiviert. Bislang war die trat bereits früh während der Entwicklungsphase mente zu etwa 4 KB als Obergrenze zu Beginn Verwendung von BIO-Layer (Block I/O – „Block- auf. Es wurde damals kurzerhand als „BROKEN“ einer Verbindung. Mitarbeiter von Google haben weise Ein-/Ausgabe“) noch nicht eingeschaltet. („Kaputt“) deklariert; -rc7 [2] brachte dann die be- sich nun nach umfangreichen Tests dafür einge- Die Übermittlung von Anfragen an den Ein-/ nötigten Korrekturen dafür mit. Diese machten setzt, diesen Wert auf zehn Segmente zu erhö- Ausgabe-Scheduler erfolgte über einen Buffer dann auch gleich den Löwenanteil an dem wei- hen; es wurde auch ein Vorschlag zur Änderung Layer („Zwischenpuffer“), der jedoch nicht effizi- ter geschrumpften Volumen an Änderungen aus. der entsprechenden Richtlinien bei der IETF (In- ent von mehreren Prozessoren genutzt werden Ohne viel Federlesen folgte dann statt einer ach- ternet Engineering Task Force) [6] eingereicht. kann. ten Vorabversion gleich 2.6.39 [3], nach nur 66 Die Änderung der Segment-Anzahl führte ohne Tagen Entwicklungszeit. erkennbare Netzwerkprobleme zu spürbaren Re- Dem Dateisystem Btrfs wurde neben den übli- duzierungen der Wartezeiten aus Sicht des Nut- chen kleineren Korrekturen und Verbesserungen BKL: Das war’s, Leute! zers. Bislang funktionierte dies mit Linux nicht, da noch die Möglichkeit gegeben, unterschiedliche Die neuen Funktionen klingen nicht ganz so hier auf der Empfangsseite nur 6 KB zugelassen Einstellungen für Komprimierung und das Schrei- spektakulär wie in mancher vorangegangenen wurden. Nachdem dies in 2.6.38 bereits erhöht ben auf den Datenträger für einzelne Dateien Version, dennoch hat 2.6.39 etwas mehr als nur wurde, folgt nun die von Google vorgeschlagene oder Verzeichnisse zu setzen, wodurch sich der ein paar aktualisierte Treiber zu bieten. Allem Aufstockung des „Congestion Window“ auf zehn Durchsatz z. B. durch eine geringere Komprimie- voran, auch wenn dies schon mehrfach erwähnt Segmente (entspricht ca. 10 KB). rungsrate bei kleinen, sehr häufig genutzten Da-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 21 KERNEL teien verbessert oder / und gleichzeitig eine ho- Table (ERST) nutzt, um die Fehlermeldungen ei- Kurz erläutert: „Versionsnummerierung des he Komprimierung bei besonders großen Datei- nes Kernel-Crashs auch über einen Neustart hin- Linux-Kernels“ en eingesetzt werden kann. weg zu speichern. ERST ist eigentlich zur Spei- Die ersten Versionsnummern folgten noch kei- cherung von Hardware-Fehlermeldungen auf ei- nem zielgerichteten Muster, erst ab Version 1.0 Transzendenter Speicher nem nichtflüchtigen Speicher gedacht und in sollte das folgende Schema gelten: Die erste Etwas entrückt scheint das Konzept des Trans- den ACPI-Spezifikationen beschrieben. Der Intel- Stelle wird nur bei tiefgreifenden Änderungen zendenten Speichers (Transcendent Memory) Entwickler Tony Luck hat dabei nicht nur an die der Systemarchitektur erhöht. Die zweite Stel- anzumuten. Tatsächlich soll ein solcher Speicher x86-Plattform gedacht, sondern Pstore als Fra- le bezeichnet die Major-Version, wobei stabile das Wahrnehmbare überschreiten, allerdings nur mework umgesetzt, sodass auch andere Plattfor- Kernel mit geraden (z. B. 2.4), reine Entwickler- in der Form, dass niemand zu wissen braucht, men es nutzen können, um Informationen über Kernel mit ungeraden Ziffern gekennzeichnet wie groß der Speicherbereich ist oder wo er den „letzten Atemzug eines abstürzenden Ker- wurden (z. B. 2.5). Die dritte Stelle ist die Minor- physisch liegt. Er kann als eine Form des Ar- nels“ sicherstellen zu können. Version, die erhöht wird, wenn neue Funktio- beitsspeichers betrachtet werden, bei dem aller- nen hinzukommen. Darüber hinaus wurde wieder in großem Umfang dings nicht sichergestellt ist, ob Schreibvorgänge Seit 2004 entfällt der reine Entwickler-Kernel, an den bereits bestehenden Treibern gearbeitet auch erfolgreich verlaufen oder dass geschriebe- beginnend mit 2.6 wird die auf die aktuellste und neue eingebracht. Eine vollständige Über- ne Daten beim nächsten Leseversuch noch vor- Version folgende Minor-Version als Entwickler- sicht liefert die englischsprachige Seite Kernel handen sind. Dies sind eigentlich Eigenschaften Kernel geführt und bis zur Veröffentlichung als Newbies auf zwei Übersichtsseiten zu den neu- eines Speichers, die einen Anwender eher ab- stabile Version mit „-rc“ gekennzeichnet. Paral- en Funktionen [8] und den Änderungen an den schrecken. Allerdings kann Transcendent Memo- lel dazu wurden immer noch Kernel aus der Architekturen und Treibern [9]. ry sonst ungenutzten Speicher in Beschlag neh- 2.4er-Reihe mit Änderungen gepflegt, die aus men und wird bei Bedarf einfach verdrängt, wo- Linux 3.0 der 2.6er-Reihe zurückportiert wurden. durch die Auslastung des Gesamtspeichers ver- Die Versionsnummer 2.6.40 erschien Torvalds Richtig, es heißt nun Linux 3.0. Wer aus al- bessert wird. Anwendungsbereiche liegen über- zu umständlich, daher wurde der Folge-Kernel ter Gewohnheit den 2.6.40-rc1 erwartete, wur- all da, wo zum Beispiel nur ein Zwischenspeicher zu 2.6.39 kurzerhand 3.0 getauft. Dies soll de diesmal enttäuscht, da Torvalds einen neu- benötigt wird, dessen Verlust nicht tragisch ist, da auch einen neuen Abschnitt in der Versi- en Abschnitt bei den Versionsnummern einge- die Inhalte noch woanders liegen. onsnummerierung anzeigen, denn die Minor- läutet hat. Auch Ingo Molnar stimmte ihm zu, Version fällt nun weg, der Nachfolger zu 3.0 Pstore sichert des Kernels letzte Worte dass .40 ausreichend groß sei, um eine neue wird 3.1 heißen. Nicht stabile Kernel-Versionen Fällt der Kernel wieder einmal auf die Nase, ist es Major-Version zu beginnen. Einige Zeit lang werden weiterhin mit einem „-rc“ und einer fort- manchmal schwierig, an Logdateien oder einen stand auch noch 2.8 als Nachfolger von 2.6 im laufenden Nummer gekennzeichnet, also zum Speicherauszug zum Zeitpunkt des Crashs zu Raum [10], allerdings wurde nun auch mit dem Beispiel 3.0-rc1, 3.0-rc2 und so weiter. Darüber, kommen, da mitunter auch die vom Kernel ver- alten, bereits seit einigen Jahren nicht mehr ge- was als Grund für einen Sprung auf 4.0 in Fra- walteten Dateisysteme nicht mehr verfügbar sind. lebten Modell zur Unterscheidung von Entwickler- ge kommt, darf gerätselt werden, im Zweifel bis Abhilfe soll hier Pstore schaffen, ein Dateisys- und Produktiv-Versionen gebrochen, sodass zur Veröffentlichung von Kernel 3.39. tem, das den ACPI Error Record Serialization der neue Entwickler-Kernel nun unter 3.0-rc1

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 22 KERNEL veröffentlicht wurde. Somit sind es nicht unbe- zyklus besonders strikt bei der Übernahme von [9] http://kernelnewbies.org/Linux_2_6_39- dingt technische Aspekte, die bei diesem Schritt Änderungen zu sein, um aus dem Kernel 3.0 ein DriversArch im Vordergrund standen, sondern die ganz bana- stabiles Stück Software zu machen. [10] http://www.pro-linux.de/news/1/17079/abschied- le Faulheit der Entwickler, die nun jedes Mal eini- von-linux-26.html ge Zeichen weniger zu tippen haben. ;-) LINKS [11] https://lkml.org/lkml/2011/5/29/204 So sind die Änderungen auch eher unspekta- [1] https://lkml.org/lkml/2011/5/3/553 kulär und halten sich schon rein vom Volumen Autoreninformation her unterhalb der Vorgängerversionen. „Keine [2] https://lkml.org/lkml/2011/5/9/552 ABI-Änderungen, keine API-Änderungen, keine [3] https://lkml.org/lkml/2011/5/19/16 Mathias Menzer (Webseite) hält märchenhaften neuen Funktionen – lediglich ste- [4] http://www.freiesmagazin.de/freiesMagazin-2011- einen Blick auf die Entwicklung tig voranschreitender Fortschritt“ beschrieb Tor- 05 des Linux-Kernels. Dafür erfährt er valds den 3.0-rc1 [11], und das ist auch pas- [5] https://lkml.org/lkml/2011/1/25/520 frühzeitig Details über neue Treiber send. Besonders erwähnenswert erschienen ihm [6] http://de.wikipedia.org/wiki/Internet_Engineering_ und interessante Funktionen. Aufräumarbeiten an VFS (Virtual File System) Task_Force und Korrekturen an der Virtuellen Speicherver- [7] http://de.wikipedia.org/wiki/Netfilter waltung (VM). Er plant, bei diesem Entwicklungs- [8] http://kernelnewbies.org/Linux_2_6_39 Diesen Artikel kommentieren

„Not Enough Work“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/554

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 23 NETZWERK

UnrealIRC – gestern „Flurfunk“, heute „Chat“ von Michael Schwarz

ngern brüllt man Anweisungen von Stelle die Erklärung, dass der Mailserver nicht Grundkenntnisse Büro zu Büro. Damit Angestellte mit- in Zuständigkeit der Außenstelle liegt und die UnrealIRCd [1] bedeutet nichts anderes als U einander kommunizieren können, wird Hauptdienststelle dieses Monopol inklusive Ad- „Unreal daemon“, wobei vielerorts zum Telefon gegriffen. Wird bereits minrechte für sich behält. Freundlich wie man ist, „Unreal“ der Eigenname ist und keine weitere telefoniert, muss die dienstliche E-Mail her- bietet man an, den Fehler zur Bearbeitung weiter- Bedeutung hat. „Internet Relay Chat“ oder eben halten, um Kommunikationsbedürfnisse zu zugeben . . . Aber offensichtlich ist dies nicht die kurz „IRC“ benennt die zugrunde liegende Kom- befriedigen. Was aber, wenn die Leitung be- Zeit für Erklärungen und Angebote – und so en- ponente, ein textbasiertes Chatsystem, für das legt und das Senden einer E-Mail derzeit nicht det das Telefonat mit einem unerwarteten Klicken Projekt. Der „Daemon“ ist der Dienst, der Verbin- möglich ist? Situationen wie die folgende wa- in der Leitung. Funkstille. Aufgelegt. dungen sowie die generelle Kommunikation er- ren und sind in Büros keine Seltenheit. Verärgerung macht sich breit: Prügelknabe durch möglicht. Ohne Betriebssystem keine Software, Koinzidenz ist heute derjenige, der zum falschen als Grundgerüst dient daher ein Ubuntu 10.04 Wie alles begann – Vorgeschichte Zeitpunkt zum Telefon griff – jedoch bahnt sich ir- Server. Das schließt zwar, lässt man größere Nahezu unhörbar vibriert das Mobiltelefon über gendwo zwischen limbischen System und Groß- Anpassungen außen vor, den Zugriff auf eine den Tisch, schon der Griff danach verspricht hirn eine Lösung an: „Keine Mitadministrati- GUI aus, der Vorteil ist aber der lange Unterstüt- nichts Gutes – jedenfalls nicht jetzt, einige Mi- on“, „hausinterne Kommunikation“, „unabhängig“, zungszeitraum. Ubuntu 10.04 bietet Long Term nuten vor Feierabend: „Technik, Schwarz?“ – Es „kein Telefon“ – Gedankenbruchstücke führen Support. Die Servervariante wird bis April 2015, ist der Büroleiter, schwer in Rage darüber, dass zum Schluss, dass ein Kommunikator benötigt fünf Jahre nach Veröffentlichung im April 2010, der Mailserver mal wieder seinen Dienst quittiert wird, der im Störfall direkt vor Ort gewartet wer- mit Updates versorgt. hat. Der Mailserver gehört zur weit entfernten den kann, das Ganze hausintern ohne Anbin- Hauptdienststelle und wird auch von dort aus dung nach „Oben“ und möglichst textbasiert, fast Scheinwelt administriert. Eigentlich jedenfalls. Entsprechend so wie E-Mail. Nach kurzem Überlegen: Ein Chat- Den IRC-Daemon sperrt man am Besten in eine sinnfrei, dass zu diesem Thema das Telefon hier room für alle, um Statusmeldungen und Mitteilun- virtuelle Maschine. Warum? Zur Installation und klingelt, einer kleinen Außenstelle – 30 Festan- gen an das Personal verschicken zu können. Der Konfiguration wurde im beschriebenen Szenario gestellte und einige Zeitarbeitskräfte verteilt auf Gedanke hält sich. Dann beginnt die Internetre- ein alter Pentium4-PC mit 2 GHZ und 512 MB Ar- drei Etagen. Hier gibt es niemanden, der da- cherche: Auf die Stichworte „Hausinterne Kom- beitsspeicher genutzt. Ein normaler Desktop-PC für die Verantwortung übernehmen, geschweige munikation“ spuckt Wikipedia u. a. „Chat/Web- von „damals“ ist ökonomisch betrachtet nicht für denn mit einem magischen Fingerschnippen für konferenz/Instantmessaging“ aus, auf einer der den 24-Stunden-Betrieb vorgesehen und verpul- neue Funktionalität sorgen könnte. Unabhängig anderen gefundenen Seiten wird „UnrealIRC“ für vert unnötig Strom. Später, wenn das Projekt ein davon folgt die nächste Tirade: „Es ist ein Unding, seine relativ einfache Konfiguration und dessen voller Erfolg und die Belegschaft begeistert ist, dass dieses blöde System dauernd Störmeldun- Stabilität gelobt. Nach einer Viertelstunde steht wird ein kleiner PC mit Stromspar-CPU den 24- gen verursacht!“, schnaubt es am anderen Ende der Entschluss: Ein Chat ist die Lösung für das Stunden-Dienst übernehmen und relativ umwelt- der Leitung. Nicht zum ersten Mal folgt an dieser Problem. freundlich in einer Ecke des Büros stehen. Wenn

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 24 NETZWERK der Tag gekommen ist, wird die virtuelle Maschi- UnrealIRCd. Als weitere Grundvoraussetzung ist Nach einigen Klicks auf „Weiter“ ist die Bau- ne mitsamt dem IRC-Daemon einfach den Gast- entsprechende Hardware nötig, je aktueller de- stelle „Virtuelle Maschine“ also soweit hergerich- geber wechseln. Die Virtualisierung des IRC- sto besser. Die durchgeführte Beispielinstallati- tet, Zeit „Baustellenfahrzeuge“ und „Baumateri- Daemon ist auch dann sinnvoll, wenn man mit on begnügte sich jedoch bereits, wie weiter oben al“ hinzuzufügen: Im Hauptfenster von Virtual- einer bereits produktiven IRC-Umgebung Tests beschrieben, mit einem Pentium4-Prozessor und Box markiert man die soeben erstellte virtuel- durchführen möchte, ohne dem Büro den lieb ge- 512 MB Systemspeicher. le Maschine und klickt auf „Ändern“. Schließlich wonnen Kommunikator zu schädigen. Stattdes- mangelt es am zu installierenden Ubuntu-Server sen erstellt man ein Backup der VM und experi- Vorbereitung bzw. dessen CD-Image. Unter „Massenspeicher“ mentiert damit herum, ohne das produktive Sys- wählt man bei „IDE-Controller“ den Eintrag „leer“. Mit heruntergeladenem Ubuntu-Server CD- tem zu belästigen. Letzter Vorteil zum Thema vir- Am rechten Rand von „Attribute“ selektiert man Image und installiertem VirtualBox auf dem Gast- tuelle Maschine: Ist bereits ein physischer, un- das kleine CD-Symbol und klickt auf „Datei für gebersystem geht es also ans Werk. Es wird eine unterbrochen laufender PC oder Server vorhan- virtuelles CD/DVD-ROM-Medium auswählen . . . “. virtuelle Maschine erstellt. Benannt werden kann den, drückt man diesem einfach zusätzlich die Anschließend wird das CD-Image des Ubuntu- diese wie es beliebt. „Typ des Gastbetriebssys- virtuelle IRC-Maschine aufs Auge. Dabei ist es Server gesucht und eingebunden. tems“ sollte „Linux“, Version „Ubuntu“ sein. Bei auch (fast) unwichtig, welches Betriebssystem der Zuweisung des VM-RAM spielt der reelle Ar- die virtuelle Maschine gastieren lässt, da es für Startet man jetzt die virtuelle Maschine, soll- beitsspeicher eine große Rolle. Bei insgesamt alle gängigen Systeme entsprechende Virtuali- te nach dem Hochfahren ein Ubuntu-Startmenü 512 MB wäre eine Zuweisung von 512 MB an sierungssoftware gibt. gezeigt werden. Die Installation des Betriebs- die virtuelle Maschine mehr als töricht. Bei 2 GB systems der virtuellen Maschine wird im An- und mehr verbautem Arbeitsspeicher aber durch- schluss durchgeführt. Benennt man die Ubuntu- Voraussetzungen aus praktikabel. Ein Wert zwischen 256 MB und Installation stimmig mit , ist eine Zu- Zuerst die Virtualisierungssoftware zum Einrich- 512 MB sollte zur Installation vorerst eingestellt ordnung im Netzwerk später einfacher. Die Frage ten der virtuellen Maschine: Im beschriebenen werden. Tatsächlich ist der spätere Betrieb auch nach einem Proxy-Server während der Installa- Fall erledigt VirtualBox [2] die Aufgabe. Die Fir- mit lediglich 96 MB virtuellem Arbeitsspeicher tion sollte erhöhte Beachtung finden, wird im Fir- ma Oracle [3] bietet den Virtualisierer kostenlos möglich. Eine virtuelle Festplatte wird am Fol- mennetz ein solcher verwendet. Gleiches gilt für an, was den Geldbeutel schont. Darüber hinaus gebildschirm erzeugt. Hierbei wählt man opti- die Frage, ob Updates automatisch oder manu- geht man mit VirtualBox sicher, dass die ein- malerweise „dynamisch wachsendes Medium“ ell installiert werden sollen. Die Abfrage nach der gerichtete virtuelle Maschine im Anschluss auf mit einer Größe von 3,70 GB. Dieser Wert ist Software kann, ohne etwas zu markieren, über- Linux-, Windows- oder MacOS-X-Maschinen glei- praktisch, da die komplette virtuelle Maschine, sprungen werden. Nach Abschluss der Installa- chermaßen eingesetzt werden kann. Nach Virtu- wann immer gewünscht, auf einer DVD gesichert tion wird es interessanter. alBox sollte die Servervariante von Ubuntu auf oder darauf von Gastgebersystem zu Gastgeber- der zugehörigen Homepage [4] heruntergeladen system transportiert werden kann. Letztlich sind Jetzt geht’s los werden. Dieses System wird später als virtuelle 3,70 GB lediglich ein Vorschlag, der Benutzer Maschine installiert. Prinzipiell eignet sich auch hat, gemessen an seiner Festplattenkapazität, Das System der VM ist installiert und bereit. eine andere Distribution als Unterbau für den die freie Wahl. Wichtig jetzt: Die Beschaffung des Unrealircd.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 25 NETZWERK

Über 1.„ Anti Spoof Protection“ → Yes Hinweis: Da das Programm UnrealIRC nicht aus 2.„ directory of configuration files“ den Paketquellen installiert wurde, sollte man $ wget http://www.unrealircd.com/y von Zeit zu Zeit auf dessen Aktualisierungen ach- downloads/Unreal3.2.8.1..gz 3.„ path to binary“ ten und diese installieren. Das Paket gcc kann 4.„ Hub or Leaf “ nach Erledigung der Aufgabe wieder deinstalliert findet das Programmpaket seinen Weg auf die 5.„ hostname of server“ werden. virtuelle Festplatte. Mittels 6.„ default permission of conf files“ Würde man bereits jetzt den Start der ausführba- $ tar xfz Unreal3.2.8.1.tar.gz 7.„ support ssl“ 8.„ enable IPv6“ ren Datei wagen, wäre eine Fehlermeldung be- züglich der fehlenden Datei unrealircd.conf entpackt man das Archiv in den Ordner 9.„ ziplinks support“ die Folge. Diese befindet sich leider nicht im Unreal3.2. Dieser sollte auch prompt über 10.„ enable remote includes“ Lieferumfang und muss separat heruntergela- $ cd Unreal3.2 11.„ enable prefixes“ den bzw. erstellt werden. Die Konfigurationsdatei 12.„ listen() backlog value“ ist nahezu allumfassend und eine Beschreibung betreten werden. Bevor die Installation nun statt- 13.„ how far keep nickname history“ jeder Option würde den Rahmen des Artikels finden kann, installiert man noch erforderliche 14.„ maximum sendq length“ sprengen. Sucht man im Internet nach dem Be- griff unrealircd.conf, findet man aus verschie- Abhängigkeiten. Einzig der Compiler gcc schien 15.„ how many buffer pools“ nach der Installation des Servers zu fehlen, was densten Quellen Anregungen und Beispielkonfi- 16.„ how many file descriptors“ sich aber durch die Paketverwaltung nachträglich gurationen. Ein sehr schönes deutschsprachiges beheben lässt. Im Anschluss wird das Skript zur 17.„ more parameters?“ Exemplar gibt es beispielsweise auf der Seite irc- Vorkonfiguration von UnrealIRCd laufen. Netter- Wenn der Fragen-Marathon überstanden ist, be- guide.de [5], online gestellt von Hendrik Bergun- weise liegt dieses Script dem Programmpaket bei ginnt das Skript automatisch mit der Konfigura- de. Wer sich darüber hinaus über weitere Konfi- und wird via tion. Abhängig von der eingesetzten Hardware gurationsoptionen informieren möchte, nutzt als Quelle die deutschsprachige Beschreibung zur $ ./Config kann das einige Minuten in Anspruch nehmen. Ist die Konfiguration abgeschlossen erscheint ei- UnrealIRCd-Konfigurationsdatei [6]. ne Tabelle mit dem Namen „UnrealIRCd Compile- ausgeführt. Statt Parameter manuell eintragen Eine speziell auf das Szenario dieses Artikels Time Config“. Sollte diese Tabelle nicht erschei- zu müssen, werden diese durch die Beantwor- angepasste Konfiguration kann man direkt von nen hat sich ein Fehler eingeschlichen. Die Kon- tung einiger Fragen automatisch gesetzt. Folgen- freiesMagazin über die Datei unrealircd.conf her- sole sollte dann über die Art des Fehlers Aus- de Antworten waren im Beispielszenario hilfreich, unterladen und im Ordner Unreal3.2 ablegen. kunft geben. Ist alles in Ordnung wird der Befehl wobei per Standard die Voreinstellung (ohne Ein- Bitte beachten: Die hier zur Verfügung gestellte gabe mit Enter bestätigen) gewählt wurde, wenn $ make Datei bietet lediglich grundlegende Funktionen. nichts anderes dabei steht. Potenzielle Nachah- Im Umkehrschluss heißt das keine verschlüssel- mer sollten die Fragen jedoch nach eigenen An- eingegeben und bestätigt. Zur Belohnung gibt es te Verbindung, keine Einstellungen zur Kommu- sprüchen beantworten. eine ausführbare Datei unreal. nikation mit anderen IRC-Servern und nur die

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 26 NETZWERK nötigsten Erweiterungsmodule. Es sei an dieser Stelle daran erinnert, dass diese Datei auf ei- gene Verantwortung hin genutzt wird! UnrealIRC kann im ausgereiften Zustand ein wahrer Wolken- kratzer werden, der hier konfigurierte Dienst ist im Vergleich eine Wellblechhütte.

Wenn die Anpassung der Konfiguration auf die eigenen Bedürfnisse abgeschlossen ist, müssen noch zwei weitere conf-Dateien angelegt wer- den. Wenn man sich im Ordner Unreal3.2 be- findet, erledigen die Befehle

$ touch rules.conf $ touch motd.conf diese Aufgabe. Das Anlegen verhindert lediglich die Ausgabe von Fehlermeldungen. Falls für die eigenen Zwecke gewollt, sind auch in diesen Kon- Alles hat funktioniert. figurationsdateien Anpassungen nötig. beenden und später wieder starten oder nach und wählt im VirtualBox Manager die „Ändern“- Wurde alles konfiguriert, wird der Dienst via Einpflegen der Änderungen mit Funktion der UnrealIRCd-VM. Im Folgefenster navigiert man zum Punkt „Netzwerk“. Über „Er- $ ./unreal restart $ ./unreal start weitert“ erscheint weiter unten der Button „Port- neustarten. Weiterleitung“. Wurde dieser betätigt, trägt man aktiv geschaltet. Sollte etwas mit der Konfigurati- im jetzt erschienenen Fenster mindestens Proto- on nicht stimmen, beschwert sich der Dienst auf Das große Testen koll „TCP“, die IP-Adresse des PCs auf dem die der Konsole mit Zeilenangabe und Art des Feh- Der UnrealIRCd läuft offenbar. Ob er erreichbar virtuelle Maschine läuft, den Port auf dem Anfra- lers. Landet man nach Eingabe des Befehls hin- ist, testet man mit einem IRC-Client seiner Wahl. gen vom IRC-Client ankommen (meistens 6667), gegen erneut in der Befehlseingabe hat vermut- Vor dem Test sollte spätestens jetzt die Option die Gast-IP (zu erfahren in der virtuellen Maschi- lich alles geklappt und der IRC-Dienst läuft. Soll- zur Weiterleitung von Anfragen an den IRC-Port ne mit dem Befehl ifconfig) und bei Gast-Port ten Änderungen an der unrealircd.conf nötig der virtuelle Maschine aktiviert werden. Falls den in der UnrealIRCd-Konfiguration eingetrage- sein, kann man den IRC-Dienst mit nicht, findet kein Paket seinen Weg zum Unrea- nen „listen“-Port ein. Wenn diese Einstellungen lIRCd. Hierzu fährt man die virtuelle Maschine vorgenommen wurden, sollte dem Zugriff auf den $ ./unreal stop herunter (dazu im Terminal init 0 eingeben) IRC-Server nichts mehr im Wege stehen.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 27 NETZWERK

vollständiger Eintrag sollte in et- und Yahoo-Plugins sowie zusätzlichen Add-ons wa „192.168.178.40/6667“ äh- (PopupPlus, Autoaway) gute Dienste verrichtet. neln. Wenn die Verbindung vom Für welche C´lient-Lösung man sich entscheidet, Gastgebersystem funktioniert, bleibt jedem selbst überlassen. Im beschriebe- sollte im Anschluss noch von nen Szenario wurde letztlich XChat gewählt. einem weiteren, zweiten PC im Netzwerk getestet werden. Damit geht man sicher, dass der Träger Manche Benutzer im Büro haben das Bedürfnis, der virtuellen Maschine die ein- auch noch an anderen IRC-Servern außerhalb gehende Verbindung eines exter- des Büros kommunizieren zu wollen. In Netzen, nen Rechners wie gewollt an die wo den 08/15-Benutzer kein Proxy daran hindert virtuelle Maschine weiterleitet. bzw. dessen Daten jedem bekannt sind, stellt die Unterbindung dessen ein Problem für den Den Benutzer mit ins Boot Administrator dar. Wo Port-Sperren oder ande- holen re Möglichkeiten zur Blockierung nicht umzuset- Der Server ist getestet und die zen sind, lässt sich die IRC-Kommunikation nach Verbindung funktioniert. Großar- außen immerhin erschweren, indem man eine tig. Womit verbinden sich die Be- angepasste Version der Datei servlist_.conf nutzer nun zum IRC-Dienst? (XChat) bereitstellt. In der angepassten Version befindet sich nur der interne Server und alle an- Eine passende Software muss deren Einträge wurden gelöscht. Die Datei liegt her. Diese sollte die wesentlichen üblicherweise im Heimatverzeichnis des Nutzers Konfiguration der virtuellen Maschine. Funktionen, Teilnahme am Kanal, unterhalb von .xchat2/ und kann mit einem wahlweise eine Option zum auto- Texteditor angepasst werden. XChat darf wäh- Zeit für den ersten Test; das Programm XChat [7] matischen Verbinden, wie auch die Möglichkeit renddessen nicht laufen. eignet sich z. B. wunderbar dafür. Man startet mit anderen Benutzern direkt zu kommunizieren, XChat, öffnet die Netzwerkliste und fügt ein mit sich bringen. Noch wichtig: Nicht jeder Benut- neues Netzwerk hinzu. Dieses editiert man so- zer ist mit überdurchschnittlichen IT-Kenntnissen In dieser Datei lässt sich außerdem wunderbar gleich und trägt als Server die IP-Adresse des gesegnet, die Einfachheit der Software spielt al- eingeben, welcher IRC-Kanal nach der Verbin- Gastgebersystems der virtuellen Maschine ein so eine entscheidende Rolle. In diese engere Ka- dung zum Server automatisch betreten werden (nicht die der virtuellen Maschine selbst). Zu- tegorie kamen XChat [7] bzw. XChat Gnome [8], soll. Beispiel: J=#buerostock1,#buerogesamt sätzlich fügt man noch den vorher in der Kon- [9] oder LostIRC [10] für Linux-Clients. Ver- sorgt dafür das nach dem Starten die Kanäle figurationsdatei von UnrealIRCd eingetragenen wenden die Benutzer ausschließlich oder auch #buerostock1 und #buerogesamt betreten wer- Port, auf dem nach eingehenden Verbindun- Windows-Clients hat eine abgespeckte Varian- den. Eine Last weniger für den Endanwender im gen gelauscht wird (Stichwort: listen), hinzu. Ein te von MirandaIM [11] mit entfernten ICQ-, AIM- ersten Stockwerk des Büros.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 28 NETZWERK

Es kann manchmal hilfreich sein, die LINKS Benutzer zu ihrem Glück zu zwingen. [1] http://www.unrealircd.com Das heißt nichts anderes, als das IRC- [2] http://www.virtualbox.org Programm, in diesem Falle XChat, au- [3] http://www.oracle.com tomatisch zu starten. Ubuntu-Systeme [4] http://www.ubuntu.com/business/get-ubuntu/ bieten dafür unter „System → Einstel- download lungen → Startprogramme“ einen einfa- [5] http://irc-guide.de/wiki/Main/UnrealIRCdBeispielk chen Weg. onfigurationsdatei Ein Blick über den Tellerrand [6] http://www.vulnscan.org/UnrealIrcd/unreal32docs. de.html Diese Anleitung endet hier. UnrealIRC [7] http://xchat.org/ bietet aber darüber hinaus schier un- [8] http://live.gnome.org/Xchat-Gnome endliche Möglichkeiten. Das beschrie- [9] http://www.smuxi.org/main/ bene Szenario widmet sich lediglich ei- nem Einzelstandort. Genauso gut wäre [10] http://lostirc.sourceforge.net/ es möglich gewesen, einen UnrealIRC- [11] http://www.miranda-im.org/ Server im Internet zu betreiben, da- [12] http://de.wikipedia.org/wiki/IRC-Dienste mit nicht nur ein Büro sondern auch die Kollegen aus der Hauptdienststel- le auf Rügen und der Hauptpersonal- Autoreninformation rat, ansässig in München, darüber kom- Michael Schwarz (Webseite) munizieren können. Auch wäre es dann schreckt nicht davor zurück, sein möglich, dass Personen von zu Hau- sonst lediglich zu privaten Zwecken se teilnehmen (Stichwort: Heimarbeits- genutztes Kommunikationsmittel IRC platz). Die Vergabe eines Passworts auch im Büro einzubürgern, wenn es Ein eingerichteter Testlauf unter XChat. zum Verbinden auf den Server und die dem Austausch von Informationen Konfiguration einer gesicherten SSL- dienlich und der Vorgesetzte zufrie- N=SchmidtBuero.Kommnik Verbindung wird spätestens dann zur Pflicht. den ist. J=#buero1stock,#buerogesamt E=IRC (Latin/Unicode Hybrid) Eine weitere schöne Funktion, die unbedingt F=26 noch Erwähnung finden sollte, ist die Inanspruch- D=0 nahme von IRC-Diensten [12] wie nickserv oder Diesen Artikel kommentieren S=192.168.178.40/6667 chanserv. Die Integration dieser Dienste in einen internen IRC-Server für circa 30 Personen schien Listing 1: servlist_.conf jedoch unangebracht.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 29 CMS

Einblicke in Drupal von Sujeevan Vijayakumaran

m Januar des Jahres 2011 erschien ei- PostgreSQL, Microsoft SQL und SQLite genutzt triert. Im Januar 2001 wurde dann die Software ne neue Version des Content-Management- werden. Das CMS steht unter der GNU General unter dem Namen Drupal veröffentlicht. „Drupal“ I Systems Drupal [1]. Die siebte Version wur- Public License. stellt die englische Aussprache des niederländi- de Anfang des Jahres nach dreijähriger Ent- schen Wortes „Druppel“ dar, welches „Tropfen“ wicklungsphase freigegeben. Dies ist eine gu- Ein deutschsprachiges Drupal-Forum [3] gibt es auf Deutsch heißt. Aus diesem Namen leitet sich te Gelegenheit, einen Blick auf den aktuellen seit 2006, welches über 12.000 registierte Benut- auch das Logo ab, welches ein Tropfen darstellt. Stand des CMS zu werfen. zer hat. Die internationale Drupal Community [4] mit Forum hat insgesamt über 500.000 registrier- Der Aufbau des Front- und Backends Das Content-Management-System (kurz: CMS) te Benutzer. Drupal wurde nach einer dreijährigen Entwick- Die verschiedenen Content-Management-Sys- lungszeit in Version 7 von den Entwicklern frei- Es gibt inzwischen viele Webseiten, die Drupal teme sind sehr häufig unterschiedlich aufge- gegeben. Durch die neueste Veröffentlichung en- einsetzen. Zu den bekannteren gehören unter an- baut. Viele Systeme haben getrennte Front- und det auch der offizielle Support von Drupal 5. Ne- derem MTV [5], Ubuntu [6], Greenpeace [7] und Backends. Das Frontend dient dazu, die In- ben Drupal gibt es zahlreiche weitere Content- natürlich auch freiesMagazin [8]. haltselemente einer Webseite darzustellen, wäh- Management-Systeme wie zum Beispiel Joom- rend das Backend das Administrationsmenü ist. la, Contao, Wordpress und Typo3. Sie dienen Die Entstehung von Drupal Dort lassen sich neue Artikel erstellen und be- zentral der Organisation und Erstellung von In- Die Geschichte [9] begann im Jahr 2000. An arbeiten sowie zahlreiche weitere Einstellungen halten für eine Internetseite. Dabei arbeiten die der Universität Antwerpen in Belgien entstand vornehmen. Bei einigen Content-Management- verschiedenen Systeme unterschiedlich und set- der erste Vorläufer von Drupal. Damals war es Systemen, wie zum Beispiel Contao, sind die zen verschiedene Schwerpunkte. Drupal selbst ein großes Privileg für Studenten, eine perma- Frontends von den Backends getrennt. Bei Dru- setzt sich als Ziel, ein ausgewogenes CMS zu nente Internetverbindung zu besitzen. So bilde- pal gibt es hingegen einen fließenden Übergang sein. Das Projekt gibt in seiner Dokumentation [2] ten acht belgische Studenten ein Netzwerk. Das zwischen Front- und Backend. Das Administra- an, dass viele andere CMS entweder zu kom- einzige, was in dem Netzwerk fehlte, war eine tionsmenü erreicht man in Drupal über die Leiste, pliziert für Einsteiger oder zu einfach gehalten Plattform, um die einfachsten Sachen zu teilen die oberhalb der Seite positioniert ist. Das Menü sind, sodass man nicht sehr viel damit realisie- und zu diskutieren. Dies inspirierte Dries Buy- wird in mehrere Kategorien unterteilt. ren kann. Drupal selbst erhebt den Anspruch, so- taert eine kleine Newsseite zu programmieren, wohl leistungsstark als auch einfach für Einstei- welche dann im Netzwerk genutzt werden konn- Dashboard ger zu sein. Durch den Einsatz von vordefinier- te. Nachdem Dries die Universität verlassen hat- Auf dem „Armaturenbrett“ liegen verschiedene ten Komponenten bildet Drupal sowohl ein CMS te, entschied sich die Gruppe, den Weblog on- „Blöcke“ die sich jeder nach seinen eigenen Vor- als auch ein Content-Management-Framework. line zu stellen. Zunächst war geplant gewesen, lieben anpassen kann. Standardmäßig darge- Drupal ist komplett in PHP geschrieben und die Domain dorp.org zu registrieren. Dorp ist das stellt werden die neuesten Inhalte, ein Suchfor- ist mit zahlreichen Datenbanksystem kompati- holländische Wort für Dorf. Nach einem Tipp- mular, die neuesten Mitglieder, die sich registriert bel. Neben MySQL kann auch unter anderem fehler wurde jedoch die Domain drop.org regis- haben, als auch die Kommentare, die zu Artikeln

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 30 CMS bzw. Seiten abgeben worden sind. Das Dash- bereits erstellten Seiten zu durchsuchen. Bei ei- Inhaltstypen board lässt sich über weitere Blöcke erweitern ner sehr großen Anzahl von Artikeln ist dabei In Drupal wird jeder Inhalt in einem „Node“ ge- und auch die Anordnung der Blöcke lässt sich auch die Filterfunktion sehr nützlich, womit man speichert. Jedes Node gehört zu einem bestimm- ordnen. beispielsweise die erzeugten Artikel nach Typ, ten Inhaltstyp, welcher verschiedene Einstellun- Sprache oder dem Sta- gen speichert. Darunter fallen unter anderem, tus anzeigen lassen ob standardmäßig die Artikel eines Inhaltstyps kann. direkt veröffentlicht werden und beispielsweise auch, ob Kommentare möglich sind oder nicht. Struktur Drupal bringt zwei Inhaltstypen mit. Dies ist zum Das Strukturmenü wird einen der Inhaltstyp „Artikel“ und zum anderen unterteilt in die Unter- „Inhaltsseiten“. Seiten mit dem Inhaltstypen „Ar- menüpunkte „Blöcke“, tikel“ sind für häufig aktualisierte Artikel sinnvoll. „Inhaltstypen“, „Menüs“ Seiten mit dem Typ „Inhaltsseiten“ sind für stati- und „Taxonomie“, die sche Seiten geeignet, die nicht oder eher selten im Folgenden erläutert aktualisiert werden. Weitere Inhaltstypen mit an- werden. gepassten Einstellungen lassen sich erstellen.

Blöcke Menüs Im Punkt „Menüs“ kann man die verschiedenen Blöcke sind Boxen, die bereits vorhandenen Menüs der Webseite ver- sich in verschiedene Be- ändern, umbenennen oder die Rangfolge verän- reiche einer Webseite dern. Es ist des Weiteren möglich, neue Menüs verschieben lassen. So zu erstellen. Die Menüs lassen sich dann als lässt sich beispielswei- Block im Blockmenü auf der Webseite anord- se per Drag & Drop die Das Administrationsmenü in Drupal 7. nen. Jedes Menü lässt sich mit weiteren Links er- Navigation der Websei- weitern. Die Sortierung der Links innerhalb des Inhalt te von der linken Seite auf die rechte Seite ver- Menüs, auch innerhalb von Untermenüs, kann Das Inhaltsmenü unterteilt sich in zwei weite- schieben. Es gibt viele vorkonfigurierte Blöcke, man sehr einfach per Drag & Drop verschieben. re Untermenüpunkte. Es lassen sich zum einen die mit der Installation von Drupal daherkommen. neue Inhaltsfelder einfügen. So gibt es die vor- Praktisch für Anfänger ist auch die Vorschau der Taxonomie konfigurierten Module „Inhaltsseiten“ und „Arti- Blockregionen. Dabei wird angezeigt, wo welche Die Taxonomie erlaubt das Identifizieren, Katego- kel“ mit denen man direkt einen Text veröffentli- Region liegt. Dies ist besonders beim Einsatz risieren und auch das Klassifizieren von Inhalten. chen kann. Außerdem lassen sich weitere, selbst von neuen Themes nützlich, da sich die Anord- Die einzelnen Tags kann man in Gruppen zusam- konfigurierte Inhaltstypen auswählen. In einem nung und Anzahl der Blöcke bei jedem Theme menfassen und damit Artikel kategorisieren (sie- weiteren Menüpunkt gibt es die Möglichkeit, die unterscheidet. he freiesMagazin-Wortwolke [10]).

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 31 CMS

bequem für Einsteiger, Module vordefinierte Farbsche- Erweiterungen sind in vielen Projekten enorm men nutzen. Des Weite- wichtig, da sie den bestehenden Funktionsum- ren lassen sich diverse fang deutlich ausweiten können. Ein klassisches Seitenelemente einschal- Beispiel dafür ist der Browser Firefox. In Drupal ten oder auch abschal- werden Erweiterungen „Module“ genannt. Einige ten. Außerdem kann man Module liefert Drupal im Kern mit, die zwar nach auch ein eigenes Lo- der Installation vorhanden, aber zunächst deak- go und Favicon hochla- tiviert sind. Der Admin kann diese mitgelieferten den, welches dann von Module selbstständig aktivieren und nutzen. Für dem Theme genutzt wird. Drupal in Version 7 gibt es etwas mehr als 1500 Nicht nur für das Front- Module, die man installieren kann. Monat für Mo- end gibt es Themes. Es nat kommen weitere Erweiterungen hinzu. Kurz gibt auch Themes für nach der Veröffentlichung von Drupal 7 Anfang das Administrationsme- Januar gab es knapp unter 1000 Module. Eini- nü. Weitere Themes gibt ge der Module für die aktuellste Version sind je- es auf der Projektseite doch noch nicht in einer finalen und stabilen Ver- von Drupal [11]. sion erschienen und befinden sich daher noch in der Entwicklungsphase. Dies hängt damit zusam- Benutzer men, dass eben die Veröffentlichung von Dru- Den Benutzern, die man pal 7 noch nicht allzu lange zurückliegt. als Administrator erstellt oder die sich selbst regis- Die Installation von Modulen ist sehr einfach ge- triert haben, kann man staltet. Man kann entweder von einer URL instal- Das Standardtheme von Drupal 7. verschiedenen „Rollen“ lieren oder man kann das entsprechende Paket zuweisen. Die beiden direkt im Browser hochladen. Sehr gute und nütz- Design Rollen „Gast“ und „Authentifizierter Benutzer“ liche Module findet man direkt auf der Projektho- Auch die Konfiguration der Themes in Drupal ist sind gesperrte Gruppen, die man nicht löschen mepage auf Modules [12]. sehr umfangreich. Nach der Installation sind drei kann. Neben diesen beiden Gruppen gibt es Themes einsetzbar. In den Einstellungen des standardmäßig auch die Administratorengruppe. Konfiguration, Berichte und Hilfe jeweiligen Themes kann man die Standardthe- Weitere Rollen lassen sich hinzufügen, die ver- Das Konfigurationsmenü von Drupal enthält alle mes individuell gestalten. Das Farbschema lässt schiedenen Berechtigungen der Rollen lassen restlichen Einstellungen, die für die Webseite von sich besonders gut konfigurieren. So kann man sich ebenfalls ändern. Jedem Benutzer lässt sich Bedeutung sind, wie unter anderem Einstellun- entweder die Farbwerte für die verschiedenen daher eine „Rolle“ zuweisen. Einzelne Benutzer gen für die Lokalisierung und das System. Dar- Bereiche der Webseite ändern oder, besonders kann man verständlicherweise auch sperren. über hinaus erstellt Drupal auch Berichte. Dar-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 32 CMS unter fallen Benachrichtigungen über Aktualisie- der DrupalCon in Chicago [16] nannte Dries Buy- rungen vom Drupal-Kern und von Modulen, als taert die Schwerpunkte für die kommende Ver- Autoreninformation auch Protokolle über die häufigsten Suchbegrif- sion. Zum einen soll die Unterstützung auf allen fe, die häufigsten „Nicht gefunden“- und „Zugriff Geräten ausgeweitet werden, sodass besonders Sujeevan Vijayakumaran (Web- verboten“-Fehler. mobile Geräte wie Smartphones und Tablets eine seite) testet gerne verschiedene verbesserte Oberfläche erhalten. Eine Integrati- Content-Management-Systeme und Im Hilfebereich findet man viele Informationen, on von Cloud-Diensten soll kommen, sowie eine setzt Drupal auch auf seiner eigenen die für den Umgang mit Drupal von Bedeutung verbesserte Trennung zwischen Inhalt und Konfi- Homepage ein. sind. So umfasst die Hilfe viele Erklärungen zu guration. den Modulen. Eine ausführlichere Hilfe bietet das Drupal Handbook [13], welches jedoch nur in Neben einigen weiteren Punkten gilt, dass auch der englischen Sprache vorhanden ist. Ein deut- weiterhin die Benutzbarkeit und die Performance Diesen Artikel kommentieren sches Handbuch beziehungsweise FAQ zu Dru- verbessert wird. pal ist auf Drupalcenter.de [14] zu finden. Dar- über hinaus stellt die Webseite Thoor.de einige LINKS Screencasts [15] zur Verfügung, die den Umgang mit Drupal erläutern. [1] http://drupal.org/ [2] http://drupal.org/getting-started/before/ Neues in Drupal 7 overview [3] http://www.drupalcenter.de/forum Drei Jahre hat es gedauert, bis das siebte Re- [4] http://drupal.org/community lease von Drupal veröffentlicht wurde. Bei die- [5] http://www.mtv.co.uk/ sem Release wurde eine enorme Verbesserung des Adminstrations- bzw der Benutzeroberfläche [6] http://www.ubuntu.com/ durchgeführt. Neben der Verbesserung der Ober- [7] http://www.greenpeace.org.uk/ fläche sind nun auch flexible Inhaltsfelder mög- [8] http://www.freiesmagazin.de/ lich. Außerdem wurde die Barrierefreiheit in Dru- [9] http://drupal.org/node/769 pal deutlich verbessert. Des Weiteren wurde die [10] http://www.freiesmagazin.de/wortwolke Datenbankunterstützung optimiert, sodass man [11] http://drupal.org/project/themes Drupal mit sehr vielen Datenbanksystemen nut- [12] http://drupal.org/project/modules zen kann. [13] http://drupal.org/handbooks [14] http://www.drupalcenter.de/handbuch Ein Blick in die Zukunft [15] http://www.thoor.de/drupal/anleitungen/drupal-7- „Date“ © by Randall Munroe (CC-BY-NC-2.5), Mit der Veröffentlichung von Drupal 7 begann im video-screencasts http://xkcd.com/634 März 2011 die Arbeit an der achten Version. Auf [16] http://chicago2011.drupal.org/

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 33 HARDWARE

Heimautomatisierung für Hardwarebastler (Teil 3) von Hans Müller

igene Hardware von einer möglichst Karte oder vielleicht sogar per Controller an der über die OpenAPC-Steuerungssoftware nutzbar einfach und leicht zu benutzenden seriellen Schnittstelle erfolgen. zu machen. Softwarelösung ansteuern zu lassen, E Ganz in der Tradition der ersten beiden Teile Egal welche Lösung bevorzugt wird, es ergibt ist eine feine Sache. Allerdings wird das in sich das Problem, dass die OpenAPC-Software soll auch hier nun wieder mit dem Software-Part, dem Moment schwierig, in dem exotische diese neue Hardwareschnittstelle möglicherwei- sprich der Implementierung eines neuen Plug- oder gar komplett selbst entwickelte Hard- se nicht von Haus aus unterstützt. Dank des ins, der Teil eines Projektes im Vordergrund ste- ware zum Einsatz kommt, welche von der ge- Plug-in-Konzeptes ist es aber leicht möglich, hen, der für den Hardwareentwickler nicht nur wählten Prozesssteuerungssoftware nicht di- solche neuen Devices einzubinden und damit ein fremdes Fachgebiet sondern meist auch ein rekt unterstützt wird. Dann entscheidet sich, ungeliebtes aber notwendi- ob die bis dahin verwendete Visualisierungs- ges Übel ist. lösung so flexibel und erweiterbar ist, dass sie dennoch weiter benutzt werden kann, Hinweis: Alle vorgestell- oder ob es sich um eine Sackgasse handelt, ten Dateien können über aus der man ohne einen kompletten System- das Archiv Heimautomati- wechsel nicht mehr heraus kommt. sierung.zip heruntergeladen werden In den ersten beiden Teilen dieser Artikel- serie, welche in den freiesMagazin-Ausgaben Baukastenprinzip 01/2011 [1] und 03/2011 [2] zu finden sind, Plug-ins sind ein ele- wurde gezeigt, wie es mittels der OpenAPC- mentarer Bestandteil der Software möglich ist, kleine und auch größere OpenAPC-Visualisierungs- Projekte samt des zugehörigen HMI zu erstel- software. Innerhalb der Ap- len. Die dort exemplarisch vorgestellte Rollladen- plikation ist das nicht so oh- steuerung hat mit der Außenwelt über die Paral- ne weiteres zu erkennen, lelschnittstelle kommuniziert. Nachdem der Par- aber sehr viele Funktionali- allelport ein mittlerweile ziemlich veraltetes Stück täten sind bereits in exter- Hardware ist, welches – wenn überhaupt – nur nen Plug-ins implementiert noch als Pfostenleiste auf dem Mainboard zu fin- und gar nicht Teil des Haupt- den ist, liegt der Wunsch nahe, hier etwas ande- programmes. res einzusetzen. Ein Vorteil, der sich daraus Alternativen gibt es viele, so kann die Kommuni- ergibt, ist die Möglichkeit, Leichter Zugriff auf HMI-und Flow-Elemente per Foldbar – Plug-ins kation mit der Außenwelt per USB, per PCI-IO- auf dem Zielsystem nur die inklusive.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 34 HARDWARE

Plug-ins zu installieren, welche auch wirklich be- anschließend zur Verfügung gestellt. Die Weiter- auch ein guter Platz, um ein eigenes Verzeichnis nötigt werden. Das spart Platz und beschränkt ei- entwicklung auf ein Plug-in, welches dann tat- libio_random/ anzulegen und ein Makefile zu ne solche Installation auf das absolut notwendige sächlich irgendeine sehr spezielle Hardware an- erzeugen. Dabei ist es das einfachste, sich eines Minimum. steuert (und damit zu einer anderen Kategorie der existierenden Makefiles der anderen Plug-ins gehört), bedarf dann nur noch weniger Änderun- zu bedienen und lediglich die Namen der Source- Doch zuerst ein Blick in die neue Version 1.5: gen. dateien anzupassen. Auffälligste Änderung sind Foldbars jeweils am rechten Rand des Fensters, in der die vorhan- Die Werkzeuge Zwei Eigenheiten dieser Makefiles sind jedoch zu beachten: Zum einen wird ein Verzeichnis denen Funktionen und Elemente verfügbar sind Um mit der Entwicklung eines eigenen Plug- ../../flowplugins erwartet, in dem das Plug- und in denen man auch leicht erkennen kann, ins zu beginnen, werden einige Tools und Pa- in erzeugt wird, welches aber nicht existiert und welche dieser Elemente als externe Plug-ins rea- kete benötigt. Das wären zum einen gcc und deswegen von Hand mittels lisiert sind. Sowohl im HMI- als auch im Flow- make, welche Teil jeder Linux-Distribution sind Editor sind all diejenigen Objekte, welche sich und im Zweifelsfall leicht nachinstalliert werden $ mkdir ../../flowplugins in den Foldbars unterhalb der kleinen, horizonta- können. Zum anderen ist das das OpenAPC- len Trennlinie befinden, als externe Softwarekom- Entwicklungspaket. Dieses findet sich z. B. auf angelegt werden muss. Und zum anderen wird ponenten realisiert. In den Flowelementgruppen der OpenAPC-Downloadseite [3] im SDK [4]. Al- als letzter Schritt im Makefile ein „Daten“, „Bewegung“, „Eingang/Ausgang“ sind ternativ kann der aktuelle Stand aller Sourcen das sogar alle. Hier existieren gar keine Funk- und Header aber auch per git von der Projekt- $ sudo cp $(EXECUTABLE) /usr/lib/y tionen, welche vom Hauptprogramm ausgeführt seite auf fedorahosted.org beschafft werden. Ein openapc/flowplugins/ werden. Kommandozeilenaufruf aufgerufen, was dazu führt, dass das eben ge- An dieser Stelle ist bereits zu erahnen, dass zwi- $ git clone http://git.fedorahostedy nerierte Plug-in in das flowplugins-Verzeichnis schen den einzelnen Typen von Flow-Plug-ins .org/git/OpenAPC.git der aktuellen OpenAPC-Installation kopiert wird, kein großer Unterschied besteht. Die Schnittstel- sodass man es nach einem Neustart der Applika- le nach oben hin ist für alle gleich. Es ist nur ei- erzeugt dabei eine lokale Kopie des Sourcenar- tion sofort testen kann. Damit dass klappt, muss ne Frage der Implementierung, was diese genau chives inklusive der benötigten Headerfiles. Klei- sudo [5] allerdings so eingerichtet sein, dass der tun. ner Nachteil hier: Das Handbuch, welches al- lokale Benutzer auch cp mit root-Rechten ausfüh- le Programmierschnittstellen beschreibt, ist dort ren darf. Ein Eintrag Aus diesem Grund soll hier in einem ersten nicht enthalten. Dieses ist nur im SDK zu finden. Schritt ein einfaches, allgemein nutzbares Plug- username ALL = NOPASSWD: /bin/cp in entwickelt werden, welches gar nicht zur Kate- In der mittels git clone erzeugten Verzeich- gorie „Eingang/Ausgang“ gehört, sondern in der nisstruktur finden sich im Unterverzeichnis in der Datei /etc/sudoers sorgt dafür, dass das Kategorie „Daten“ Zufallszahlen erzeugt. Dies ist plugins/ gleich eine ganze Sammlung von auch klappt. Hier muss username natürlich durch eine Funktionalität, welche dem OpenAPC-Paket Sourcen, welche innerhalb des OpenAPC- den Namen des Benutzers ersetzt werden, wel- noch fehlt. Das fertige Plug-in wird dem Projekt Paketes diverse Plug-ins realisieren. Das ist cher cp per sudo ausführen können soll.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 35 HARDWARE

Die Basis che immer dann auf dem gegenüberliegenden hinzu, welche später näher erklärt werden. Die Prinzipiell wird ein Plug-in immer in zwei ver- Ausgang einen Zufallswert ausgeben, wenn ein Erzeugung einer solchen Plug-in-Instanz ist da- schiedenen Umgebungen ausgeführt. Das ist HIGH-Signal gesetzt wurde. Die Ausgänge be- mit denkbar simpel: zum einen der Editor, in welchem hauptsächlich stehen dementsprechend aus einem Digital- und einem numerischen Ausgang. Der Wertebereich OAPC_EXT_API void* y Konfigurationsfunktionalitäten gefragt sind, und oapc_create_instance2(unsigned long des numerischen Ausganges soll konfigurierbar y zum anderen der Player,in welchem das Plug- /*flags*/) sein. Damit ist die Datenstruktur klar, welche in dann seine eigentliche Arbeit verrichtet. Ent- { sprechend dieser unterschiedlichen Umgebun- beim Erzeugen einer Instanz angelegt werden struct instData *data; gen müssen vom Plug-in auch unterschiedliche muss: Funktionen bereit gestellt werden. struct libio_config data=(struct instData*)malloc(y { sizeof(struct instData)); Technisch gesehen ist so ein Plug-in nichts wei- if (!data) ter als eine Shared Library, welche unter Linux unsigned short version,length; int numRange; return NULL; durch die Dateiendung .so gekennzeichnet wird. }; memset(data,0,sizeof(struct y Da diese Libraries aber nicht beim Programm- instData)); start gelinkt sondern zur Laufzeit dynamisch ge- struct instData data->config.numRange=500; laden werden, kommt eine Besonderheit zum Tra- { gen: In so einem Fall muss die Library ihre inter- struct libio_config config; return data; nen Daten selbst trennen, da sie bei mehrfacher int m_callbackID; } Verwendung nicht mehrfach private Speicher- unsigned char m_digi; bereiche zugewiesen bekommt. Praktisch heißt double m_num; Es wird ein Speicherbereich alloziert und mit 0 in- das, dass die OpenAPC-Software zuerst immer }; itialisiert, in welchem die oben definierte Struktur eine Funktion oapc_create_instance2() auf- passt. Der einzige Parameter numRange wird auf ruft, in welcher ein Datenbereich angelegt wer- Die erste Struktur libio_config enthält die Kon- seinen Vorgabewert gesetzt. Dieser Speicherbe- den muss, der die aktuelle Instanz dieses Plug- figurationsdaten, welche auch geladen und ge- reich ist gleichzeitig der Rückgabewert der Funk- ins ausschließlich verwenden darf. Eine ande- speichert werden sollen, weswegen sie in eine ei- tion. Geht während der Initialisierung irgend et- re Funktion oapc_delete_instance() kann ver- gene Struktur ausgelagert wurden. version und was schief, so muss NULL zurück gegeben wer- wendet werden, um diesen Speicherbereich wie- length werden hier eingesetzt, um spätere kom- den. der freizugeben. patible Erweiterungen der Funktionalität zu er- möglichen, numRange speichert den maximal zu- Noch simpler geht es beim Freigeben der In- Das klingt jetzt komplizierter als es ist. Praktisch lässigen Wertebereich des Zufallswertes. stanzdaten zu: sind das nur wenige Zeilen Code. Um diesen Datenbereich anzulegen, muss zuerst definiert Diese Struktur ist Teil von instData, der eigentli- OAPC_EXT_API void y werden, was das Plug-in tun soll. In diesem Bei- chen Instanzdatenstruktur. Hier kommen noch ei- oapc_delete_instance(void* y spiel soll es zwei Digitaleingänge besitzen, wel- nige, nur während der Laufzeit benutzte Member instanceData)

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 36 HARDWARE

{ static char libname[]="Random Generator"; dass die Konfiguration per XML- if (instanceData) free(y Struktur übermittelt wird, Alterna- instanceData); OAPC_EXT_API char *oapc_get_name(void) tiven dazu existieren derzeit kei- } { ne. Ähnlich scheint es sich mit return libname; OAPC_ACCEPTS_PLAIN_CONFIGUR Damit ist die gesamte Funktionalität im Zusam- } ATION zu verhalten. Hierüber wird menhang mit den Plug-in-Instanzen bereits be- festgelegt, wie die im Konfigu- reitgestellt. Bei allen folgenden Aufrufen wird der Diese Funktion teilt dem Hauptprogramm mit, rationsdialog eingegebenen Daten zurückge- oben angelegte Speicherbereich immer mitgelie- wie das Plug-in heißt. Dieser Name wird dann liefert werden. Auch hier ist derzeit nur diese fert. Wenn das Plug-in dann ausschließlich diese überall dort angezeigt, wo das Plug-in verwendet eine Variante vorgesehen. Anders die nächs- Daten verwendet, ist es egal, wie oft es innerhalb wird. Wichtig hier: der Name ist in einer globalen te Konstante OAPC_ACCEPTS_IO_CALLBACK. Ist eines Projektes verwendet wird. Es arbeitet auto- Variablen libname gespeichert, sodass sicherge- diese gesetzt, werden die Ausgänge des Plug- matisch immer mit den richtigen Daten. stellt ist, dass diese Daten auch nach Verlassen ins nicht zyklisch abgefragt, vielmehr kann das der Funktion noch gültig sind. Plug-in dem OpenPlayer per Callback-Funktion Funktionen für den Editor OAPC_EXT_API unsigned long oapc_get_capabilities(void) Innerhalb des Editors muss ein Plug-in folgende { Aufgaben erfüllen: return OAPC_HAS_INPUTS|OAPC_HAS_OUTPUTS| OAPC_HAS_XML_CONFIGURATION|OAPC_ACCEPTS_PLAIN_CONFIGURATION|  mitteilen, was es kann, wie es angesprochen OAPC_ACCEPTS_IO_CALLBACK| werden soll und welche Ein-/ Ausgänge es be- OAPC_FLOWCAT_DATA; sitzt; }  Daten zur Verfügung stellen, welche das Lay- out des Konfigurationsdialoges festlegen; Diese Funktion liefert verschiedene Flags zu- mitteilen, dass neue Daten vorhanden sind, wel-  die vom Konfigurationsdialog zurückgegebe- rück, welche festlegen, was das Plug-in kann che von den Ausgängen abgeholt werden kön- nen Daten empfangen; und welche Features es besitzt. Die ers- nen. Dieses Flag ist somit für die Verwendung  aus einem Projektfile geladene Daten intern ten beiden Konstanten OAPC_HAS_INPUTS und des Plug-ins in Player oder Debugger relevant. verarbeiten; OAPC_HAS_OUTPUTS legen fest, dass es sowohl Ein- als auch Ausgänge hat. Von diesen hängt Die letzte Konstante legt fest, innerhalb welcher  die intern gehaltenen Daten so zur Verfügung stellen, dass sie in einem APCP-Projektfile ab- dann ab, ob die im Folgenden beschriebenen Kategorie das Plug-in im Editor aufgelistet wer- gespeichert werden können. zwei Funktionen vorhanden sein müssen oder den soll. Hiermit wurde dem Zufallszahlen-Plug- nicht. Das Flag OAPC_HAS_XML_CONFIGURATION in die Kategorie „Daten“ zugeordnet. Andere Vari- Für all diese Aufgaben werden wieder Funktio- ist ein wenig seltsam, zumindest in der ak- anten existieren mit OAPC_FLOWCAT_CONVERSION nen erwartet, welche vom Plug-in bereit gestellt tuellen Softwareversion muss dieses eigent- für „Datenkonvertierung“, OAPC_FLOWCAT_LOGIC werden müssen. lich immer vorhanden sein. Es legt fest, für „Logikoperationen“, OAPC_FLOWCAT_CALC für

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 37 HARDWARE

„Rechenoperationen“, OAPC_FLOWCAT_FLOW für benutzt werden soll, wie das Layout des Konfi- numrange „Flusssteuerung“, OAPC_FLOWCAT_IO für „Ein- gurationsdialoges aussehen soll und welche Pa- Numeric Range gang/Ausgang“ und OAPC_FLOWCAT_MOTION für rameter mit welchen Wertebereichen dort ange- integer die Flow-Elemente-Kategorie „Bewegung“. zeigt werden sollen: %d 2 Mit den nächsten beiden Funktionen wird der Ap- OAPC_EXT_API char *y 10000 plikation mitgeteilt, dass die Digitaleingänge 0 oapc_get_config_data(void* y und 1 sowie die Ausgänge 0 (digital) und 1 (nu- instanceData) merisch) verwendet werden sollen: { struct instData *data; CLK - generate random y OAPC_EXT_API unsigned long y digital value oapc_get_input_flags(void) data=(struct instData*)y CLK - generate random y { instanceData; numeric value return OAPC_DIGI_IO0|y sprintf(xmldescr,xmltempl, RND - random digital valuey OAPC_DIGI_IO1; flowImage , } data->config.numRange); RND - random numeric valuey return xmldescr; OAPC_EXT_API unsigned long y } oapc_get_output_flags(void) { Wie zu sehen ist, passiert hier nicht all zu viel. return OAPC_DIGI_IO0| y Die Informationen selbst stecken in einer XML- OAPC_NUM_IO1; An Stelle des Platzhalters %s im XML-Tag Struktur, welche an dieser Stelle zusammenge- } wird das Bild eingefügt. Hier setzt und zurückgegeben wird. Diese besteht im wird ein Base64-Encodiertes PNG-Bild in der Beispiel aus drei Teilen: der Definition des Bil- Hier ist darauf zu achten, dass jeder Ausgang Größe 106x50 Pixel erwartet. PNG-Bilder lassen des für den Floweditor, der Definition des Panels nur einmal mit einem entsprechenden Flag für sich mit quasi jedem Zeichenprogramm erzeu- für die Parameter sowie der Definition des Hilfe- einen Datentyp belegt wird. Eine Angabe wie gen, die Base64-Codierung kann beispielsweise Panels, in welchem die Ein- und Ausgänge sowie z. B. OAPC_CHAR_IO7|OAPC_BIN_IO7 wäre unzu- online gemacht werden [6]. Das Ergebnis die- deren Funktion erklärt werden: lässig, da ein Ein- bzw. Ausgang nur exakt einen ser Codierung ist dann ein Textstring, welcher Datentyp unterstützen und nicht gleichzeitig für sich als normales Character-Array in die XML- Struktur einfügen. Die nächste Funktion – bzw. die Daten, welche %s von ihr erzeugt und zurückgegeben werden – ha- Mit Hilfe des -Tags wird eine ei- ben es in sich. Hier wird der Applikation mitgeteilt, gene Tab-Pane erzeugt, in der alle Elemente welches Symbol zur Verwendung im Flow-Editor angeordnet werden, welche sich zwischen die-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 38 HARDWARE sen befinden. Hier in diesem Beispiel wird ein So bald das Konfigurationspanel eines Plug-ins gemeinsames Projektfile zu bringen bzw. die dort Eingabefeld () für Ganzzah- mit „OK “ verlassen wurde, kommt diese Funk- gespeicherten Daten zurück zu erhalten, wenn len (integer) angelegt, welches tion zum Zug. Das passiert mehrfach – für je- so eine .apcp-Projektdatei geladen wird. Auch Werte im Bereich von 2 (2) bis des in der XML-Struktur definierte Eingabefeld das ist nicht wirklich kompliziert, allerdings gilt es, 10000 (10000) akzeptiert und mit je einmal. Dabei wird im Parameter name der ein paar Kniffe zu beachten. dem Wert aus data->config.numRange vorbe- eindeutige Name des Eingabefeldes übergeben legt ist (%d). An dieser und in value der Wert, der vom Benutzer ge- static struct libio_config y save_config; Stelle wird der Wert aus der Variablen numRange wählt wurde. Dieser liegt dabei in jedem Fall als für den Default-Wert verwendet, damit sicher- Character-Array vor und muss gegebenenfalls OAPC_EXT_API char * gestellt ist, dass bereits geänderte und mögli- entsprechend konvertiert werden. Die Umwand- y oapc_get_save_data(void* y cherweise aus einem Projektfile geladene Werte lung in eine Ganzzahl geschieht hier über die instanceData,unsigned long *length) auch korrekt angezeigt werden. Funktion atoi(). { Alles, was vom -Tag eingeschlos- Noch kurz ein Wort zur oben aufgeführten XML- struct instData *data; sen ist, landet wiederum in einer eigenen Tab- Struktur: Hier wurden zwei Paneltypen und ein data=(struct instData*) Pane „Beschreibung“, in der Sinn und Zweck der Typ für Dateneingaben vorgestellt. Tatsächlich y instanceData; verschiedenen Ein- und Ausgänge noch einmal existieren wesentlich mehr Möglichkeiten. Ne- *length=sizeof(struct y kurz erklärt sind. Diese Pane sollte in keinem ben zusätzlichen Panels, welche jeweils eige- libio_config); Plug-in fehlen, da es als Gedächtnisstütze hilf- ne Namen haben können, gibt es auch Aus- save_config.version =htons(1); reich ist. wahlfelder, statische Texte, Eingabefelder für Tex- save_config.length =htons(*y te und Fließpunkt-Zahlen, Dateiauswahldialoge, Ein besonderes Augenmerk soll hier noch length); Buttons zur Auswahl einer Farbe und anderes save_config.numRange=htonl(data auf das Tag numrange für das y mehr. Damit ist im Prinzip jede Art von Konfigu- ->config.numRange); Integer-Eingabefeld gelegt werden. Der vergebe- rationsdialog machbar. ne Name muss innerhalb eines Plug-ins eindeu- return (char*)&save_config; tig sein, da er benötigt wird, um zu ermitteln, wel- Was jetzt noch fehlt, sind Möglichkeiten, die } chen Wert der Benutzer hier eingegeben hat: lokal gehaltenen Konfigurationsdaten in ein

OAPC_EXT_API void oapc_set_config_data(void* instanceData,const char *namey Die obige Funktion erwartet als Rückgabewert ,const char *value) einen Pointer auf den Speicherbereich, in wel- { chem die zu speichernden Daten liegen und in struct instData *data; der Variablen, auf die length zeigt, deren Größe. Im Prinzip ist hier der Inhalt der zuvor angelegten data=(struct instData*)instanceData; Struktur libio_config zurückzugeben – in die- if (strcmp(name,"numrange")==0) data->config.numRange=atoi(value); ser befindet sich der zu speichernde Parameter } numRange. Da das Plug-in zum einen kompatibel

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 39 HARDWARE

zu möglichen zukünftigen Änderungen bleiben OAPC_EXT_API void oapc_set_loaded_data(void* instanceData,unsigned long y soll und zum anderen auch auf anderen Rechner- length,char *loadedData) architekturen funktionieren muss, sind allerdings { einige Maßnahmen erforderlich. struct instData *data;

So werden zusätzlich eine Versionsnummer für data=(struct instData*)instanceData; die Datenstruktur und deren Länge gespeichert if (length>sizeof(struct libio_config)) length=sizeof(struct y und in den zu übergebenden Daten abgelegt. libio_config); memcpy(&save_config,loadedData,length); data->config.version =ntohs(save_config.version); data->config.length =ntohs(save_config.length); if ((data->config.version!=1) || (data->config.length!=sizeof(struct y libio_config))) { // do conversion from earlier versions here } data->config.numRange=ntohl(save_config.numRange); }

Die obige Funktion handhabt die umgekehrte Funktionen für den Player Richtung: In loadedData werden die geladenen Nachdem bis eben auch einige Funktionen be- Daten mit der Länge length übergeben und an- schrieben wurden, welche in Player und Editor schließend konvertiert. An dieser Stelle ist bei verwendet werden, geht es jetzt an die eigent- Das erste eigene Plug-in. späteren Versionen des Plug-ins dann auch zu liche Implementierung der Plug-in-Funktionalität. überpüfen, ob die geladenen Daten eventuell Des Weiteren werden alle Member der Die folgenden Funktionen werden im Player bzw. konvertiert werden müssen. Struktur libio_config mittels htons() und Debugger ausschließlich dazu benutzt, um ei- nem Plug-in überhaupt „Leben“ einzuhauchen. htonl() in das plattformunabhängige Netzwerk- Damit ist ein wesentlicher Teil des Plug-ins fer- Datenformat umgewandelt. Dieses dient eigent- tiggestellt. Nachdem es erfolgreich mittels eines Wird ein Plug-in im Player oder Debugger ge- lich dazu, die direkte Datenübertragung zwi- simplen Aufrufes von startet, ist der erste Aufruf vom Player an das schen Rechnern unterschiedlicher Architektur Plug-in auch wieder der zum Erzeugen einer zu ermöglichen, kann aber auch dann problem- $ make neuen Instanz per oapc_create_instance2(). los verwendet werden, wenn diese Daten „nur“ Anschließend werden die gespeicherten Wer- gespeichert werden. Es ist lediglich zu beachten, in der Konsole kompiliert wurde, kann es im Flow- te mittels eines Aufrufs der Plug-in-Funktion das beim Laden die Rückkonvertierung mittels Editor des OpenEditors erstmalig getestet wer- oapc_set_loaded_data() übergeben. Beide ntohs() und ntohl() stattfindet: den. Funktionen existieren bereits. Im nächsten

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 40 HARDWARE

Schritt versucht der Player nun, das Plug-in zu  OAPC_ERROR_CONNECTION – es ist ein Verbin-  OAPC_ERROR_RECV_DATA – der Empfang von initialisieren: dungsproblem aufgetreten (z. B. bei Netzwerk- Daten ist fehlgeschlagen kommunikation) OAPC_ERROR_SEND_DATA – das Senden von OAPC_EXT_API unsigned long  y OAPC_ERROR_DEVICE oapc_init(void* instanceData)  – ein benötigtes Geräte- Daten ist fehlgeschlagen Device steht nicht zur Verfügung bzw. konnte {  OAPC_ERROR_PROTOCOL – Fehler in einem struct instData *data; nicht erfolgreich geöffnet werden (Kommunikations-)Protokoll

 OAPC_ERROR_NO_DATA_AVAILABLE – es wur-  OAPC_ERROR_INVALID_INPUT – die Eingangs- data=(struct instData*)malloc(y den Daten abgefragt, obwohl momentan keine daten sind ungültig (z. B. außerhalb eines zu- sizeof(struct instData)); zur Verfügung stehen (dieser Returncode ist lässigen Bereiches) srand(time(NULL)); bei den Funktionen zum Holen von Ausgangs- OAPC_ERROR – es ist ein sonstiger Fehler auf- return OAPC_OK;  daten wichtig) getreten, der durch die anderen Codes nicht }  OAPC_ERROR_NO_SUCH_IO – der spezifizierte abgedeckt wird Die einzig erforderliche Initialisierung für dieses Ein-/Ausgang existiert nicht (dieser Returnco- Beispiel ist der Aufruf von srand() für den Zu- de ist ebenfalls für die I/O-Funktionen wich- Auch Teil der Plug-in-Initialisierung ist fallsgenerator. Wäre dies ein Plug-in, mit dem tig und würde etwas signalisieren, was so ei- der Aufruf einer Funktion, welcher nur Hardware angesteuert werden müsste, so wäre gentlich nicht auftreten kann, wenn OpenAPC- dann erfolgt, wenn das Capability-Flag diese Funktion ein guter Ort, um alle notwendi- Software und Plug-in fehlerfrei sind) OAPC_ACCEPTS_IO_CALLBACK gesetzt war: gen Maßnahmen wie das Öffnen des zugehöri-  OAPC_ERROR_NO_MEMORY – es ist nicht genü- OAPC_EXT_API void y gen Geräte-Devices, das Senden der Firmware gend Speicher vorhanden oapc_set_io_callback(void* y oder von Initialisierungsparametern zu erledigen. OAPC_ERROR_RESOURCE – eine sonstige benö-  instanceData,lib_oapc_io_callback y Diese Werte sollten dann wieder aus der Struk- tigte Ressource steht nicht zur Verfügung oapc_io_callback,unsigned long y tur instData kommen und konfigurierbar sein.  OAPC_ERROR_AUTHENTICATION – es ist ein callbackID) Wichtig in diesem Zusammenhang sind auch die Fehler bei einer Authentifizierung aufgetreten, { Returncodes dieser Funktion, diese geben dar- die für eine Operation benötigten Zugangsda- struct instData *data; über Auskunft, was schiefgegangen ist und sor- ten sind falsch gen dafür, dass der Benutzer durch den Player data=(struct instData*)  OAPC_ERROR_CONVERSION_ERROR – es war y instanceData; auch gleich eine aussagekräftige Fehlermeldung nicht möglich, eine erforderliche Datenkonver- m_oapc_io_callback= angezeigt bekommt. Hier existieren folgende vor- tierung durchzuführen y definierte Codes, welche – sofern sie zum aufge- oapc_io_callback;  OAPC_ERROR_STILL_IN_PROGRESS – es ist tretenen Problem passen – im Prinzip für fast alle data->m_callbackID=callbackID; nicht möglich, neue Daten entgegenzuneh- } Funktionen verwendet werden können: men, da die vorhergehende Operation noch läuft (ist in erster Linie bei den Funktionen zum  OAPC_OK – die Operation war erfolgreich, alles Hier teilt der Player mit, über welche Funktion ist in Ordnung Setzen von Eingangsdaten sinnvoll) er darüber informiert werden möchte, wenn neue

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 41 HARDWARE

Daten vorhanden sind, welche von ihm anschlie- den oben gesetzten IO-Flags OAPC_xxx_IOy für Funktion das mit Hilfe des Rückabewertes ßend abgeholt werden können. Der entspre- Ein- und Ausgänge ab. OAPC_ERROR_NO_SUCH_IO. chende Funktionspointer oapc_io_callback so- wie der ebenfalls benötigte Callback-Code OAPC_EXT_API unsigned long oapc_set_digi_value(void* instanceData,y unsigned long input,unsigned char value) callbackID werden für die spätere Verwendung { gespeichert. Der Funktionspointer darf dabei in struct instData *data; einer globalen Variable landen, da er keiner spe- zifischen Plug-in-Instanz zugeordnet ist, sondern if (value!=1) return OAPC_OK; offenbar für alle Plug-ins immer auf den gleichen data=(struct instData*)instanceData; Einsprungpunkt zeigt. if (input==0) { Wichtig ist auch die Deinitialisierung, welche if (rand()>RAND_MAX/2) data->m_digi=1; beim Beenden des Players erfolgt, hierfür wird else data->m_digi=0; ebenfalls eine eigene Funktion benötigt: m_oapc_io_callback(OAPC_DIGI_IO0,data->m_callbackID); } OAPC_EXT_API unsigned long y oapc_exit(void* instanceData) else if (input==1) { { return OAPC_OK; double factor; } factor=(1.0*data->config.numRange)/RAND_MAX; data->m_num=(int)(rand()*factor); Für dieses Beispiel-Plug-in muss an dieser Stelle m_oapc_io_callback(OAPC_NUM_IO1,data->m_callbackID); nichts unternommen werden, da keine Speicher- } bereiche freizugeben oder Geräte-Devices zu else return OAPC_ERROR_NO_SUCH_IO; schließen sind. Das wäre wieder anders, wenn return OAPC_OK; Hardware im Spiel ist, die vom Plug-in angespro- } chen wird.

Alle folgenden Funktionen dienen der Datenkom- An dieser Stelle findet die Implementierung An dieser Stelle wird nun auch Gebrauch von munikation und existieren als „set“-Funktion zum der Zufallsfunktion für die Eingänge 0 (if der Callback-Funktion gemacht: Der Funktions- Setzen von Eingangsdaten, als „get“-Funktion (input==0)) und 1 (else if (input==1)) statt. pointer m_oapc_io_callback() dieser Funktion zum Abholen von Ausgangsdaten. Diese gibt es Mittels der Funktion rand() wird ein neuer Zu- wird jetzt verwendet, um dem Player bzw. Debug- dann dann jeweils in Varianten für Digital-, nu- fallswert ermittelt und in der zugehörigen Va- ger mitzuteilen, dass neue Daten am Digitalaus- merische, Binärdaten und Zeichenketten. Ob und riable data->m_digi bzw. data->m_num ge- gang 0 (OAPC_DIGI_IO0) bzw. am numerischen welche dieser Funktionen vorhanden sein müs- speichert. Wird irrtümlich ein Wert für einen Ausgang 1 (OAPC_NUM_IO1) zur Verfügung ste- sen und vom Player erwartet werden, hängt von anderen Eingang übergeben, so quittiert die hen. Die eindeutige Zuordnung zu dieser spezi-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 42 HARDWARE ellen Instanz des Plug-ins geschieht dabei über dem von der Hardware gelesene Daten an den Auch ist der umfangreiche Fundus an Sourcen den zweiten Parameter data->m_callbackID Player übergeben werden könnten. Ähnlich die und fertigen Plug-ins durchaus hilfreich – sei es, welcher der Callback-Funktion mitgegeben wird. „set“-Funktionen: Diese würden die Schnittstelle um aus deren Programmierung zu lernen oder von der Software hin zum Gerät darstellen. sei es, um sie als Basis für eigene Plug-ins zu Infolge dieses Funktionsaufrufes wird jetzt die je- verwenden. Die Lizenz der allermeisten Plug-ins weilige „get“-Funktion des Plug-ins vom Debug- Ich habe fertig! lässt es sogar zu, dass diese verändert werden, ger bzw. Player aufgerufen, um die neuen Daten Auch wenn das auf den ersten Blick etwas kom- ohne dass die Sourcen anschließend veröffent- abzuholen: pliziert aussieht, so geht die Implementierung licht werden müssen [7].

OAPC_EXT_API unsigned long oapc_get_digi_value(void* instanceData,y Es bleibt noch zu erwähnen, dass dieser klei- unsigned long output,unsigned char *value) ne Artikel wirklich nur als Einstieg in die Plug-in- { Programmierung gedacht ist. Die Möglichkeiten struct instData *data; innerhalb der OpenAPC-Software sind weit um- fassender. data=(struct instData*)instanceData; if (output==0) *value=data->m_digi; So existieren nicht nur wesentlich mehr Konfigu- else return OAPC_ERROR_NO_SUCH_IO; rationselemente, welche sich per XML erzeugen return OAPC_OK; lassen, auch können visuelle Plug-ins entwickelt } werden, welche dem HMI ganz neue grafische Elemente hinzufügen. Auch zu erwähnen wäre OAPC_EXT_API unsigned long oapc_get_num_value(void* instanceData,unsignedy die mitgelieferte Bibliothek liboapc.so. Diese long output,double *value) bietet viele zum Teil recht einfache Funktionali- { täten, diese aber in einer plattformunabhängigen struct instData *data; Version. So ist es damit beispielsweise nicht not- wendig, Zugriffe auf die serielle Schnittstelle für data=(struct instData*)instanceData; jedes Betriebssystem separat zu implementieren. if (output==1) *value=data->m_num; Hier bietet diese Bibliothek bereits fertige Funk- else return OAPC_ERROR_NO_SUCH_IO; return OAPC_OK; tionalitäten. } Auch bei eher trivial anmutenden Features wie Netzwerkzugriffen, Threading-Funktionalitäten Beide überprüfen, ob der Aufruf für den rich- von eigenen Plug-ins nach einer Weile recht flüs- oder Timern sollten möglichst immer die Funk- tigen Ausgang erfolgt (if (output==...) und sig von der Hand. An gewisse Merkwürdigkeiten tionen der liboapc.so verwendet werden, um geben dann den gespeicherten Zufallswert wie Capability-Flags, zu denen eigentlich gar kei- einen möglichen Portierungsaufwand auf andere data->m_digi bzw. data->m_num zurück. Wäre ne Alternativen existieren, gewöhnt man sich und Plattformen klein zu halten. Denn auch wenn ein echte Hardware im Spiel, wäre das der Ort, an der Rest erscheint einem irgendwann logisch. pthread_create() [8] unter Linux ganz simpel

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 43 HARDWARE

ist – unter Windows existiert es schlichtweg nicht und würde an dieser Stelle schon wieder diverse #ifdef’s erforderlich machen.

LINKS

[1] http://www.freiesmagazin.de/freiesMagazin-2011- 01 [2] http://www.freiesmagazin.de/freiesMagazin-2011- 03 [3] http://www.openapc.com/download.php [4] http://www.openapc.com/download/index.php?c= 1&f=opensdk.zip [5] https://secure.wikimedia.org/wikipedia/de/wiki/ Sudo [6] http://www.motobit.com/util/base64-decoder- encoder.asp [7] http://www.openapc.com/oapc_license.php [8] http://www.manpagez.com/man/3/pthread_ create/

Autoreninformation

Hans Müller ist als Elektroniker beim Thema Automatisierung mehr der Hardwareimplementierung zu- geneigt als dem Softwarepart und hat demzufolge auch schon das ein oder andere Gerät in der privaten „Tape Measure“ © by Randall Munroe (CC-BY-NC-2.5), http://xkcd.com/284 Wohnung verkabelt.

Diesen Artikel kommentieren

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 44 REZENSION

Rezension: Praxiskurs Unix-Shell von Michael Niedermair

as Buch „Praxiskurs Unix-Shell“ hat wird das Kapitel mit den Möglichkeiten der Man- sprechenden Konfigurationsdateien, beispielwei- sich die Aufgabe gestellt, den Anfän- pages und der info-Dokumentation – vor allem, se .profile, eingegangen und die speziellen D ger mit den Standard-Shell-Skripten wie man diesen Information entlockt. Umgebungsvariablen wie PATH, LD_LIBRARY_ unter Linux vertraut zu machen, sodass wie- PATH, MANPATH, PAGER und PS1 etc. für den Das dritte Kapitel (30 Seiten) behandelt das Ar- derkehrende Abläufe automatisiert werden Prompt vorgestellt. beiten mit Dateien. Zuerst wird dabei auf die Da- können und der Leser Shell-Skripte selbst er- tentypen (Datei, Verzeichnis, Link, Pipe . . . ) ein- stellen kann. Im Mittelpunkt stehen dabei die Im sechsten Kapitel (26 Seiten) lernt der Leser, gegangen. Anschließend geht es um die Stan- bash, die Korn-, die Bourne- und die TC-Shell. Textdaten zu verarbeiten und reguläre Ausdrücke darddateien und die Datenströme (stdin, stdout Mit Übungen sollen die einzelnen Gebiete ver- zu verwenden. Kurz wird dabei auf awk und sed und stderr). Danach wird das Dateisystem er- tieft und geübt werden. eingegangen. Am Ende werden noch die Archi- läutert, insbesondere wie man freien und beleg- vierungsprogramme zip und tar besprochen. Was steht drin? ten Platz ermitteln kann und wie Zugriffsrechte verwaltet werden, gefolgt von der Benutzer- und Im siebten Kapitel (9 Seiten) steht das Netzwerk Das Buch ist in 13 Kapitel aufgeteilt und hat mit Gruppenverwaltung. Im Anschluss folgen Datei- im Fokus. Hier werden Telnet, die secure shell Index und Informationen über den Autor 293 Sei- operationen, beispielsweise Verzeichnisse und (SSH), ftp und scp kurz vorgestellt. ten, wobei 10 Seiten auf das Inhaltsverzeichnis Dateien anlegen, löschen und verschieben. Ab- Das achte Kapitel (29 Seiten) behandelt die und das Vorwort entfallen. geschlossen wird das Kapitel mit dem Quoting Grundlagen der Shell-Skripte. Es wird hier mit von Parametern. Im ersten Kapitel (16 Seiten) geht es um die Parametern gearbeitet, gezeigt, wie man eine be- Grundlagen. Hier wird Allgemeines zur Unix- Im vierten Kapitel (31 Seiten) geht es um das stimmte Shell für ein Skript festlegt und einfache Shell, zum Betriebssystem, zu Befehlen und de- Kombinieren und Erweitern von Befehlen, z. B. Kontrollstrukturen, wie Verzweigung und Schlei- ren Kombination geschrieben. Am Ende werden die Umleitung der Ein- und Ausgabe. Im An- fen anwendet. dann die verschiedenen Shell-Familien mit ihrem schluss folgt das Arbeiten mit Pipes, das Defi- Im neunten Kapitel (35 Seiten) werden komple- Hintergrund kurz erläutert. Abgeschlossen wird nieren und Löschen von Variablen und die Defi- xere Shell-Skripte für Fortgeschrittene vorgestellt. das Kapitel mit einer kleinen Übung, bei der der nition von Aliases. Nicht fehlen darf die Verknüp- Es beginnt mit Inline-Dokumenten und zeigt, wie Leser seine Standard-Shell ermitteln kann. fung von einzelnen Befehlen über Pipes oder ent- man z. B. temporäre Dateien wieder aufräumt. sprechende Ein- und Ausgabeumleitungen. Am Im zweiten Kapitel (30 Seiten) unternimmt der Ein kurzer Ausflug zeigt, wie man mit getopts Ende des Kapitels wird mit Prozessen gearbei- Leser die ersten Schritte mit der Shell. Dabei Parameter verwaltet und wie man Funktionen tet, erläutert, wie man diese in den Hintergrund wird auf die Historyfunktion und die Tastenkürzel in einer Shell erstellt und aufruft. Damit Skrip- schiebt, Prioritäten verändert oder Signale an mit Emacs- bzw. vi-Belegung eingegangen. An- te auch automatisch zu bestimmten Zeiten star- diese schickt. schließend wird das Verzeichnissystem mit sei- ten, gibt es eine kleine Einführung in cron-Jobs. nen Pfadangaben und wie man sich darin abso- Im fünften Kapitel (12 Seiten) wird die Arbeits- Für den Systemstart wird System-V Init erläutert. lut bzw. relativ bewegt erläutert. Abgeschlossen umgebung angepasst. Hier wird kurz auf die ent- Zum Ende werden Skripte gezeigt, die eine Log-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 45 REZENSION

Rotation durchführen und Verzeichnisarchive klo- Kritik Autoreninformation nen. Das Buch gibt eine Einführung in die Shell, zum „Virtuosen“, wie auf dem Einband vesprochen, Michael Niedermair ist Lehrer an der Im zehnten Kapitel (13 Seiten) geht es um den fehlt noch sehr viel. Jedoch ist das Buch für einen Münchener IT-Schule und unterrichtet Systemeditor vi. Dabei werden die wichtigsten Anfänger gut geeignet. Der Autor lässt bei eini- hauptsächlich Programmierung, Kommandos kurz erläutert. gen Bereichen Informationen weg, wie z. B. bei Datenbanken und IT-Technik. Er Das elfte Kapitel (17 Seiten) beinhaltet die Lösun- den Dateirechten (SUID, GUID und das Sticky- beschäftigt sich seit Jahren mit gen zu den Übungen. Teilweise wird hier nur die Bit). Unter dem Aspekt der didaktischen Reduk- Unix und unterrichtet Linux für die Lösung gezeigt, manchmal auch eine zusätzliche tion kann man dies aber für ein Anfängerbuch LPI-Zertifizierung. Beschreibung. akzeptieren. Die Übungen sind für den Anfänger gut geeignet und die Lösungen sind da, wo es Im zwölften Kapitel (6 Seiten) geht es dem Autor notwendig ist, ausreichend erklärt. um „Folklore“. Es wird kurz „Unsinn mit der Shell“ Diesen Artikel kommentieren und die RFC 1925 gezeigt. Das Kapitel 12 macht den Anschein, als ob Autor hier noch Seiten füllen wollte oder musste. Dem Kapitel dreizehn (14 Seiten) enthält eine Lis- Anfänger bringen diese Informationen wenig. te (sortiert) aller behandelten Befehle, Variablen und Operatoren mit einer kurzen Beschreibung. Der Index ist bei diversen Einträgen mit zusätz- lichen Stichworten wie Befehl, Schlüssel, Pro- Zum Schluss folgt der Index mit 8 Seiten und ei- gramm, Variable etc. versehen. Für den Anfänger ne Seite mit Informationen über den Autor und wirkt dies eher verwirrend, da dieser meist nicht das Design des Buchs (Umschlag, verwendete zwischen einem Befehl und einem Programm un- Schrift . . . ). terscheiden kann. Wie liest es sich? Abschließend muss man das Buch für den An- Das Buch ist für den Anfänger geschrieben und fänger als gut bezeichnen. Für den schon erfah- beschreibt Schritt für Schritt die einzelnen Be- renen Benutzer ist das Buch weniger geeignet. reiche. Der Text ist verständlich und man kann diesem auch ohne Schwierigkeiten folgen. Dabei Buchinformationen wird je nach Fall zwischen den einzelnen Shells Titel Praxiskurs Unix-Shell (bash, Korn, Bourne und TC) unterschieden. Der Autor Martin Dietze erfahrenere Benutzer wird die eine oder ande- Verlag O’Reilly re Seite überspringen. Zu den Kapiteln gibt es Umfang 293 Seiten jeweils passende Übungen, die den vorher be- ISBN 978-3-8972-1565-8 „2038“ © by Randall Munroe (CC-BY-NC-2.5), schriebenen Inhalt durch praktische Anwendung Preis 19,90 C http://xkcd.com/607 vertiefen.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 46 REZENSION

Rezension: Computergeschichte(n) – nicht nur für Geeks von Jochen Schnelle

as Buch „Computergeschichte(n) – Hochleistungsrechner und verteilte Rechner in Versionen sowie Linux liegt. Den Abschluss der nicht nur für Geeks“ möchte, wie der Form von Grid-Computing. Softwarekapitel bilden die Computerspiele, wo- D Titel schon andeutet, einen Streifzug bei hier diverse Klassiker und wegweisende Spie- durch die Geschichte und Geschichten rund Alles über Software le aus allen Epochen vorgestellt werden. um den Computer anbieten. Und zwar so, Die folgenden Kapitel widmen sich dann kon- dass nicht nur Geeks [1] beim Lesen des sequenterweise der Software in Form von Pro- Die Weiten des Internet Buchs Spaß haben. Nun neigen gerade er- grammiersprachen. Begonnen wird hier mit As- Das folgende Kapitel handelt vom „Netz der Net- fahrenere Computernutzer, so wie der Au- sembler, eben weil die ersten „richtigen“ Com- ze“, dem Internet. Hier wird in der erster Linie tor H. R. Wieland, seines Zeichens Diplom- puter quasi nur in Assembler programmiert wer- die Entstehungsgeschichte des erzählt. Informatiker und Softwareentwickler, manch- den konnten. Darauf folgt eine kurze Einfüh- Wo notwendig und passend wird dabei aber ein mal zur Geekigkeit, sodass Geschichten für rung in das Konzept und den Aufbau der Tu- wenig Technik eingestreut, wie z. B. „Was ist „normale“ Leser schnell langweilig werden. ringmaschine, bevor ein Überblick über die his- IPv4/IPv6?“ oder „Wie funktioniert DNS?“ Der Daher stellt sich die Frage, wie das vorliegen- torische und aktuelle Programmiersprachenland- zweite Teil des Kapitels widmet sich dann den de Buch mit dem Thema umgeht. schaft gegeben wird. Der Programmiersprachen- Browsern, angefangen von den allerersten Brow- teil ist vergleichsweise kurz, worauf in der Ein- sern bis zum Browserkrieg „Netscape gegen Mi- Redaktioneller Hinweis: Wir danken dem Ver- leitung des Buchs aber auch explizit hingewie- crosoft“. lag Galileo Computing für die Bereitstellung ei- sen wird. Das Anliegen des Buchs ist ja die nes Rezensionsexemplares. IT-Geschichten im Allgemeinen, ohne einen be- Der dritte und letzte Teil des Buchs trägt den Ti- tel „die Zukunft“ und handelt von aktuellen The- Von der Antike zur Neuzeit stimmten Fokus zu legen. Außerdem gibt es aus dem gleichen Verlag auch ein Buch, welches sich men. Es gibt zwei vergleichsweise kurze Kapi- Das Buch ist chronologisch aufgebaut und be- explizit mit verschiedenen Programmiersprachen tel zur Virtualisierung und zum Cloud-Computing, ginnt zeitlich viel früher, als man es zunächst beschäftigt („Coding for Fun“, siehe Rezension in gefolgt vom letzten, ausführlichen Kapitel „Denk- erwartet, nämlich in der Antike zur Zeit Alexan- freiesMagazin 04/2009 [2]). maschinen“. Hier wird die noch junge Geschichte ders des Großen (ca. 350 v. Chr.). Hier wurden bereits die ersten Rechenmaschinen, seinerzeit Nach den Programmiersprachen folgt ein Kapi- natürlich voll mechanisch, genutzt. Von dort aus tel zur Anwendungssoftware. Hier findet man ei- Buchinformationen startend geht es dann vom Mittelalter über die ne Mischung aus Geschichten rund um die Soft- Titel Computergeschichte(n) – nicht nur für Neuzeit bis hin zur Gegenwart. Beleuchtet wer- ware an sich sowie Geschichten zu den Höhen Geeks den dabei fortgeschrittene mechanische Rech- (und Tiefen) diverser Softwarefirmen wie Micro- Autor H. R. Wieland ner, die ersten „echten“ Computer wie der Zuse soft, Oracle, Novell und Ashton-Tate. Nahtlos Verlag Galileo Computing und ENIAC, die „Klassiker“ aus den 70ern und daran an schließt sich das Kapitel zu Betriebs- Umfang 605 Seiten 80ern wie der Apple I, der C64 und der Cray 1 systemen, wobei hier der Schwerpunkt auf der ISBN 978-3-8362-1527-5 Preis 29,90 C (der erste „Superrechner“) sowie die aktuellen Geschichte von DOS und den frühen Windows-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 47 REZENSION und Entwicklung der Quantencomputer erzählt. Das Buch ist in der Tat ein Geschichtsbuch, wel- den Kommentarlink am Ende des Artikels oder Den Abschluss bildet die Beschreibung und Mög- ches Computerthemen bis hin zur Gegenwart be- per E-Mail an ein- lichkeiten von zellulären Automaten. handelt. Dabei ist es aber an keiner Stelle tro- gesendet werden. cken, angestaubt oder gar langweilig – ganz im LINKS Fazit Gegenteil. Der Autor pflegt einen flüssigen, le- bendigen und sehr gut zu lesenden Schreibstil. [1] http://de.wikipedia.org/wiki/Geek Wie bereits erwähnt ist das Buch chronologisch Alle Themen werden mit der notwendigen Aus- [2] http://www.freiesmagazin.de/freiesmagazin-2009- aufgebaut, wenn auch nicht völlig strikt. Dies führlichkeit behandelt, jedoch ohne auch nur im 04/ ist aber auch schon allein aufgrund der Tren- Ansatz ausschweifend oder langatmig zu sein. nung von Hardware- und Softwaregeschichte Theorie findet man an keiner Stelle, lediglich die nicht möglich. Dem Autor gelingt es aber durch- Autoreninformation Kapitel zur Turingmaschine und zu zellulären Au- weg, geschickt zwischen den einzelnen Teilen tomaten haben einen leicht mathematischen An- überzuleiten und diese flüssig miteinander zu ver- Jochen Schnelle nutzt Computer satz, was sich aufgrund der Themen aber wohl knüpfen. Wo nötig und angebracht, werden auch seit dem C64 und interessiert sich kaum vermeiden lässt. Insgesamt ist das Buch kurze Biographien zu den für das Kapitel relevan- allgemein für Computergeschichten ziemlich weit davon entfernt, „geekig“ zu sein. An- ten Personen (wie z. B. Pascal, Leibnitz, Zuse, und IT-Themen. dererseits ist das Buch aber so gestaltet, dass so- Jobs, Shuttleworth) eingeflochten. Weiterhin gibt wohl Geeks als auch computer-unerfahrene Le- es für eine ganzen Reihe von alten und älteren ser Gefallen daran findet können. Hat man einen Rechnern und Software Emulatoren, welche auf Teil der Geschichte(n) miterlebt, so wird sicher- Diesen Artikel kommentieren der dem Buch beiliegenden CD enthalten sind. In lich die eine oder andere Erinnerung geweckt. separaten Abschnitten wird dann jeweils knapp die Installation und die Nutzung erklärt, sowie in Zusammenfassend kann gesagt werden: Wer der Regel ein kurzes Anwendungsbeispiel gege- sich für die Geschichte von Computern und Soft- ben. Dies ist jedoch eher als „Bonusmaterial“ zu ware interessiert, der findet in diesem Buch kurz- sehen; für das Verständnis (und den Lesespaß) weiligen Lesespaß. sind diese nicht weiter relevant, sodass diese Ab- schnitte ohne weiteres auch übersprungen wer- Redaktioneller Hinweis: Und weil es ja scha- den können. Aus Sicht des Linux-/MacOS-Nutzer de wäre, wenn das Buch bei Jochen Schnelle im ist hierzu lediglich anzumerken, dass ein Teil der Bücherregal verstaubt, verlosen wir „Computer- Emulatoren lediglich als Windows-Software bei- geschichte(n) – nicht nur für Geeks“ an die erste liegt. Dies ist aber wohl weniger dem Autor an- Person, die uns sagen kann, wie der heutzutage zulasten als vielmehr der Tatsache, dass diese legendäre Supercomputer heißt, welcher im Jahr Software einfach nicht für andere Plattformen vor- 1976 zum ersten Mal gebaut wurde und eine sei- liegt. Wo möglich, setzt der Autor aber durchweg nerzeit unglaubliche Rechenleistung von 133 Me- „Estimation“ © by Randall Munroe auf das plattformübergreifende Java. gaflops hatte. Antworten können wie immer über (CC-BY-NC-2.5), http://xkcd.com/612

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 48 LESERBRIEFE

Leserbriefe

Für Leserbriefe steht unsere E-Mailadresse gewinnen. Wenn er dies nicht erreicht, sucht er mich allerdings zur Konsumgesellschaft zählen zur Verfügung – wir andere Bereiche, an denen er profitieren kann. und somit in Eure Ungnade fallen. Mir persön- freuen uns über Lob, Kritik und Anregungen zum lich bereiten solche Aussagen deshalb Unbeha- [. . . ] Magazin. gen, da man sich so als schmarotzendes Mitglied Eurer Leser-Gesellschaft fühlt. Meiner Meinung An dieser Stelle möchten wir alle Leser ausdrücklich Der Einzelne ist daran interessiert, das Beste für nach nicht der richtige Aufruf zu mehr Mitwirken. ermuntern, uns auch zu schreiben, was nicht so gut sich herauszuholen. Die Gemeinschaft ist an die- gefällt. Wir bekommen sehr viel Lob (was uns natür- ser Stelle uninteressant . . . Also Sie sollten sich Dies soll euch lediglich als kleines Feedback die- lich freut), aber vor allem durch Kritik und neue Ideen an die Situation gewöhnen – aus meiner Sicht nen, um Euch diese Tatsache bewusst zu ma- können wir uns verbessern. wird es in Zukunft noch schlimmer . . . chen. Johannes Stefan Christoph Straub Leserbriefe und Anmerkungen Immerhin haben wir so eine Reaktion aus Ih- Vielen Dank für Ihren Kommentar. In der Tat nen herausgekitzelt. Die meisten der 8000 Leser Editorial „Konsumgesellschaft“ und Gewinn- war dies auch etwas, was uns auf der Zunge lag, sind für uns nur anonyme IP-Adresse in unseren spiel zum Geburtstag denn nicht nur bei freiesMagazin sieht man die- Download-Logs. So bekommt diese Zahl endlich Eigentlich lese ich das Magazin nur gelegent- sen Wandel der Gesellschaft. eine Stimme. lich und habe mir bisher nicht Gedanken ge- macht, dass auch diese Beiträge von Usern für Ganz so düster wie Sie sehe ich die Zukunft aber Von „verkommen“ oder „schmarotzend“ haben User erstellt werden. Sie fragen dabei, weshalb nicht. Zumindest habe ich noch nicht die Hoff- wir aber nirgends etwas geschrieben, dies wäre die Beteiligung und Bereitschaft für etwas (frei- nung aufgegeben, dass wir irgendwann wieder beleidigend gegenüber unseren Lesern. Und wir willig und kostenlos) für die Gemeinschaft nach- zu einem Nash-Gleichgewicht [1] finden. Denn haben die Aussage natürlich auch als These bzw. lässt . . . Ich verstehe nicht, weshalb das eine nur wenn man so handelt, dass es für einen Frage formuliert, nicht als Tatsache. Das schlech- Frage für Sie ist . . . Dieser Trend ist auch in an- selbst und für die Gruppe das Beste ist, kann te Gewissen wollten wir aber natürlich etwas we- deren gesellschaftlichen Bereichen zu erkennen. man seinen Gewinn maximieren. Das haben nur cken – wenn auch nicht zu sehr. Da Sie z. B. aktiv Als Vereinsmitglied in einem Handballverein ist noch nicht alle erkannt. Dominik Wagenführ Werbung für freiesMagazin in Ihrem Bekannten- dieser Trend bereits seit etwa zehn Jahren zu kreis machen, sollten Sie aber gar kein schlech- Ich bin Angehöriger der „verkommenen Kon- erkennen. Die Konsumgesellschaft ist auch hier tes Gewissen haben. sumgesellschaft“. angekommen. Alles mitnehmen, was möglich ist, Sie haben aber natürlich recht, dass wir solche aber selbst bei einem Jugendturnier mitzuhelfen, Als Fan Eures Magazins freue ich mich jeden Helfer gar nicht sehen, wenn diese sich nicht wie ist nicht mehr möglich. Deswegen kann sich die- Monat aufs neue, wenn mein RSS-Reader aus- Sie bei uns melden. Daher Danke für Ihre E-Mail. se Entwicklung in die ganzen anderen Lebens- schlägt. Ich empfehle Euch bei jeder Gelegen- Dominik Wagenführ bereiche einfügen. Es ist so – der Einzelne ist heit weiter und wenn sich mir die Zeit bieten wür- nicht bereit, für die Gemeinschaft etwas zu op- de, würde ich auch sehr gerne etwas beitragen. Eigentlich hätte ich ja gerne teilgenommen, fern, sondern möchte dabei etwas an der Sache Da dies bisher noch nicht der Fall war, muss ich aber mir fehlte irgendwie die zündende Idee. Und

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 49 LESERBRIEFE da habe ich dann gedacht, was soll’s, du wür- und in den restlichen 4h (die der Tag vielleicht typ, der selbst bei großen Projekten kaum Beach- dest bei deinem künstlerischem Talent sowieso noch über hat) in Futtersuche, Familie oder Be- tung in der Community findet? Ich meine, Ihr seid keinen Blumentopf gewinnen. So kann man sich ziehung, Haushalt, soziale Verpflichtungen und nicht ganz „im Bilde“, liebe Redaktion. täuschen! Hobby stecken muss/will. Dies ist keine Herabwürdigung Eurer Arbeit. Ich Meine Erklärung, wieso keiner teilnimmt, ist fol- Früher(TM) hat sich um die häuslichen An- finde es toll, wie Ihr regelmäßig ein ansehliches gende: Die Preise dürften viele nicht vom Hocker gelegenheiten i. d. R. die Lebenspartnerin / der PDF zustande bringt. Zwar inhaltlich für mich sel- hauen. Das ist natürlich klar, was sind schon Lebenspartner gekümmert, der Abend und das ten wirklich interessant, doch erfreut mich, dass 30 C im Verhältnis zum Aufwand für so ein Bild? Wochenende gehörte der Familie oder dem Hob- es eben noch Menschen gibt, die zwischen all Wobei es bei dem Wettbewerb ja auch nicht um by. Heute ist es kaum noch möglich, mit nur ei- dem Alltagsstress noch Zeit für ein gemeinnützi- die Preise gehen sollte, sondern um den Spaß nem Gehalt eine Familie zu ernähren. Wer kann, ges Hobby, wie ein solches Magazin, aufbringen und den freien Gedanken, denke ich. Viele sehen geht arbeiten und versucht danach noch erst mal können. Bernd Kosmahl das wahrscheinlich aber nicht mehr so. Schade. so viel wie möglich von seinem eigenen Kram auf Ich auf jeden Fall habe mir fest vorgenommen, die Reihe zu bringen. Ihre Anmerkungen sind natürlich korrekt, so- beim nächsten Wettbewerb dabei zu sein. Viel- dass die meisten Leute mit Arbeit und Familie leicht wird’s wieder nichts, aber das war für mich Die Folge ist schlicht und ergreifend weniger freie sehr ausgelastet sind und kaum Zeit für Hobbys jetzt ein Anstoß. Henrik7 (Kommentar) Zeit, die überhaupt zur Verfügung steht. Dem wie z. B. Artikel für freiesMagazin bleibt. Aber: entgegen stehen sowohl in der Open-Source- Uns geht das im Team nicht anders. Die meis- Die Preise sind und waren in der Tat nur als Community als auch im echten Leben immer ten Mitglieder sind berufstätig und haben eine Anreiz zu sehen, damit man sich vielleicht etwas mehr unterstützungswürdige Projekte, zwischen Familie, um die sie sich kümmern müssen. In motiviert fühlt, teilzunehmen. Hätten wir gar kei- denen man sich schlichtweg entscheiden muss. der Regel kann aber jeder ein oder zwei Stun- ne vergeben, gäbe es vielleicht gar keine Ein- Getreu dem Motto „Wer vieles gleichzeitig macht, den pro Woche aufbringen, mehr Zeit kostet es sendung (wobei ich das dem Gewinner natürlich macht nichts wirklich richtig“ kann man nunmal nicht (wenn die Arbeit gut verteilt ist). Einzig in nicht unterstellen will). Auf alle Fälle sollte nie- nicht alles aktiv unterstützen. der Redaktion fällt etwas mehr Arbeit an. mand wegen der Preise teilnehmen, das wäre definitiv der falsche Ansatz. Oder spendet Ihr bei jedem Erdbeben, Deich- Ich denke daher, dass, wenn das Interesse da Dominik Wagenführ bruch, Vulkanausbruch, Großbrand, Weisenkind, ist, sich auch die Zeit findet, an einem freien , gestrandetem Projekt mitzuwirken. Bei freiesMagazin zum Bei- Ihr habt danach gefragt, „ob die Linux- und Wal? Nein? Beim DRK lasst Ihr Euch auch nicht spiel durch Artikel schreiben. Innerhalb von 4 bis Open-Source-Community zu einer reinen Kon- blicken und Diakonie kennt Ihr nur aus dem 8 Stunden schafft man locker einen Artikel pro sumgesellschaft verkommt.“ Wörterbuch? Freiwillige Jugendarbeit? Straßen- Monat zu schreiben – darüber hinaus hetzt aber Nö. arbeit? Nada? Und kein schlechtes Gewissen da- auch niemand bei uns. Manche Artikel benötigen bei? über sechs Monate, ehe sie fertig sind. Es ist nur so, dass der durchschnittliche Bürger 9h am Werktag arbeitet, sich mindestens 1h auf Und nun jammert Ihr, weil sich keiner auf einen Beim Wettbewerb war vor allem enttäuschend, oder zur Arbeit weg bewegt, 8h Schlaf benötigt Bildwettbewerb gemeldet hat? Ein Wettbewerbs- dass es jeden Teilnehmer mit etwas Grafikkennt-

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 50 LESERBRIEFE nissen einmalig vielleicht eine Stunde gekostet zum Mathematisch-Technischen Software- Wenn Sie einen Verbesserungsvorschlag oder hätte, ein Bild zu zeichnen. Entwickler). Während des Studiums musste ich eine Fehlerbehebung haben (am besten in Co- schon so manches Programm ergänzen und deform), schreiben Sie den Betreuer des Codes Die Kommentare auf der Webseite und oben zei- mich dann auch immer wieder in den ganzen (meist findet sich irgendwo eine Kontaktadresse) gen aber auch, dass viele nicht teilgenommen Code einarbeiten, daher hab ich großen Respekt an und bieten Sie Ihren Code an (in der Regel haben, weil sie dachten, sie hätten keine Chan- vor den Open-Source-Projekten, die doch um ei- wird das als Patch abgeliefert). Das ist der erste ce bei der Masse an Teilnehmern. Auf alle Fälle niges größer sind. Gerne würde ich bei solchen Einstieg. zeigt uns das, dass die Bereitschaft und die Zeit Projekten mit aktiv sein und meinen kleinen Bei- da war, aber aus anderen Gründen nicht teilge- trag leisten, jedoch hielt mich die Ungewissheit Sie können auch einfach bei irgendeinem Projekt nommen wurde. Dominik Wagenführ darüber, wie eine solche Community arbeitet und anfragen, was zu tun ist. Je größer das Projekt agiert, noch zurück. Vielleicht könnt Ihr mir so ei- aber ist, desto komplizierter sind die Regeln und Ich bin ein begeisterter Leser Ihres Magazins, ne Community ein bisschen näher bringen, dann Prozesse, sodass es anfangs ggf. etwas frustie- vor allem da ich vor kurzem auf openSUSE um- hätte ich auch ein Thema über das ich berichten rend sein kann, dort hineinzufinden. gestiegen bin. Und durch Ihr Magazin lerne ich kann. :) Dominik Wagenführ mein System immer besser kennen. :)

An dem Grafikwettbewerb hatte ich auch überlegt Im Allgemeinen schätze ich, dass die Leute glau- Ich habe keine Theorie, warum die Teilnah- mitzumachen, jedoch war ich in der Annahme, ben (wie ich beim Wettbewerb), dass sie nicht in me an den Gewinnspielen und Wettbewerben so dass sehr viele an dem Wettbewerb teilnehmen der Lage sind, so etwas zusammenzustellen wie niedrig ist, aber ich möchte doch mal anregen, und dadurch meine geringen Kenntnisse im Gra- ein Artikel oder ähnliches. ([Das] ist jetzt keine Flattr einzuführen – ich denke, das hat mehr Ak- fikdesign kaum eine Chance hätten. Nun bin ich Kritik, soll nur eine Erklärung sein.) zeptanz. :-) eines besseren belehrt worden. Julian Cloos P.S.: Man sieht auch immer wieder, wie die Leu- Dass Ihnen nun die Frage aufkommt, ob die Wie auch in den Kommentaren auf unserer te so viel konsumieren, dass sie gar nicht mehr Linux- und Open-Source-Community zu einer rei- Webseite zu lesen ist, dachten viele Leser wie dazu kommen, sich selbst irgendwo einzubrin- nen Konsumgesellschaft geworden ist, nachdem Sie, dass man eh keine Chance hat zu gewin- gen, wenn der RSS-Feedreader aus den Nähten die Teilnahme so schlecht ausgefallen ist, kann nen. Zu dem Thema haben wir auch im aktuellen bricht. ;-) Jan-Florian Hilgenberg ich gut verstehen, da die einzelnen Wettbewerbe Editorial auf Seite 2 etwas geschrieben. einiges an Vorbereitung gekostet haben und man Zu Flattr hatten wir im Editorial der anderen mit der Lösung dieser Aufgaben Freude Zu Ihrer Frage der Teilnahme an Open-Source- freiesMagazin-Ausgabe 07/2010 bereits etwas bereiten wollte. Projekten: Dies hängt sehr vom gewählten Pro- geschrieben [5]. Und zu dieser Meinung ste- jekt ab. Ich selbst habe z.B. bei Projekten wie hen wir immer noch. freiesMagazin ist ein nicht- Ich versuche, diese Frage mal aus meiner Geany [2], LostIRC [3] oder Lapack++ [4] mit- kommerzielles Projekt und dazu zählt auch Flattr. Sicht zu beantworten. Zurzeit bin ich im gemacht und Code beigesteuert. Dies sind alles Zusätzlich ist dem Magazin durch Geld nicht ge- zweiten Semester im Bachelor-Studiengang sehr kleine Projekte mit wenigen, wenn nicht gar holfen, denn dadurch entstehen leider keine neu- „Scientific Programming“ (dualer Studiengang nur einem Entwickler. en Inhalte. Dominik Wagenführ

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 51 LESERBRIEFE

Mobilausgabe sche Breitenanpassung funktioniert ganz hervor- Niemand weiß, wann die Serie fertig ist, da- Ich finde das freieMagazin sehr schön wür- ragend auf der Startseite. Aber nicht bei den Ma- her würde es so eine Sonderausgabe wohl nie de mich aber sehr über eine Konvertierung das gazinen selbst. Nun, vielleicht ist es ja ein Bug im geben. Andererseits wollen wir die einzelnen Ar- EPUB-Format freuen. :D Anonym Dolfin-Browser . . . Susan tikel der Serie auch nicht zurückhalten, bis so ei- ne Sonderausgabe komplett ist. Es ist dem Autor Zu dem Thema gab es im Januar 2011 eine Also ich habe im Netz gesucht und eini- nicht zuzumuten, erst einmal 50 Seiten Text zu Umfrage [6]. Es hat sich gezeigt, dass nur weni- ge Bada-Nutzer gefunden, die sich auch über schreiben, ohne auch nur ansatzweise eine Re- ge Leser wirklich eine extra EPUB-Version benö- die fehlenden Zeilenumbrüche beschweren. Es aktion zu sehen. tigen. scheint also am OS zu liegen. Die „Lösungsemp- Daneben scheint es nicht so einfach zu sein, fehlung“ war meistens Opera Mini. Ich habe auch Die Teile 1 bis 6 der Python-Reihe gaben ein für so eine EPUB-Version zu erzeugen. Wir haben gelesen, dass es in den neueren Bada-Versionen sich abgeschlossenes Werk, sodass man diese keine Software gefunden, die das PDF (wegen besser sein soll. gut zusammenfassen konnte. Sobald die Teile 7 des dreispaltigen Layouts) oder die HTML-Seiten Vielleicht hat aber auch einer unserer Leser das bis X irgendwann fertig sind, werden diese si- in irgendetwas annehmbares konvertieren konn- gleiche (oder ein ähnliches) Gerät und das Pro- cherlich auch wieder zusammengefasst und es te. Wenn wir so eine Version offiziell herausge- blem mit den Zeilenumbrüchen bereits gelöst. gibt eine zweite Python-Sonderausgabe. ben, soll sie natürlich auch einigermaßen unse- Wer eine Antwort weiß, möge uns doch bitte un- Dominik Wagenführ ren Qualitätsstandards entsprechen. ter schreiben. Wir Es wird zwar sehr gut und passend auf leiten dies dann an Susan weiter. Wenn nicht zufällig jemand aus unserem Le- den Unterschied von [Python-]Version 2.7 und 3 Dominik Wagenführ serkreis Erfahrung auf dem Gebiet der EPUB- Rücksicht genommen, aber spätestens beim Ein- Erzeugung hat, müssen Sie noch etwas warten, Python-Sonderausgabe binden des Moduls mutagen kann man mit Ver- bis wir ein ordentliches EPUB aus freiesMagazin Ich fand die Idee, die Python-Artikel in eine sion 3 aufhören. Das gibts nämlich nicht für Ver- erzeugen können. Dominik Wagenführ Serie zu bringen, gut, so lässt sich besser darauf sion 3. Damit musste ich dann sowieso auf 2.7 Ich finde es toll, dass es eine mobile Ausgabe verweisen, wenn ein Neuling nach einem guten umsteigen. freeclimb (Kommentar) von freiesMagazin gibt (ich finde freiesMagazin Tutorial fragt. Aber sollte man eine solche Son- sowieso toll :))! Nur leider sind die Artikel so derausgabe nicht erst dann bringen, wenn die Danke für die Rückmeldung. Mutagen ist – wie breit, dass man selbst auf einem quer gehalte- Serie beendet ist? Oder kommt Teil 7 (und die einige andere populäre Bibliotheken auch – tat- nen Smartphone die Seite für jede Zeile sehr nachfolgenden Teile, falls es noch welche geben sächlich (noch) nicht für Python 3 verfügbar. Ich stark hin- und herschieben muss, da die Seiten sollte) nachträglich in die Sonderausgabe, oder muss ehrlich sagen, dass mir das beim Schrei- offenbar gut doppelt so breit angelegt sind, wie wie darf man sich das vorstellen? ben des entsprechenden Artikels nicht aufgefal- ein Smartphone quer an Breite zur Verfügung hat. len ist, da ich noch überwiegend mit Python 2.x Ansonsten wäre es doch irgendwie schade, Das trübt leider den Lesespaß ziemlich. entwickle. wenn man zwar eine separate Python-Tutorial- Ich habe ein Samsung Wave 533 (Bada OS, Dol- Ausgabe hat, und dort nicht alle Teile vorhanden Für die Nutzer von Python 3.x ist die Situation tat- fin Browser auf Webkit-Basis). [. . . ] Die automati- sind. Keba (Kommentar) sächlich unbefriedigend. Natürlich möchte man

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 52 LESERBRIEFE mit der neusten Version seiner (Lieblings-) Pro- [3] http://lostirc.sourceforge.net/ def fib( n: Int ) = fib_rek( n, grammiersprache arbeiten. Im Fall von Python 3 y [4] http://lapackpp.sourceforge.net/ 1, 0 ) ist das leider zurzeit nur mit einigen Einschrän- [5] http://www.freiesmagazin.de/freiesMagazin-2010- def fib_rek( n: Int, b: Int, a: kungen möglich. Nicht ohne Grund liefern viele y 07 Int): Int = { große Distributionen noch Python 2.x als Stan- [6] http://www.freiesmagazin.de/20110110-umfrage- if ( n < 1 ) a dard aus. Und selbst bei denjenigen Distris, die mobilversion-freiesmagazin Python 3 als Standard ausliefern (wie Arch) ist else fib_rek( n-1, a+b, b) Python 2.x zurzeit noch in vielen Fällen nötig } (oder gar unverzichtbar?). Die Leserbriefe kommentieren Gero Schaffran (Kommentar) Was bedeutet das für die Reihe? Zum einen wer- Es ging bei der Implementation nicht um Effizi- de ich nach Möglichkeit weiterhin auf Unterschie- enz, sondern einfach nur darum, dass ein prakti- de zwischen Python 2.x und 3.x hinweisen, auch sches Beispiel existiert, wie man einen vorhande- wenn es jetzt zugegebenermaßen einen Teil gab, nen Algorithmus parallel abarbeiten lassen kann. der unter Python 3.x nur mit Einschränkung (die Natürlich gibt es effizientere Algorithmen, aber Ersetzung von Mutagen) lauffähig ist. Ich denke, darum ging es in diesem konkreten Fall nicht. dass man – möchte man sich zurzeit mit Python Stefan Bradl beschäftigen – diesen Spagat machen muss. So- wohl unter Linux als auch unter Windows ist es ja In den Algorithmus für die Fibonacci-Reihe auch eigentlich unproblematisch, beide Python- hat sich ein kleiner Fehler eingeschlichen. Rich- Varianten nebeneinander zu betreiben. tig wäre

Falls ich aber noch mal auf eine Bibliothek zu- def fib(n: Int): Int = { rückgreifen müsste, die nur für Python 2.x ver- if (n == 0) 0 fügbar ist, würde ich natürlich darauf hinweisen – else if (n == 1) 1 schon allein, um den Lesern den Ärger zu erspa- else fib(n - 1) + fib(n - y ren, dass die Codebeispiele nicht lauffähig sind. 2) Daniel Nögel } „Pep Talk“ © by Randall Munroe Fibonacci-Funktion in Scala damit auch die richtigen Werte rauskommen. ;) (CC-BY-NC-2.5), http://xkcd.com/544 Die Fibonacci-Funktion wird bitte nicht so wie Jan (Kommentar) im Artikel implementiert. Diese naive Version ist LINKS einer der Gründe, warum viele irrtümlich glauben, Die Redaktion behält sich vor, Leserbriefe gegebe- Rekursion ist langsam und somit schlecht. [1] https://secure.wikimedia.org/wikipedia/de/wiki/ nenfalls zu kürzen. Redaktionelle Ergänzungen fin- Nash-Gleichgewicht den sich in eckigen Klammern. Bitte so: [2] http://www.geany.org/

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 53 MAGAZIN

Veranstaltungskalender Messen Veranstaltung Ort Datum Eintritt Link GPN11 Karlsruhe 23.-26.06.2011 – https://entropia.de/GPN11 Chaos Singularity Biel 24.-26.06.2011 10 CHF http://www.cosin.ch/ Linuxbierwanderung Lanersbach 30.07.-06.08.2011 – http://lbw2011.wordpress.com/ Desktop Summit 2011 Berlin 06.-12.08.2011 – https://www.desktopsummit.org/ FrOSCon Sankt Augustin 20.-21.08.2011 5 EUR http://www.froscon.de/ Ubucon 2011 Leipzig 14.-16.10.2011 – https://www.ubucon.de/ (Alle Angaben ohne Gewähr!) Sie kennen eine Linux-Messe, welche noch nicht auf der Liste zu finden ist? Dann schreiben Sie eine E-Mail mit den Informationen zu Datum und Ort an .

Vorschau freiesMagazin erscheint immer am ersten Sonntag eines Monats. Die Juli-Ausgabe wird voraussichtlich am 3. Juli unter anderem mit folgenden Themen veröffentlicht:

 Trine – Aller guten Dinge sind drei

 Rezension: Vi and Vim Editors Es kann leider vorkommen, dass wir aus internen Gründen angekündigte Artikel verschieben müssen. Wir bitten dafür um Verständnis.

Konventionen An einigen Stellen benutzen wir Sonderzeichen mit einer bestimmten Bedeutung. Diese sind hier zusammengefasst: $: Shell-Prompt #: Prompt einer Root-Shell – Ubuntu-Nutzer können hier auch einfach in einer normalen Shell ein sudo vor die Befehle setzen. y: Kennzeichnet einen aus satztechnischen Gründen eingefügten Zeilenumbruch, der nicht eingegeben werden soll. ~: Abkürzung für das eigene Benutzerverzeichnis /home/BENUTZERNAME : Kennzeichnet einen Link, der auf eine englischsprachige Seite führt. : Öffnet eine höher aufgelöste Version der Abbildung in einem Browserfenster.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 54 MAGAZIN

Impressum ISSN 1867-7991 freiesMagazin erscheint als PDF und HTML einmal monatlich. Erscheinungsdatum: 5. Juni 2011

Kontakt Redaktion E-Mail Frank Brungräber Thorsten Schmidt Postanschrift freiesMagazin Dominik Wagenführ (Verantwortlicher Redakteur) c/o Dominik Wagenführ Beethovenstr. 9/1 Satz und Layout 71277 Rutesheim Ralf Damaschke Nico Maikowski Webpräsenz http://www.freiesmagazin.de/ Matthias Sitte

Autoren dieser Ausgabe Korrektur Hans-Joachim Baader S. 4 Daniel Braun Stefan Fangmeier Mirko Lindner S. 15 Mathias Menzer Karsten Schuldt Hans Müller S. 34 Stephan Walter Mathias Menzer S. 21 Michael Niedermair S. 45 Veranstaltungen Jochen Schnelle S. 47 Ronny Fischer Michael Schwarz S. 24 Sujeevan Vijayakumaran S. 30 Logo-Design Arne Weinberg (GNU FDL)

Dieses Magazin wurde mit LATEX erstellt. Mit vollem Namen gekennzeichnete Beiträge geben nicht notwendigerweise die Meinung der Redaktion wieder. Wenn Sie freiesMagazin ausdrucken möchten, dann denken Sie bitte an die Umwelt und drucken Sie nur im Notfall. Die Bäume werden es Ihnen danken. ;-)

Soweit nicht anders angegeben, stehen alle Artikel, Beiträge und Bilder in freiesMagazin unter der Creative-Commons-Lizenz CC-BY-SA 3.0 Unported. Das Copyright liegt beim jeweiligen Autor. freiesMagazin unterliegt als Gesamtwerk ebenso der Creative-Commons-Lizenz CC-BY-SA 3.0 Unported mit Ausnahme der Inhalte, die unter einer anderen Lizenz hierin veröffentlicht werden. Das Copyright liegt bei Dominik Wagenführ. Es wird erlaubt, das Werk/die Werke unter den Bestimmungen der Creative-Commons-Lizenz zu kopieren, zu verteilen und/oder zu modifizieren. Das freiesMagazin-Logo wurde von Arne Weinberg erstellt und unterliegt der GFDL. Die xkcd-Comics stehen separat unter der Creative-Commons-Lizenz CC-BY-NC 2.5 Generic. Das Copyright liegt bei Randall Munroe.

© freiesMagazin CC-BY-SA 3.0 Ausgabe 06/2011 55