Das X Window-System

Beim X Window-System handelt es sich um ein portables, grafisches Mehrbenutzer-Fenstersystem, das ursprünglich am MIT entwickelt wurde. "Portabel" bedeutet in diesem Fall, dass es auf vielen verschiedenen Typen von Hostcomputern ausgeführt werden kann, beispielsweise unter OpenVMS sowie auf einer Reihe von Linux- und UNIX-Hosts. "Mehrbenutzer" bedeutet, dass über die netzwerkgestützte Hostverbindung viele Benutzer gleichzeitig Zugriff auf X-Anwendungen erhalten. Als Fenstersystem ermöglicht X Benutzern das gleichzeitige Ausführen mehrerer Anwendungen, wobei jede Anwendung (ähnlich wie unter Microsoft Windows) ein eigenes Fenster erhält.

X-Anwendungen (Clients) stellen die grafische Benutzeroberfläche für viele hostbasierte Umgebungen bereit. Einige bekannte Umgebungen sind beispielsweise die GNOME Desktop Environment (GDE), die K Desktop Environment (KDE) und die Common Desktop Environment (CDE). X-Anwendungen werden auch häufig für die Einsatzbereiche Konstruktion, Wissenschaft und Fertigung entwickelt.

Das X Window-System basiert auf einem Client/Server-Modell:

  • Der X-"Client" ist ein Anwendungsprogramm, das auf einem Hostcomputer ausgeführt wird.
  • Der X-"Anzeigeserver" vermittelt softwareseitig zwischen den Clientanwendungsprogrammen und der lokalen Anzeigehardware sowie den Eingabegeräten (Maus und Tastatur). Der Server verfolgt alle Eingaben von diesen Geräten und leitet sie an die relevanten Clientanwendungen weiter.

    Darüber hinaus reagiert der Server auf Clientanforderungen und aktualisiert die Ausgabe entsprechend. In Reflection X Advantage wurden die Anzeige und der X-Server voneinander entkoppelt.

Durch diese Unterteilung der X Window-Systemarchitektur können Clients und Anzeigeserver auf unterschiedlichen Typen von Computern untergebracht werden. Die Clientanwendungen befinden sich auf UNIX-Hosts, während der Server auf dem lokalen Computer ausgeführt wird. Bei Reflection X Advantage kann dies ein Windows- oder UNIX-Computer sein.

Die Tatsache, dass der X-Anzeigeserver auf einem lokalen Computer ausgeführt wird, kann bei weniger erfahrenen X-Window-Benutzern im Hinblick auf die Client/Server-Terminologie Verwirrung auslösen. Als Anzeigeserver versorgt der lokale Computer Anwendungen (Clients) auf anderen Computern mit den Diensten der lokalen Anzeigegeräte, der Tastatur und der Maus.

Anforderungen, Antworten, Ereignisse und Fehler

Die X-Server- und X-Clientanwendungen kommunizieren wie folgt miteinander:

  • Anforderungen von Clients an den Server.
  • Antworten vom Server an Clients, als Reaktion auf Clientanforderungen.
  • Ereignisse, die an alle entsprechend registrierten Clients übermittelt werden.

    Ein Ereignis tritt ein, wenn eine Benutzereingabe (Mausbewegung oder Tastenbetätigung) stattfindet oder andere Informationen vom Anzeigeserver an die Clientanwendung gesendet werden. Auf den Empfang eines Ereignisses kann die Clientanwendung wiederum durch die Anforderung bestimmter Aktionen beim Server reagieren, die ihrerseits Auswirkungen auf die Anzeige haben.

  • Fehler, die an Clients übermittelt werden, wenn eine Anforderung fehlschlägt oder ungültig ist.