Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

X Window System

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet vonX-Server)
X Window System

Logo des X Window Systems
Basisdaten

HauptentwicklerX.Org Foundation
EntwicklerX.Org Foundation, Keith Packard
Erscheinungsjahr1984
Aktuelle VersionX11R7.7[1][2]
(6. Juni 2012)
Betriebssystemunixoide (BSD,macOS,Linux u. a.),VMS
Programmier­spracheC
KategorieGrafische Benutzeroberfläche,Netzwerkprotokoll
LizenzMIT-Lizenz
deutschsprachignein
x.org
Gnome 43
KDE 6
Xfce 4.18
Zusammenwirken von X Server und X Client. Im oberen Teil der Grafik ist ein Benutzerrechner schematisch dargestellt, auf dem ein X Server die Tastatur, die Maus und den Bildschirm verwaltet. Der X Server interagiert in dem Beispiel mit drei X Clients: einem lokalen Browser, einem lokalenxterm (zur Interaktion mitUnix-Shell) und einem entfernten xterm

DasX Window System (auchX Version 11,X11,X) ist einNetzwerkprotokoll und eine Software, dieFenster aufBitmap-Displays auf den meistenunixartigen Betriebssystemen undOpenVMS ermöglicht. X11 wurde auf allen gebräuchlichen Betriebssystemen implementiert.

Es stellt einen Standardbaukasten und das Protokoll zum Bau einergrafischen Benutzeroberfläche zur Verfügung. Dazu gehören Zeichnen und Bewegen von Fenstern auf dem Bildschirm sowie das Behandeln der Benutzereingaben mit Maus und Tastatur. X schreibt keine spezielleBenutzerschnittstelle vor, sondern überlässt dies seinenClient-Programmen. Deshalb können X-basierte Umgebungen in ihrem Aussehen sehr variieren. Mithilfe vonDesktop-Umgebungen – die bekanntesten waren lange ZeitKDE undGnome und sind rechts abgebildet – wird dem entgegengewirkt. Auf der jeweiligen Desktop-Umgebungen kommenEndanwender auf modernen Unix-Desktops mit den Kernprogrammen des X Window Systems kaum noch in Berührung.

Frühere Anzeigeprotokolle konnten nur eingebaute oder direkt angeschlossene Anzeigen verwalten. In Erweiterung dazu wurde X spezifisch alsClient-Server-System entworfen, was neben der lokalen auch einenetzwerktransparente Verwendung ermöglicht.

DieX.Org Foundation betreut heute das Projekt und hat am 6. Juni 2012 die Version 7.7 derReferenzimplementierung als freie Software unter derMIT-Lizenz herausgegeben. Eine weitere, in den 1990ern und der ersten Hälfte der 2000er Jahre weit verbreitete Implementierung istXFree86. Als Nachfolger beider Implementierungen giltWayland.[3][4][5] Im Juni 2025 wurde mitXLibre ein in der Entwickler-Community umstrittenerFork des X11-Servers gestartet.[6]

Geschichte

[Bearbeiten |Quelltext bearbeiten]

X wurde 1984 imProjekt Athena in Zusammenarbeit desMIT,DEC undIBM entwickelt.[7] Die erste Version wurde am 19. Juni 1984 vorgestellt und 1986 wurde X 10.4 mit großem Erfolg gegen eine Schutzgebühr an alle Interessierten verteilt, womit X erstmals eine große Verbreitung auf den Unix-Rechnern jener Zeit erreichte. X10 war jedoch inkompatibel zum späteren X11.[8] Im September 1987 schließlich folgte das erste Release von X11.

Als 1988 die Popularität immer größer wurde, wurde das nicht-kommerzielle X-Konsortium gegründet, das die weitere Entwicklung übernahm. Es veröffentlichte verschiedene Versionen, die letzte große war X11R6 1994. Danach übernahmTheOpen Group die Entwicklung und Standardisierung. In der gleichen Zeit erreichte die freie X-ImplementierungXFree86 einen immer größeren Bekanntheitsgrad und wurde zum De-facto-Standard der X-Implementierung. 2003 aber gab es projektinterne und lizenzrechtliche Probleme bei XFree86, die im Endeffekt zur Auflösung des Entwicklerteams führten. Unter dem Dach der daraufhin neu gegründetenX.Org Foundation wurde fortan eineAbspaltung des alten XFree86 weiterentwickelt, die unter dem NamenX.Org-Server größtenteils in dessen Fußstapfen trat. Seit etwa 2005 galt er als der meistverbreitete X-Server und damit die meistverbreitete X-Implementierung.

Da seit 2012 keine neue Version von X.Org X11 herausgebracht wurde, pflegen die meisten Unix- bzw. Unix-artigen Betriebssysteme ihre eigene Abspaltung – beispielsweise ist der X11-Code von NetBSD zwar jener von X.Org, jedoch mit spezifisch für die Distribution eingepflegten Anpassungen und Aktualisierungen.[9] Unter Linux ist es seit rund 2025 klar, dass Wayland X11 beerben wird.[10]

Technik

[Bearbeiten |Quelltext bearbeiten]
Mögliche Fensterverteilung durch einen X11-Fenstermanager
X11-Fensterelemente, Beispiel mit FenstermanagerFVWM2

Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderemZeigegeräte (z. B.Maus), Tastatur, Bildschirm undGrafikkarte. 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 desTerminal-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 einesRastergrafik-basiertenFenstermanagers, der verschiedene Funktionen bereitstellt. Dazu gehört das Zeichnen und Bewegen der Fenster, die ereignisorientierte Handhabung eines Zeigegeräts, z. B. einer Maus, dieInterprozesskommunikation und teilweise auch die Verwaltungsfunktionen für Druck und Audio-Ausgabe. X ist also ein Minimalsystem, bei dem zum Zeichnen lediglichPrimitive wie Linien, Muster etc. bereitgestellt werden.

Das eigentliche Aussehen und Verhalten des Fenstersystems wird deshalb nicht von X bestimmt, sondern von demFenstermanager, 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 auchDesktop-Umgebung.

Kommunikationsmodell

[Bearbeiten |Quelltext bearbeiten]

X baut auf einemClient-Server-Modell auf:

  • DerX-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 demX-Client mittels Interprozesskommunikation.
  • DerX-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.

X-Terminal

[Bearbeiten |Quelltext bearbeiten]

Das in der Großrechner-Welt bekannte, textbasierteTerminal-System (dort meistens proprietäre wieIBM 5250 und3270; unterDigitalsVMS die bekannten seriellen Terminals wie z. B.VT100) erlebte seine grafische Weiterentwicklung zumX-Terminal; ein Rechner, auf dem nichts anderes als ein X-Server läuft. Diese X-Terminals werden häufig genutzt, um mit leistungsschwachen Rechnern auf rechenintensive Anwendungen zuzugreifen: Die Anwendung selbst läuft auf einem Server, das X-Terminal übernimmt nur die Anzeige der grafischen Oberfläche.

Statt spezieller Hardware für X-Terminals hat es sich letztlich durchgesetzt, auf Standard-Hardware vonPCs zurückzugreifen. Mit dieser können die Funktionen von X-Terminals zum Beispiel in Form vonThin Client preiswert umgesetzt werden.

3D-Beschleunigung

[Bearbeiten |Quelltext bearbeiten]

Um schnelle 2D- und 3D-Beschleunigung zu ermöglichen, stellt das X Window System die SchnittstelleDirect Rendering Infrastructure (DRI) bereit, über die Programme direkt auf die Grafik-Hardware zugreifen können. Das geschieht bei freien Treibern durch dieOpenGL- undVulkan-ImplementierungMesa 3D, im Fall vonproprietären Treibern durch jeweils proprietäre Implementierungen davon.

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

Stärken

[Bearbeiten |Quelltext bearbeiten]

Das X-System wurde von Anfang an für den effizienten Netzwerkbetrieb konzipiert. Die Kommunikation zwischen Client und Server läuft über ein standardisiertes Protokoll ab, das nur relativ geringe Transferraten benötigt. Der Quellcode des X-Systems ist zwar objektorientiert, aber dennoch inC geschrieben, so dass eine Übersetzung auf nahezu jedem Unix-Rechner möglich ist. Das X-System ist im Gegensatz zu aktuellenMS-Windows-Versionen kein Bestandteil des Betriebssystems, weswegen einAbsturz von X in der Regel keinen Einfluss auf dessenIntegrität hat: Stürzt der X-Server ab oder reagiert nicht mehr, können die Clients reagieren und z. B. auf einen Neustart des X-Servers warten oder sich (was meistens der Fall ist) beenden. Weiterhin hat derFenstermanager (die „Bedienoberfläche“) im Prinzip denselben Status wie ein X-Client: Im laufenden Betrieb kann ein Fenstermanager durch einen anderen ersetzt werden. Bereits mit sehr kleinen Fenstermanagern (z. B.twm, rund 140 KB) kann komfortabel gearbeitet werden.

