X Window System/Technik
Erscheinungsbild
Technik


Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderem Zeigegeräte (z. B. Maus), Tastatur, Bildschirm und Grafikkarte
- Dazu kommuniziert er in der Theorie mit dem Betriebssystem-Kernel, in der Praxis wird der Kernel aber auch umgangen
- Das zugrundeliegende Konzept ist eine Erweiterung des Terminal-Konzeptes auf grafische Benutzeroberflächen: Ein Programm verlässt sich für die grafische Eingabe (Maus) und Ausgabe (Fenstertechnik) auf die Dienste eines anderen dafür spezialisierten Programms (X-Server), die Kommunikation läuft immer über das Netzwerk
Die Darstellung bei X ist die eines Rastergrafik-basierten Fenstermanagers, der verschiedene Funktionen bereitstellt
- Dazu gehört das Zeichnen und Bewegen der Fenster, die ereignisorientierte Handhabung eines Zeigegeräts, z. B. einer Maus, die Interprozesskommunikation und teilweise auch die Verwaltungsfunktionen für Druck und Audio-Ausgabe
- X ist also ein Minimalsystem, bei dem zum Zeichnen lediglich Primitive wie Linien, Muster etc. bereitgestellt werden
Das eigentliche Aussehen und Verhalten des Fenstersystems wird deshalb nicht von X bestimmt, sondern von dem Fenstermanager, der wie eine normale Anwendung einfach als Client des X-Servers läuft
- Für das Aussehen der Programme selbst ist er aber nicht verantwortlich, das übernimmt meistens das sog. GUI-Toolkit, welches das Zeichnen und Verwalten der typischen Elemente einer grafischen Oberfläche wie z. B. Menüs und Buttons übernimmt
- Siehe dazu auch Desktop-Umgebung
Kommunikationsmodell
X baut auf einem Client-Server-Modell auf
- Der X-Server läuft auf dem Rechner am Arbeitsplatz und stellt seine (grafischen) Dienste den X-Clients zur Verfügung
- Er enthält den Grafikkartentreiber sowie Treiber für Tastatur, Maus und andere Eingabegeräte (wie z. B. Grafik-Tablets) und kommuniziert mit dem X-Client mittels Interprozesskommunikation
- Der X-Client ist das Anwendungsprogramm, das die grafischen Ein/Ausgabe-Dienste des X-Servers benutzt
- Er kann auf demselben oder auch auf irgendeinem entfernten Rechner laufen (sofern eine Netzwerkverbindung zwischen beiden besteht)
- Der X-Client benutzt die Dienste des X-Servers, um eine grafische Darstellung zu erreichen und empfängt von ihm die diversen Ereignisse (events) wie Tastenanschläge, Mausbewegungen, Klicks usw