SelfLinux Überblick über Linux Was ist X? Abschnitt 2 | SelfLinux-0.13.0

| Was ist X? | Autoren Formatierung GFDL

#### 2 Was leistet X und wo liegen seine Grenzen?

Entsprechend der UNIX-Philosophie ist X keine eierlegende Wollmilchsau ohne eine durchschaubare innere Struktur, sondern in einzelne Komponenten aufgegliedert:

- Der X-Server; er ist das Programm, das Tastatur- und Mauseingaben entgegennimmt und die Resultate auf dem Bildschirm anzeigt. Er enthält dafür die passenden Gerätetreiber. Die Eingaben werden von ihm nicht ausgewertet, sondern an die betreffenden X-Clients (s. u.) weitergeleitet, die wiederum die Resultate an den X-Server zurückliefern.

- Die X-Clients; sie sind praktisch die Anwendungen (Textverarbeitung, Editor, Browser, ...), welche die grafische Oberfläche benutzen wollen. Vom X-Server bekommen sie die Tastatur- und Mauseingaben mitgeteilt, die sie betreffen, und melden ihm zurück, was auf dem Bildschirm erscheinen soll. Dazu wird das so genannte X-Protokoll verwendet.

- Der Windowmanager; er kümmert sich um das Drumherum, z.B. Fensterrahmen und Fenstermenüs für die Anzeigen der X-Clients, Menüs auf dem Desktop, Minimieren und Maximieren der Fenster usw.

Das Zusammenspiel lässt sich in folgender Grafik zusammenfassen (beachten Sie dabei, dass auch ein Window-Manager nichts anderes als ein X-Client ist):

Diagramm der Architektur; Grafik Rolf Brunsendorf

Diese Architektur hat eine ganze Reihe von Vorteilen:

- Auf Systemen, die keine grafische Oberfläche brauchen (z.B. Webserver), kann sie einfach weggelassen werden, das sie ja vom Kernel unabhängig ist; das spart Speicher- und Prozessorressourcen.

- Das grafische System kann beliebig herauf- und heruntergefahren werden (z.B. zu Konfigurationszwecken), ohne das das System verändert oder angehalten werden muss.

- Die Textkonsolen arbeiten unabhängig von der grafischen Oberfläche; mit `Strg+``Alt` `F1` bis `F6` kann man auf sie umschalten. Das ist z.B. sinnvoll, falls man schnell an der Systemkonfiguration was ändern will und sich somit auf einer Konsole als root einloggt. Zum X-Bildschirm zurück geht es mit `Strg+``Alt+``F7`.

- Das X-Protokoll setzt auf dem Internet-Protokoll TCP/IP auf; das bedeutet, dass Clients und Server auf unterschiedlichen Rechnern laufen können(!). In einem lokalen Netzwerk, in dem z.B. eine rechenintensive Ingenieurberechnungssoftware nur von einem einzigen Rechner verkraftet werden kann, weil alle anderen zu wenig Hauptspeicher haben, kann man sich einfach von seinem Arbeitsplatz aus dort einloggen, das Programm starten, und es erscheint auf dem eigenen Bildschirm, ohne dass man merkt, dass es auf einem ganz anderen Rechner läuft.

- Die einzelnen X-Clients müssen nur das X-Protokoll beherrschen, die Hardware kann ihnen relativ egal sein; das ist zwar heute allgemein so, aber zur Zeit der Einführung von X war diese Idee sehr fortschrittlich.

- Der Windowmanager ist beliebig wählbar; das macht das Erscheinungsbild individuell konfigurierbar.

X ist ein barocker Dinosaurier in jeder Linux-Distribution: barock, weil es sehr viele Features und Tools liefert, die man eigentlich (außer zum Rumspielen und sich darüber Amüsieren) nicht braucht; Dinosaurier, weil auf der anderen Seite seine interne Struktur auf den technischen Möglichkeiten aufbaut, die vor zwanzig Jahren bestanden:

- Das X-Protokoll kennt nur einfache Anweisungen wie: Zeichne Linie von A nach B; moderne Grafikkarten haben viele Möglichkeiten, um den Bildschirmaufbau durch die Hardware zu beschleunigen, diese können aufgrund dieser Kleinkariertheit von X nicht genutzt werden und liegen brach. Solange X nicht durch ein neues Konzept abgelöst wird, wird sich daran auch nichts ändern.

- Die Programmierung von X ist damit auch recht umständlich; mittlerweile gibt es allerdings so genannte GUI-Toolkits, die auf X aufsetzen und dem Programmierer das Leben recht einfach machen. Als Altlast gibt es aber viele alte Programme für X, von denen jedes eine andere Bedienphilosophie verfolgt und die einen kunterbunt aussehenden Zoo bilden.

- X hat absolut nichts mit dem Drucksystem zu tun; das ist zwar nicht unbedingt eine Designschwäche, hat aber zur Folge, dass es zwei paar Stiefel sind, z.B. eine Schriftart am Bildschirm anzeigen zu können oder sie auch ausdrucken zu können.

- X ist nur ein Verfahren, um mehrere (Text-)fenster anzuzeigen; von einer grafischen Oberfläche wird aber mehr verlangt. Den Anwender braucht dies aber wenig zu kümmern, denn im Zusammenspiel mit den modernen Desktop Environments von Linux liefert X eine Benutzeroberfläche, die kaum Wünsche offen lässt.