Unter Linux ist man nicht an eine bestimmte grafische Oberfläche gebunden, man benötigt nicht mal zwingend eine, aber die meisten hätten natürlich trotzdem gerne eine. Für welche man sich entscheidet, ist letztendlich Geschmackssache, aber es hilft, ein paar Dinge über das Grafiksystem von Linux zu wissen, bevor man sich entscheidet.
Zunächst einmal bedarf die grafische Darstellung zwingend eines Grafikservers. Das ist in der Regel der von x.org, seltener der XFree86. Letzterer hat vor einiger Zeit eine Lizenzumstellung erfahren, der einigen Entwicklern und Distributionen nicht geschmeckt hat, weshalb x.org meist den Vorzug erhält. X.org ist zudem 2006 von einem monolithischen Block (also einem riesigen Paket, das schwierig zu konfigurieren war) zu einem modularen System umgeandelt worden, bei dem man alle Teile des Servers und der Tools dafür häppchenweise bekommen kann. Bei den meisten Distris muss man sich darum aber nicht kümmern.
Wichtig ist, dass es sich um einen Server handelt. Das heißt, es wird tatsächlich Netzwerktechnik verwendet, um das Grafiksystem aufzusetzen. Das ist nicht nur von Interesse für Frickler und Programmierer, sondern es hat einen ganz konreten Nutzen für den Anwender: Rechner können sich am Grafikserver eines anderen Rechners anmelden und dort in einer eigenen grafischen Oberfläche arbeiten. Die Oberfläche muss noch nicht einmal die gleiche sein wie bei dem Anwender vor Ort, der währenddessen mit seiner Oberfläche arbeitet.
Wenn man beispielsweise mit VNC unter Windows eine Verbindung herstellt, dann kann man den Desktop des Benutzers fernsteuern, während er dabei zusehen kann, was man tut. Eine herkömmliche VNC-Verbindung unter Linux führt dagegen normalerweise zu einer eigenen Oberfläche, die der Benutzer am entfernten Rechner gar nicht zu sehen bekommt. Allerdings lassen sich die VNC-Server auch so konfigurieren, dass sie Zugriff auf die Session des Benutzers vor Ort erlauben. Der Fernzugriff in Ubuntu z.B. ist gleich so vorkonfiguriert, da er in erster Linie für Benutzer gedacht ist, die sich von entfernten Helfern etas zeigen lassen wollen.
Auf dem X-Server setzt normalerweise ein Fenstermanager auf. Fenstermanager haben eigentlich ausschließlich die Aufgabe, grafischen Programmen Platz einzuräumen und sie ggfs. mit Fensterdekorationen zu versehen. twm, fvwm, openbox, fluxbox, ratpoison sind alles solche Fenstermanager. Sie können auf den ersten Blick äußerst spartanisch wirken. Häufig gibt es weder Desktop Icons noch ein Panel, lediglich ein Terminal wird geöffnet, um Befehle entgegenzunehmen, und vielleicht gibt es ein Kontextmenü.
Diese Fenstermanager sind zwar konfigurierbar und können mit Programmen wie ROX Filer ausgebaut werden, aber aus Gründen des Komforts haben sich auch sogenannte Desktopumgebungen (Environments) herausgebildet, die wesentlich mehr Funktionsumfang mitbringen; die beiden bekanntesten sind KDE und Gnome, aber auch XFce und Enlightenment sind solche Umgebungen. Diese Umgebungen enthalten ihrerseits eigene Fenstermanager; in Gnome Metacity, in KDE Kwin. Daneben enthalten sie aber auch Panels, Möglichkeiten für das Management eines Desktops mit Icons, Hintergrundbildern und Widgets (kleinen Applikationen) usw. Manche dieser zusätzlichen Dinge gehören zum Kernpaket, andere können optional installiert werden, vieles kann auch gemischt werden; so erfüllen KDE-Kicker und xfce4-panel ähnliche Aufgaben und können ohne weiteres in der jeweils anderen Umgebung eingesetzt werden.
Insbesondere, wenn es darum geht, einen älteren Rechner mit einer grafischen Oberfläche auszustatten, wird wegen des geringeren Resourcen-Bedarfs gerne auf reine Fenstermanager oder zumindest auf XFce verwiesen, das weniger Resourcen verbraucht als Gnome und KDE. Im reinen Startzustand stimmt das auch; aber es gibt noch etwas zu bedenken.
Gnome und KDE sind die bekanntesten Plattformen und deshalb auch der Ausgangspunkt für die Programmierung vieler Anwendungen. Gnome basiert auf der grafischen Bibliothek gtk, was auch für Gnome-Anwendungen gilt; KDE basiert auf qt, ebenso seine Anwendungen. Darüber hinaus greifen Anwendungen auf viele weitere Komponenten der jeweiligen Oberfläche zurück, um ihre Funktionalität zu gewährleisten, so dass ein Gnome-Programm immer große Teile von Gnome laden muss, um lauffähig zu sein, gleiches gilt für KDE-Anwendungen. Das bedeutet, dass Anwendungen, die für eine der beiden Umgebungen geschrieben wurden, meist wesentlich mehr Resourcen als nur die direkt benötigten verbrauchen, wenn sie in einder anderen Umgebung gestartet werden. In XFce kann das dazu führen, dass der Gesamt-Resourcenverbrauch bei Verwendung einer Gnome- oder KDE-Anwendung sogar durch die zusätzlichen Bibliotheken der jeweiligen Umgebung dem von Gnome oder KDE entspricht oder ihn sogar übertrifft. Tatsächlich gibt es in XFce die Möglichkeit, die Laufzeitbibliotheken von KDE und Gnome gleich beim Start mitzuladen, damit entsprechende Anwendungen schneller starten können. Wer also auf Resourcenschonung Wert legen muss, sollte sich nach Anwendungen umschauen, die keine Desktopumgebung voraussetzen.
Die 3D-Programme Compiz, Beryl und Metisse sind Fenstermanager. Metisse setzt auf einer modifizierten fvwm-Basis auf, soll aber auch in einer Gnome- oder KDE-Umgebung klappen, aber mir sind dafür keine Tutorials bekannt. Compiz und dessen Ableger Beryl können anstelle von Metacity, Kwin oder xfwm (XFce Window Manager) benutzt werden und setzen dann auf der jeweiligen Umgebung auf; zumindest Beryl kann aber auch allein auf einem X-Server laufen. Bei Verwendung einer nvidia-Karte reicht bei Verwendung der neuesten Beta-Teiber sogar der herkömmliche x.org-Server, alternativ Xgl; bei ATI sollte Aiglx verwendet werden.
Robin