XWindow-System, X11

XWindow-System

Copyright © Shutterstock/Jodennitin

Was ist XWindow-System, X11?

Das XWindow-System (Auch X11 oder noch weiter abgekĂŒrzt auch als X gelĂ€ufig) ist ein Fenstersystem fĂŒr Bitmap-Anzeigen, das auf UNIX-Ă€hnlichen Computerbetriebssystemen ĂŒblich und weit verbreitet ist. X stellt das grundlegende Framework fĂŒr eine GUI-Umgebung (Grafische BenutzeroberflĂ€che) bereit: Das Zeichnen und Verschieben von Fenstern auf dem AnzeigegerĂ€t und das Interagieren mit dem System mittels einer Maus und einer Tastatur. Dabei legt X die BenutzeroberflĂ€che nicht fest – dies wird von den einzelnen Programmen gehandhabt. Aus diesem Grund unterscheidet sich die visuelle Gestaltung von X-basierten Umgebungen stark. Verschiedene Programme können radikal unterschiedliche Benutzerschnittstellen aufweisen.

Das XWindow-System entstand 1984 am Massachusetts Institute of Technology (MIT), einer amerikanischen UniversitĂ€t. Das Protokoll liegt offenkundig seit September 1987 in der Version 11 vor (daher “X11”). Die X.Org Foundation leitet das X-Projekt nebst der aktuellen Referenzimplementierung, X.Org Server, erhĂ€ltlich als freie und Open-Source-Software unter der MIT-Lizenz und Ă€hnlichen permissiven Lizenzen.

Konzepte und Funktionsweisen von X11

Das XWindow-System ist ein von der zugrunde liegenden Architektur unabhĂ€ngiges System fĂŒr die UnterstĂŒtzung entfernter grafischer Benutzerschnittstellen(UI) und EingabegerĂ€te. Jede Person, die ein Netzwerkterminal verwendet, kann ĂŒber jedes beliebige BenutzereingabegerĂ€t mit dem Display interagieren. In seiner Standard-Variante handelt es sich um eine vollstĂ€ndige, wenn auch einfache Anzeige- und Schnittstellenlösung, die ein Standard-Toolkit und den entsprechenden Protokollstapel zum Erstellen von grafischen Benutzerschnittstellen auf den meisten Unix-Ă€hnlichen Betriebssystemen und OpenVMS liefert und auf viele andere moderne Allzweckbetriebssysteme portiert wurde.

X11 stellt das GrundgerĂŒst oder die Grundelemente zum Erstellen solcher GUI-Umgebungen bereit: das Zeichnen und Bewegen von Fenstern auf dem Bildschirm und das Interagieren mit einer Maus, einer Tastatur oder einem Touchscreen. Individuelle Client-Programme legen dabei das genaue Erscheinungsbild ihrer UI fest, das Framework verzichtet hier auf feste Vorgaben. Programme können die grafischen FĂ€higkeiten von X gegebenenfalls auch ohne BenutzeroberflĂ€che verwenden. Daher unterscheidet sich die visuelle Gestaltung von X-basierten Umgebungen stark.

Im Gegensatz zu den meisten frĂŒheren Anzeigeprotokollen wurde X speziell fĂŒr die Verwendung ĂŒber Netzwerkverbindungen und nicht primĂ€r fĂŒr ein integriertes oder direkt angeschlossenes AnzeigegerĂ€t entwickelt. Das XWindow-System bietet Netzwerktransparenz, was bedeutet, dass ein X-Programm, das auf einem Computer irgendwo in einem Netzwerk (wie zum Beispiel auch dem Internet) lĂ€uft, seine Benutzerschnittstelle auf einem X11-Server anzeigen kann, der auf einem anderen Computer im Netzwerk lĂ€uft. Der X-Server ist normalerweise der Anbieter von Grafikressourcen und Tastatur- / Mausereignissen fĂŒr X11-Clients, was bedeutet, dass der X-Server normalerweise auf dem Computer vor einem menschlichen Benutzer lĂ€uft, wĂ€hrend die X11-Client-Anwendungen irgendwo im Netzwerk laufen und mit dem Computer des Benutzers kommunizieren, um das Rendern von Grafikinhalt anzufordern und Ereignisse von EingabegerĂ€ten einschließlich Tastaturen und MĂ€usen zu empfangen.

Die Tatsache, dass der Ausdruck “Server” auf die Software vor einem Benutzer angewendet wird, ĂŒberrascht hĂ€ufig Benutzer, die daran gewöhnt sind, dass ihre Programme Clients fĂŒr Dienste auf entfernten Computern sind. Anstelle einer entfernten Datenbank, die die Ressource fĂŒr eine lokale Anwendung darstellt, werden beim XWindow-System die graphischen Anzeige- und EingabegerĂ€te des Benutzers zu Ressourcen, die vom lokalen X11-Server sowohl lokalen als auch entfernt gehosteten X-Client-Programmen zur VerfĂŒgung gestellt werden, die auf die Grafik- und EingabegerĂ€te des Benutzers zurĂŒckgreifen mĂŒssen, um mit dem Benutzer zu kommunizieren.

