Zum Inhalt springen

X Window System/Technik

Aus Foxwiki

Technik

Mögliche Fensterverteilung durch einen X11-Fenstermanager
X11-Fensterelemente, Beispiel mit Fenstermanager FVWM2

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

3D-Beschleunigung

Um schnelle 2D- und 3D-Beschleunigung zu ermöglichen, stellt das X Window System die Schnittstelle Direct Rendering Infrastructure (DRI) bereit, über die Programme direkt auf die Grafik-Hardware zugreifen können

Mit Hilfe von 3D-Erweiterungen wie AIGLX und xgl werden im X.Org-Server darüber hinaus 3D-Effekte auf dem Desktop selbst unterstützt