Durch den durchdachten, hierarchischen Aufbau des Systems ist beispielsweise Folgendes möglich:

  • An einem X-Server mehrere Bildschirm-Arbeitsplätze betreiben.
  • Für Entwicklungs- und Testzwecke einen X-Server in einem Fenster eines anderen X-Servers laufen lassen.
  • Programme an einem Rechner mit völlig anderer Hard- und Software als dem Bedienrechner ausführen.

Die Weiterentwicklung von X läuft im Vergleich zur Hardware auf großen Zeitskalen und mit nur geringen Veränderungen ab.Kompatibilitätsprobleme treten daher nicht auf, wenn nur Standardbibliotheken verwendet werden. Allerdings benutzt ein großer Teil der X-Clients heute Erweiterungen wieXft,XVideo oderXinerama.

Die strikte Trennung des X Window Systems von der Benutzeroberfläche führt zu einem vergleichsweise flexiblen System, das aber auch sehr uneinheitlich erscheinen kann: Da das Design der Oberflächenelemente im Gegensatz zu Windows oder Mac OS nicht aus dem eingestellten Design des Haupt-GUI-Toolkits stammt, sondern es verschiedene Toolkits (unter anderemQt undGTK) mit verschiedenen Eigenschaften gibt, die verschiedene Designs verwenden, kann es durchaus vorkommen, dass jedes der genutzten Programme ein unterschiedliches Aussehen und Verhalten zeigt.

Schwächen

[Bearbeiten |Quelltext bearbeiten]

Mitxinput list undxinput test id fungiert der X-Server alsKeylogger, wobei selbst dassudo-Passwort ausgelesen werden kann. Voraussetzung für diese Art des Angriffs ist aber, dass bereits ein X-Server mitroot-Rechten läuft. Viele Linux-Distributionen verhindern deshalb in der Standardkonfiguration die Anmeldung alsroot.[11] Das erstmals 2008 vorgestellteWayland-System soll den X-Server ablösen, dessen historisch gewachsene Schwachpunkte vermeiden und deutlich weniger Sicherheitslücken aufweisen.[12][13]

Ansätze zur Verbesserung

[Bearbeiten |Quelltext bearbeiten]

Übertragungsgeschwindigkeit

[Bearbeiten |Quelltext bearbeiten]

Es wurden mehrere Ansätze entwickelt, um die Übertragungsgeschwindigkeit zu verbessern:

  • Kompression der Übertragungsdaten,
  • Anlegen einesCaches für schon übertragene Daten und
  • Reduzierung des Einflusses derPaketumlaufzeit zwischen X-Client und X-Server durch effizientere Programmierung.

Mehrere Projekte versuchen, diese Techniken umzusetzen. DieXCB-Bibliothek ist eine Neufassung derXlib-Bibliothek, die im X-Server den Datenverkehr zwischen Client und Server regelt. Bei der Entwicklung von XCB wird insbesondere Wert auf eine gesteigerte Effizienz gelegt.

Einen hohen Bekanntheitsgrad hat ebenfalls dasNX-Projekt des italienischen Unternehmens NoMachine, das mit Hilfe eines Caches und Datenkompression X auch über Modem-Leitungen nutzbar macht.

In der Vergangenheit arbeitete auch das Low-Bandwidth-X-Projekt vonKeith Packard in diesem Bereich. Dessen Ziel war, eine Erweiterung des X-Protokolls zu erstellen, um die Netzwerktransparenz auch für niedrige Bandbreiten nutzbar zu machen. Mit der Veröffentlichung von X11R6.3 durch das X-Konsortium im Dezember 1996 wurde das X-Protokoll um Low-Bandwidth-X (LBX) erweitert. Da es aber nie großflächig genutzt wurde und auch nur für einen Teil der Probleme eine Lösung bieten konnte, wurde das Projekt im Laufe des Jahres 2000 von Keith Packard für tot erklärt.[14]

Gesteigerte Einheitlichkeit

[Bearbeiten |Quelltext bearbeiten]

Eine gesteigerte Einheitlichkeit wurde ebenfalls von mehreren Projekten verfolgt. Ansätze waren die Erstellung einerDesktopoberfläche mit einheitlichen Oberflächenbibliotheken oder aber das Ersetzen von X durch ein auf höherem Niveau angelegtes System, das von Beginn an eine einheitliche Behandlung von Oberflächenelementen beinhaltete. DasFresco-Projekt und das Y Window System entwickelten jeweils Lösungen, um den zweiten Ansatz umzusetzen, die Projekte ruhen aber zurzeit.