Das Netzwerkprotokoll im XWindow-System basiert auf X11-Befehlsprimitiven. Dieser Ansatz ermöglicht sowohl 2D- als auch (durch Erweiterungen wie GLX) 3D-Operationen durch eine X11-Client-Anwendung, die möglicherweise auf einem anderen Computer ausgefĂŒhrt wird, um auf dem X11-Server-Display noch vollstĂ€ndig beschleunigt zu werden. Zum Beispiel könnten im klassischen OpenGL (vor Version 3.0) Anzeigelisten mit einer großen Anzahl von Objekten erstellt und vollstĂ€ndig auf dem X11-Server von einem Remote-X11-Client-Programm gespeichert werden. Danach kann dann jedes Objekt gerendert werden, indem man eine einzelne glCallList ĂŒber die Netzwerk sendet. Das XWindow-System bietet von Haus aus keine native UnterstĂŒtzung fĂŒr Audio. Es gibt jedoch mehrere Projekte, die diese Nische fĂŒllen, einige von ihnen unterstĂŒtzen gleichzeitig auch eine transparente NetzwerkunterstĂŒtzung.

Softwarearchitektur bei der Verwendung von X11

Im einfachsten Fall kann man sich die Softwarearchitektur beim XWindow-System folgendermaßen vorstellen: Der X-Server empfĂ€ngt Eingaben von einer lokalen Tastatur und Maus und zeigt diese auf einem Bildschirm an. Ein Webbrowser und ein Terminalemulator werden auf dem Arbeitsplatzrechner des Benutzers ausgefĂŒhrt und ein weiterer Terminalemulator wird auf einem Remotecomputer ausgefĂŒhrt, dabei jedoch vom Computer des Benutzers aus gesteuert und ĂŒberwacht. Das XWindow-System verwendet ein Client-Server-Modell: Ein X11-Server kommuniziert mit verschiedenen Client-Programmen. Der Server akzeptiert Anfragen zur grafischen Ausgabe (Fenster) und sendet Benutzereingaben (von Tastatur, Maus oder Touchscreen) zurĂŒck. Der Server in einem XWindow-System kann dabei beispielsweise folgende Rollen einnehmen:

  • eine Anwendung, die in einem Fenster eines anderen Anzeigesystems angezeigt wird
  • ein Systemprogramm, das den Videoausgang eines PCs steuert
  • ein dediziertes Hardware-Bauteil

Diese Client-Server-Terminologie – das EndgerĂ€t des Benutzers ist der Server und die Anwendungen die Clients – werden von neuen XWindow-System-Benutzern oft verwechselt, weil diese Begriffe intuitiv mit der gegenteiligen Bedeutung in Verbindung gebracht werden. X nimmt jedoch die Perspektive der Anwendung ein und nicht die des Endbenutzers: Das XWindow-System stellt Anwendungen Anwendungen fĂŒr die Anzeige die I/O-FunktionalitĂ€t bereit, also ist es ein Server; Anwendungen nutzen diese Dienste, dementsprechend sind sie Clients. Das Kommunikationsprotokoll zwischen Server und Client arbeitet netzwerktransparent: Der Client und der Server laufen möglicherweise auf derselben Maschine oder auf unterschiedlichen Maschinen, möglicherweise auch auf unterschiedlichen Architekturen und Betriebssystemen. Ein Client und ein Server können sogar sicher ĂŒber das Internet kommunizieren, indem die Verbindung ĂŒber eine verschlĂŒsselte Netzwerksitzung getunnelt wird.

Ein X11-Client selbst kann einen X-Server emulieren, indem er anderen Clients Anzeigedienste bereitstellt. Dies wird als “X nesting” bezeichnet. Open-Source-Clients wie Xnest und Xephyr unterstĂŒtzen diese X-Verschachtelung. Um eine X11-Client-Anwendung auf einem Remote-Computer zu verwenden, kann der Benutzer Folgendes tun:

  • Auf dem lokalen Computer ein Terminalfenster öffnen
  • ssh mit dem Argument X forwarding verwenden, um eine Verbindung mit dem Remotecomputer herzustellen
  • Request des lokalen Anzeige- / Eingabedienstes (z.B. Export DISPLAY = [Maschine des Benutzers]: 0, wenn kein SSH mit aktivierter X-Weiterleitung verwendet wird)

Die Remote-X-Client-Anwendung stellt dann eine Verbindung zum lokalen X-Server des Benutzers her und stellt dem Benutzer Anzeige und Eingabe bereit. Alternativ kann der lokale Computer ein kleines Programm ausfĂŒhren, das eine Verbindung mit dem Remotecomputer herstellt und die Clientanwendung startet.

Tipp

Wenn Sie noch Fragen bezĂŒglich eines Online Marketing Themas haben, dann können Sie gerne unseren Glossar besuchen und sich ĂŒber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte