In der Umgangssprache steht der Begriff Linux meistens für ein komplettes System mit grafischer Oberfläche, zahlreichen Programmen und Tools. Strenggenommen stellt Linux aber nur den Betriebssystemkern bereit, den so genannten Kernel. Für bunte Fenster, die sich mit einer Maus bedienen lassen, sorgt das X-Window-System, auch einfach X genannt.
Wer jetzt mit Linux einsteigt, hat es leicht: Aktuelle Distributionen nehmen dem Anwender die Konfiguration der grafischen Oberfläche ab. Man darf noch entscheiden, welche Arbeitsumgebung man verwenden will, das Setup aber erfolgt weitgehend automatisch. Hinter der Bühne von KDE, Gnome oder XFCE arbeitet ein eingespieltes Team von Programmen daran, die Augen mit optischen Reizen zu kitzeln. Die Hauptrollen in diesem Team spielen der X-Server und die X-Clients.
Server und Client
X besteht aus zwei Teilen: dem X-Server und dem X-Client. Der Server versorgt einen oder mehrere X-Clients mit bestimmten Funktionen. Ein X-Client dagegen ist ein grafisches Programm, dass den X-Server braucht, um überhaupt arbeiten zu können. Firefox beispielsweise ist ebenso ein X-Client wie der Windowmanager, der für Aussehen und Verhalten von Fenstern verantwortlich zeichnet. X-Server und -Clients vollbringen sämtliche Arbeit für die Darstellung eines Desktops wie KDE.
Der X-Server kümmert sich dabei um das Wie der Darstellung, die X-Clients um das Was (Abbildung 1). Diese Trennung ermöglicht es, dass der X-Window-Client und der -Server auf zwei verschiedenen Rechnern arbeiten: Ein Rechner betreibt den X-Server, auf den die X-Clients von anderen Rechnern aus zugreifen können. Server und Client lassen sich dabei beliebig austauschen.
Der X.org-Server
Die derzeit verbreitetste X-Variante ist der Standard-X-Server X.org [2], der von der X.org-Foundation [3] entwickelt wird und momentan in der Version 7.1 vorliegt. Bei X.org handelt es sich um eine Weiterentwicklung des alten XFree86-Servers. Zur Trennung von XFree86 und X.org kam es auf Grund von internen Differenzen im Team bezüglich der XFree86-Lizenz.
Die Architektur des X.org-Server ist recht einfach zu verstehen: Der Server kommuniziert durch den Linux-Kernel mit den Ein- und Ausgabegeräten, die für die grafische Oberfläche notwendig sind. Das betrifft vor allem Maus und Tastatur, deren Eingaben dargestellt werden und Reaktionen des Systems zur Folge haben. Eine Ausnahme bildet die Grafikkarte: Sie spricht der Server in der Regel direkt an, ohne erst den Kernel zu fragen. Analog zum Kernel bringt auch X.org für die meisten Geräte Treiber mit, die man ebenfalls Module nennt. Dennoch handelt es sich bei Kernel- und X.org-Modulen um ganz unterschiedliche Komponenten, die man nicht miteinander verwechseln sollte.
Einige Grafikkartenhersteller stellen zusätzliche Treiber zur Verfügung, diese in der Regel aus einem Kernel- und einem X.org-Modul bestehen. Die bekanntesten unter ihnen sind die kommerziellen Treiber von Nvidia und ATI. Sie liefern zwar (bessere) 3D-Unterstützung und ermöglichen, sämtliche Monitorausgänge zu nutzen, enthalten aber Closed-Source-Code und verstoßen somit laut einigen Kernelentwicklern gegen die GPL. Bei Problemen mit diesen Treibern sind Linux-Benutzer auf den Support des Grafikkartenherstellers angewiesen.