Ein anderer, aktiv verfolgter Ansatz ist der Versuch, durch gemeinsame Richtlinien für Benutzerschnittstellen und Verhaltensweisen der Software Einheitlichkeit zwischen den verschiedenen Toolkits zu erlangen. Dieser Ansatz wird vor allen Dingen im Rahmen desfreedesktop.org-Projekts verfolgt und führte dort z. B. zu einheitlichen Standards für Icons.

Sonstiges

[Bearbeiten |Quelltext bearbeiten]

In den frühen 1990er-Jahren war die komplette X11-Distribution oft die größte Datei (rund 10 bis 50 MB) auf Unix-Rechnern. Da sie zudemfrei war, wurde sie gerne alsMailbombe verwendet oder zumindest damit gedroht. „Soll ich Dir ein X11R3 schicken“ war daher imUsenet einRunning Gag, umNewbies auf Fehlverhalten hinzuweisen.

Die X11-Farben sind heute Grundlage der Farbnamen inCSS.

Siehe auch

[Bearbeiten |Quelltext bearbeiten]

Literatur

[Bearbeiten |Quelltext bearbeiten]

Weblinks

[Bearbeiten |Quelltext bearbeiten]
Commons: X Window System – Sammlung von Bildern, Videos und Audiodateien
Wikibooks: Guide to X11 – Lern- und Lehrmaterialien (englisch)

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. 7.7. (abgerufen am 5. April 2024).
  2. X11R7.x - X Window System Version 11 Release 7.x ongoing development. (abgerufen am 5. April 2024).
  3. André von Raison: GNOME 49 schickt X11 in Rente. 9. Juni 2025, abgerufen am 18. Juni 2025. 
  4. Thorsten Leemhuis: Aus für Xorg: Ubuntu Desktop 25.10 nur noch mit Wayland. 10. Juni 2025, abgerufen am 18. Juni 2025. 
  5. Liam Proven: Ubuntu 25.10 and Fedora 43 to drop X11 in GNOME editions. 12. Juni 2025, abgerufen am 18. Juni 2025. 
  6. Ferdinand Thommes: X.org-Server-Fork: Neues Leben für X11 oder Weigelts Agenda? 17. Juni 2025, abgerufen am 18. Juni 2025. 
  7. Jürgen Seeger: Das X Window System wird 30. Am 19. Juni 1984 lief der erste Prototyp des netzweiten, grafischen Fenstersystems X, das bis heute Standard auf Unix- und Linux-Systemen ist. In: Heise online. 20. Juni 2014, abgerufen am 20. Juni 2014. 
  8. The X Window System. In:Guidebook, Stand: 25. Juni 2005 (englisch); ursprünglich in derByte, Ausgabe 1/89, S. 353–360; abgerufen am 31. Mai 2013.
  9. Michael Larabel: NetBSD On The State & Future Of X.Org/X11. In: Phoronix. 4. Mai 2024, abgerufen am 27. Oktober 2025 (englisch): „NetBSD maintains their X.Org stack as a somewhat fork of the X.Org codebases including with their own BSD makefile build system use, their "xsrc" repository that is a regularly-updated fork of the upstream X.Org code, and various X.Org DDX driver differences.“ 
  10. Thorsten Leemhuis: Linux: Simple Wayland-Umgebung soll Xorg beerben. In:Heise online. 30. Juni 2025. Abgerufen am 27. Oktober 2025.; Zitat: „Das neue "Wayback" soll den Betrieb von auf X11 angewiesenen Desktop-Umgebungen ermöglichen und so mittelfristig Xorg ersetzen.“.
  11. Michael Plura: Aufgesperrt: Root-Rechte mit X.Org – iX Magazin. In: heise.de. 29. Oktober 2018, abgerufen am 29. Oktober 2018. 
  12. The Invisible Things Lab’s blog: The Linux Security Circus: On GUI isolation. In: theinvisiblethings.blogspot.com. 23. April 2011, abgerufen am 28. Oktober 2018. 
  13. Linux und BSD: Sicherheitslücke in X.org ermöglicht Root-Rechte. Golem.de, abgerufen am 15. März 2025. 
  14. An LBX Postmortem. Keithp.com, Stand: 2000 (englisch) abgerufen am 31. Mai 2013.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=X_Window_System&oldid=263198909
Kategorien:

[8]ページ先頭

©2009-2026 Movatter.jp