Bekannte IT-Größen, allen voran Nokia, Red Hat, Novell oder Sun, setzen entweder Teile der modularen Architektur von Gnome [1] in ihren Produkten ein oder integrieren die Oberfläche vollständig in ihre Produkte. Als Anwender haben Sie beispielsweise den Vorteil, dass die Programme auf mobilen Geräten, wie dem Nokia N800, und auf dem Arbeitsrechner reibungslos miteinander kommunizieren.
Diverse Freedesktop-Standards [2] gewährleisten die Interoperabilität selbst mit Software, die nicht aus der Gtk+- oder Gnome-Welt stammt. D-Bus[3] und HAL[4] zählen zu den Beispielen für die mittlerweile gute Zusammenarbeit zwischen Gnome, KDE und XFCE. Auf der anderen Seite erstaunt, dass trotz der teilweise sechs Jahre alten Komponenten innerhalb des Gnome-Stacks die Entwickler immer neue Möglichkeiten finden, den Desktop mit neuen Features auszustatten.
Noch einem Monat vor dem Release stritt Mitte Februar eine Gruppe von Entwicklern darüber, ob die neue GVFS-Bibliothek für virtuelle, netzwerktransparente Dateisysteme rechtzeitig fertig würde. Auf der Mailingliste [5] schlugen einige Diskussionsteilnehmer vor, GVFS nicht zu integrieren und stattdessen das alte Gnome-VFS weiter zu verwenden. Dieser Vorschlag stieß allerdings auf den erbitterten Widerstand von Alexander Larsson, der mehr als eineinhalb Jahren an der Bibliothek gearbeitete hatte.
Als mögliche Alternative kam daher auch eine Verschiebung von Gnome 2.22 ins Gespräch. Dies wiederum quittierte der Ubuntu-Hersteller Canonical mit der Anmerkung, dann müsse man wohl in Betracht ziehen, in Ubuntu 8.04 – dem anstehenden LTS-Release mit 3 Jahren Desktop-Support – statt Gnome 2.22 noch einmal die ältere Gnome-Version vom Herbst 2007 auszuliefern.
Die Wogen glätteten sich allerdings sehr schnell wieder, da glücklicherweise Benjamin Otte, ein Entwickler hinter der freien Flash-Implementation Swfdec, für das fehlende GVFS-FTP-Backend in die Bresche sprang. Letzteres wurde nach einem zweiwöchigen Coding-Marathon [6] noch rechtzeitig zur Release fertig. Trotzdem fehlen in der aktuellen Version noch das Themen- und das Schriften-Backend. Die FTP- und HTTP(S)/WebDAV-Implementationen eignen sich zwar bereits für den Alltagsbetrieb – völlig ausgereift sind allerdings beide noch nicht.
GVFS besteht im wesentlichen aus zwei Komponenten: Zum einen stellt GIO als Bestandteil der Glib eine API für GFVS bereit. Zum anderen arbeitet GVFS mit den konkreten Protokollen, wie (S)FTP, ObexFTP, HTTP(S)/WebDAV (Abbildung 1), SMB und SSH. Statt wie früher reine Posix-I/O-Aufrufe zu bedienen – was bei Gnome-VFS viele Probleme verursachte – präsentiert sich GVFS als sehr moderne Schnittstelle.
GVFS bringt nicht nur Methoden zum Lesen und Schreiben mit, sondern auch solche zum Überwachen und zur asynchronen Ein-/Ausgabe. Zwar gab es schon seit längerem einen Hintergrunddienst, der eingehängte externe Speicher überwachte. In der neuen Version kümmert sich nun aber ein eigener Dienst um jeden Speicherort, sodass Abstürze einer Ressource nicht mehr andere Dienste mit in den Abgrund reißen – das Gesamtsystem bleibt davon unberührt.
In der Vergangenheit verursachten vor allem solche Anwendungen Probleme beim Zugriff auf entfernte Rechner, die auf anderen Toolkits als Gtk+ basieren. Der Einsatz von Fuse löst diese Probleme weitgehend: So verbinden Sie sich mit einem beliebigen Mediaplayer, der keinerlei Netzwerkfähigkeit besitzt, via SMB oder SSH auf einen anderen Computer und hören so Ihre Lieblingslieder. Neben den bekannten Protokolle implementierten die Entwickler zwei neue Pseudo-Protokolle: Über cdda:// greifen Sie auf die Audio-Titel einer CD in Form der WAV-Dateien zu. Dank gphoto2:// lesen Sie eine angeschlossene Digitalkamera aus.
Bereits zum Redaktionsschluss haben die Entwickler mehr als zwei Drittel der Gnome-Anwendungen auf GIO/GVFS portiert; für weitere zehn Programme stehen Patches bereit. Bei dem im Herbst angekündigten Gnome 2.24 möchten die Entwickler komplett umgestellt haben, was angesichts der intuitiven API realistisch erscheint.
Allen voran profitiert der Dateimanager Nautilus von der neuen Abstraktionsschicht und bringt eine Reihe neuer Features mit. Beim Kopieren mehrerer Dateien kombiniert Nautilus diese in einem Dialog. Informationen zu Übertragungsrate, Übertragungsvolumen und noch verbleibender Kopierzeit finden sich dort ebenso wie die Möglichkeit, Kopiervorgänge abzubrechen (Abbildung 2).
Eine Neuerung, die dem Anwender erst auf den zweiten Blick auffällt, versteckt sich im Reiter Datenträger des Einstellungsdialogs (Abbildung 3) von Nautilus: Der Dateimanager bietet für externe Medien, wie CDs oder DVDs, eine Auswahl von Programmen an, aus denen Sie eine Aktion konfigurieren. So startet der Dateimanager beispielsweise beim Anschließen eines iPods den Musik-Player Rhythmbox. Nautilus kümmert sich jetzt selbst um das Einhängen der Geräte; die Frage, welche Rolle der Gnome-Volume-Manager in Zukunft spielt, bleibt daher offen.
Der Dateimanager unterstützt aktuell auch die Trashcan-Spezifikation [7] von Freedesktop.org – mit dem Vorteil, dass sowohl Gnome als auch KDE die gelöschten Dateien finden. Neben obligatorischen Fehlerbereinigungen verbesserten die Entwickler auch den Support für die Nautilus-Erweiterungen.
TIPP
Falls Sie Interesse haben, Gnome 2.22 intensiver zu testen, können Sie sich den neuen Desktop anhand des auf der Heft-DVD befindlichen Foresight Linux 2.0 genauer ansehen. Im Lauf des Aprils erscheinen außerdem Mandriva 2008.1, Ubuntu 8.04 und Fedora 9 mit Gnome 2.22 ansehen. Auch das für Juni geplante OpenSuse 11.0 bringt den neuen Gnome-Desktop mit. Auf der Gnome-Torrent-Seite [9] kündigten die Entwickler zu Redaktionsschluss eine Gnome-Live-CD an, die bei Erscheinen dieser Ausgabe verfügbar sein sollte.
Mit Cheese hat ein neues Tool Einzug in den Desktop gehalten. Der Name trifft es recht gut: Es hilft, Fotos und Videos mit Hilfe einer Webcam aufzunehmen. Auf Wunsch entfremdet es diese im Anschluss mit allerhand lustigen Effekte. Cheese entstand im Rahmen des "Google Summer of Code 2007". Derzeit sammeln die Entwickler Ideen für die nächste Version. Falls Ihnen Cheese gefällt und Ihnen noch das eine oder andere Feature fehlt, schadet ein Besuch der Wiki-Seite [8] sicherlich nicht.
Wer mit dem Laptop um die Welt reist, den störte bislang eventuell, dass es keine einfache Möglichkeit gibt, die Uhrzeit schnell anzupassen. Mit dem neu entwickelten Datum-Applet fügen Sie im Handumdrehen Uhrzeiten aus verschiedenen Zeitzonen hinzu. Das von Novell und Red Hat entwickelte Progrämmchen zeigt zudem auf einer Weltkarte die gewählten Städte und die dortigen Wetterverhältnisse an (Abbildung 4).
Im Panel selbst gibt es mit dieser Release nur kleine Veränderungen: Die Entwickler schafften hier die Abkehr vom Bonobo-basierten Ansatz hin zu D-Bus noch nicht. Immerhin machen kleine Animationen beim Starten von Anwendungen, die sich direkt im Panel befinden, einiges her. Außerdem schiebt sich beim Starten des Desktops das Panel langsam auf die Arbeitsfläche.
Zwar hat der Fenstermanager Metacity bereits seit der Version 2.14 einen eigenen Compositing-Manager, jedoch führten die Entwickler erst jetzt die neuen Effekte ein. Da es immer wieder zu Problemen mit einigen Grafikkarten und Treibern kommt, ist das Feature derzeit standardmäßig nicht aktiviert. Mit dem Befehl
gconftool-2 -s --type bool /apps/metacity/general/compositing_manager true
holen Sie das nach. So kommen Sie in den Genuss der beliebten Transparenz- und Schlagschatteneffekte sowie einer Echtzeitvorschau beim Durchschalten durch die Programme mittels [Alt]+[Tab].
Dem Mediaplayer Totem spendierten die Entwickler eine ganze Reihe neuer Funktionen. Die neue Version verbessert die DVD-Unterstützung und ermöglicht den Empfang des digitalen Fernsehens via Satellit (DVB). Mit an Bord sind außerdem ein Youtube-Plugin (Abbildung 5), mit dem Sie Videos direkt im Player ansehen, ein MythTV-Plugin zum Steuern des gleichnamigen Media-Centers und eine Tracker-basierte Suche, die nach lokalen Videos stöbert.
Bei der Groupware Evolution konzentrierten sich die Entwickler vor allem auf das Reduzieren des Speicherverbrauchs. Im Vergleich zu früheren Versionen benötigt das neue Release wesentlich weniger kostbaren Arbeitsspeicher. Außerdem verbessert es die Filtermechanismen für Spam, die nun schneller arbeiten und präzisere Ergebnisse liefern.
Für viel Unmut sorgten in der Vergangenheit die teilweise wenig aussagekräftigen Fehlerdialoge: Ab sofort zeigt Evolution Fehler in der Statuszeile an, was dem Wildwuchs an Dialogen Einhalt gebietet. Der Support für Google Calendar (Abbildung 6) und eigene Label für E-Mail-Nachrichten kommen als eine nette Zugabe obendrein. Professionelle Benutzer profitieren von der besseren Exchange-Anbindung, die die Entwickler in den nächsten Monaten weiter ausbauen wollen.
Neben Cheese hat ein weiteres neues Programm in den Desktop Einzug gehalten: Vinagre verbindet Sie mit entfernten Desktops. Das auf dem VNC-Protokoll aufbauende Programm spürt zudem Rechner im lokalen Netzwerk selbstständig auf – Avahi sei Dank. Das Speichern von Sitzungen – bekannt von den Lesezeichen in Webbrowsern – funktioniert ebenso problemlos wie das Erstellen von Bildschirmfotos oder das Verbinden zu mehreren Rechnern. Passwörter brauchen Sie dabei nicht jedes Mal neu einzugeben – Vinagre speichert sie im Gnome-Schlüsselbund.
Detailverbesserungen und Neuerungen
Mit Gnome 2.22 bereinigen die Entwickler nicht nur etliche Fehler, sondern führen auch in zahlreichen Anwendungen neue, nützliche Features ein:
Die bereits in Gnome 2.20 begonnene Vereinfachung des Kontrollzentrums führten die Entwickler in der aktuellen Version fort. Mit der vor einem halben Jahr gestarteten Aufräumaktion möchten die Entwickler das teilweise recht unübersichtliche Kontrollzentrum für den Benutzer überschaubarer und logischer aufbauen. So finden sich Tastaturbelegungen und Einstellungen zur Barrierefreiheit nun in einem Dialog (Abbildung 7). Einen Kritikpunkt gibt es jedoch: Weiterhin verbleiben die Tastenkombinationen in einem eigenen Dialogfenster.
Bekanntermaßen hat Gnome im Bereich Barrierefreiheit bislang sehr viel getan. Sun hat dazu maßgeblich beigetragen, dass Gnome als Desktop auch körperlich beeinträchtigten Menschen offen steht. Bereits seit Gnome 2.20 gehört die Bildschirmleser-Technologie Orca zum Standardumfang. In Zusammenarbeit mit der Mozilla-Foundation steckten und stecken die Entwickler viel Arbeit in den kommenden Firefox 3, der sich nun leichter bedienen lässt als zuvor.
Gnome führt aber auch einen neuen Konfigurationsdialog Barrierefreie Maus ein und baut damit die Accessibility kontinuierlich aus. Mit dem Konfigurationswerkzeug haben körperlich beeinträchtigte Menschen die Möglichkeit, den Mauszeiger in bestimmten Bildschirmbereichen einzufangen, Kontextmenüs mit nur einer Maustaste – durch längeres Drücken der linken Taste – zu öffnen oder durch Mausgesten bestimmte Klickvarianten wie den Doppelklick zu simulieren.
In einige Anwendungen hat auch das plattformübergreifende Sicherheitssystem Policykit Einzug gehalten. Durch eine einheitliche Benutzerauthentifikation möchten die Entwickler dem derzeitigen Chaos bei der Rechtevergabe Einhalt gebieten. Das neue System erlaubt es dem Administrator, Benutzern Rechte zum Aktualisieren des Systems oder zum Administrieren des Netzwerks zu geben. Über das passende Programm (Abbildung 8) nehmen Sie die gewünschten Einstellungen für die Benutzer vor.
Die Gnome-System-Tools setzen als eines der ersten Programme auf Policykit auf (Abbildung 9). In der neuen Version überwachen sie die Konfigurationsdateien und zeigen Änderungen, die der Administrator an Dateien vornimmt, sofort an. DSL-Nutzer profitieren von der Tatsache, dass das Netzwerkadministrationswerkzeug sich nun auf PPPoE versteht. Es hilft außerdem beim Aufbau von Breitbandverbindungen über GPRS.
Seit Version 2.20 liefert Gnome den Oberflächengenerator Glade mit aus. Die integrierte Entwicklungsumgebung Anjuta [10] (Abbildung 10) empfanden einige als noch nicht ausgereift genug, und so verschob sich die Integration auf dieses Frühjahr. Die Gnome-IDE glänzt mit allerhand nützlichem für Entwickler, wie einem integrierter Debugger, Schnittstelle zu Valgrind, dem Verwalten von Todos, einer Autotools-Generierung sowie einer CVS-/SVN-Anbindung
Anjuta beherrscht neben C/ C++ auch Java sowie die noch sehr junge Sprache Vala [11], die speziell auf die Bedürfnisse des GObject-Typsystems zugeschnitten ist. Über Plugins erweitern Sie die Entwicklungsumgebung praktisch beliebig. So steht das Programm dem der Konkurrenz in fast nichts nach. Derzeit sammeln die Entwickler im Web [12] Ideen für die nächste große Anjuta-Version, die das Team zeitgleich mit Gnome 2.24 Mitte September diesen Jahres herausbringen möchte.
Trotz sechsmonatigen Veröffentlichungszyklus, den sich die Entwickler seit Gnome 2.0 auferlegt haben, schafften eine Fülle neuer Features und immerhin vier neue Programme den Einzug in den Desktop. Distributoren und Hersteller, die auf den freien Desktop setzen, profitieren weiterhin von pünktlichen Versionsfreigaben.
Das am 14. März in Berlin zu Ende gegangene Gtk+-Hackfest [13] hat den Weg zur nächsten Gtk+-Generation aufgezeigt. Die Entwickler sind sich einig, dass bis zur Release der nächsten Major-Version des Toolkits noch etwas Zeit vergeht. Vorher wäre nicht mit einer neuen Gnome-Generation zu rechnen. Dafür gibt es auch keinen Grund, denn die derzeitige Architektur bietet noch Potential, und viele Ziele, wie das Ridley-Projekt [14], befinden sich noch im Fluss.
Die Macher sammeln schon Ideen für Gnome 2.24 [15]. Unter anderem möchten sie bis Mitte September den runderneuerten VoIP-Client Ekiga [16] fertig stellen. Empathy [17], ein Instant-Messenger-Client ähnlich Pidgin [18], hat es in die aktuelle Release nicht geschafft. Mit Hochdruck arbeiten die Entwickler an dessen Integration in den Kern von Gnome. Auch an Nautilus schrauben sie derzeit kräftig: Eine neue Spalten- und Listenansicht gibt es bereits, sie wartet nur noch auf die Integration.
Glossar
D-Bus
Der Desktop-Bus ermöglicht die Punkt-zu-Punkt-Kommunikation zwischen verschiedenen Anwendungen untereinander. Er kombiniert die Vorteile der Vorgänger DCOP und Orbit aus dem KDE- respektive Gnome-Projekt.
HAL
Der Hardware Abstraction Layer schafft eine zusätzliche Abstraktionsschicht zwischen der Hard- und Software. So brauchen Anwendungen keine Rücksicht auf Besonderheiten verschiedener Computerarchitekturen zu nehmen. HAL setzt unter anderem auf D-Bus auf.
WebDAV
Web-based Distributed Authoring and Versioning. Ein Webstandard zur Bereitstellen von Daten. Er erweitert das Protokoll HTTP/1.1 in der Weise, dass es dem Benutzer den Zugriff auf Daten ermöglicht.
Fuse
Filesystem in Userspace. Ein Kernel-Modul, das es nicht privilegierten Benutzern ermöglicht, Dateisysteme einzuhängen. Beispiele dafür sind NTFS-3G für den Lese-/Schreibzugriff auf Windows-Partitionen und GMailFS, das den Zugriff auf Postfächer erlaubt.
Bonobo
Die mittlerweile veraltete Komponentenarchitektur von Gnome 1.x/2.x. Seit etwa zwei Jahren verbannen die Entwickler die Altlast und ersetzen sie schrittweise durch neue Plugin-Infrastrukturen beziehungsweise D-Bus.
Compositing-Manager
Ein Teil des Fenster-Managers, der unter anderem Anwendungsfenster mit visuellen Effekten, wie Schlagschatten, echter Transparenz oder Ein- und Ausblenden versieht.
Avahi
Eine freie Implementation von Zeroconf zum Erkennen von Netzwerkdiensten. Sie ermöglicht es, andere Rechner im Netz ohne die sonst notwendigen manuellen Konfigurationsschritte zu finden.
PPPoE
PPP over Ethernet. Technik zum Einsatz des verbreiteten Netzwerkprotokolls PPP über eine Ethernet-Verbindung.
GObject
Typsystem für C und Grundlage für praktisch alle Gtk+- und Gnome-Programme. Durch die Wahl der Programmiersprache C fällt es sehr leicht, Anbindungen für andere Sprachen zu schreiben, wie zum Beispiel C++, C#, Java, Python oder Perl. GObject bietet objektorientierte Ansätze, die vor allem aus der C++- oder der Java-Welt bekannt sind.
[1] Gnome: http://www.gnome.org/
[2] Freedesktop: http://www.freedesktop.org/
[3] D-Bus: http://www.freedesktop.org/Software/dbus
[4] HAL: http://freedesktop.org/wiki/Software/hal
[5] Diskussion um GVFS: http://mail.gnome.org/archives/desktop-devel-list/2008-February/msg00059.html
[6] Fertigstellung des FTP-Backends: http://blogs.gnome.org/otte/2008/03/06/done-2/
[7] Trashcan-Spezifikation: http://www.freedesktop.org/wiki/Specifications/trash-spec
[8] Ideenseite zu Cheese: http://live.gnome.org/Cheese/Ideas
[9] Gnome Live-CD: http://torrent.gnome.org/
[10] Anjuta: http://anjuta.sourceforge.net/
[11] Vala: http://live.gnome.org/Vala
[12] Roadmap zu Anjuta: http://live.gnome.org/Anjuta/Roadmap
[13] Gtk+-Hackfest in Berlin: http://live.gnome.org/GTK+/Hackfest2008
[14] Ridley-Projekt: http://live.gnome.org/ProjectRidley
[15] Roadmap für Gnome: http://live.gnome.org/RoadMap
[16] Ekiga:http://www.ekiga.org/
[17] Wiki zu Empathy: http://live.gnome.org/Empathy
[18] Pidgin: http://www.pidgin.im/