K Textersetzung - „<div style="column-count:3">“ durch „<div style="column-count:2">“
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1:
Zeile 1:
'''{{BASEPAGENAME}}''' - Beschreibung
'''{{BASEPAGENAME}}''' - Beschreibung
== Beschreibung ==
== Beschreibung ==
== Beschreibung ==
[[Datei:Gnome-2.18.1.png|mini|[[Gnome]] 2.18.1]]
[[Datei:Gnome-2.18.1.png|mini|[[Gnome]] 2.18.1]]
Zeile 17:
Zeile 16:
* X schreibt keine spezielle [[Benutzerschnittstelle]] vor, sondern überlässt dies seinen [[Client]]-Programmen
* X schreibt keine spezielle [[Benutzerschnittstelle]] vor, sondern überlässt dies seinen [[Client]]-Programmen
* Deshalb können X-basierte Umgebungen in ihrem Aussehen sehr variieren
* Deshalb können X-basierte Umgebungen in ihrem Aussehen sehr variieren
* Mithilfe von [[Desktop-Umgebung]]en – die bekanntesten, [[K Desktop Environment|KDE]] und [[Gnome]] sind rechts abgebildet – wird dem entgegengewirkt. [[Endanwender]] kommen auf modernen Unix-Desktops mit den Kernprogrammen des X Window Systems kaum noch in Berührung
* Mithilfe von [[Desktop-Umgebung]]en - die bekanntesten, [[K Desktop Environment|KDE]] und [[Gnome]] sind rechts abgebildet - wird dem entgegengewirkt. [[Endanwender]] kommen 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
Frühere Anzeigeprotokolle konnten nur eingebaute oder direkt angeschlossene Anzeigen verwalten
Zeile 27:
Zeile 26:
== Entwicklung ==
== Entwicklung ==
X wurde 1984 im [[Projekt Athena]] in Zusammenarbeit des [[Massachusetts Institute of Technology|MIT]], [[Digital Equipment Corporation|DEC]] und [[IBM]] entwickelt.<ref name="heiseX30y">{{Internetquelle |autor=Jürgen Seeger |url=https://www.heise.de/newsticker/meldung/Das-X-Window-System-wird-30-2235688.html |titel=Das X Window System wird 30 |titelerg=Am 19. Juni 1984 lief der erste Prototyp des netzweiten, grafischen Fenstersystems X, das bis heute Standard auf Unix- und Linux-Systemen ist |werk=[[Heise online]] |datum=2014-06-20 |abruf=2014-06-20}}</ref> Die erste Version wurde am 19
[[X Window System/Entwicklung]]
* 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.<ref>[http://www.guidebookgallery.org/articles/thexwindowsystem ''The X Window System''.] In: ''Guidebook'', Stand: 25
* Juni 2005 (englisch); ursprünglich in der ''[[Byte (Zeitschrift)|Byte]]'', Ausgabe 1/89, S. 353–360; abgerufen am 31
* Mai 2013.</ref> 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 übernahm ''The [[Open Group]]'' die Entwicklung und Standardisierung
* In der gleichen Zeit erreichte die freie X-Implementierung [[XFree86]] 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ündeten [[X.Org Foundation]] wurde fortan eine [[Abspaltung (Softwareentwicklung)|Abspaltung]] des alten XFree86 weiterentwickelt, die unter dem Namen [[X.Org-Server]] größtenteils in dessen Fußstapfen trat
* Seit etwa 2005 gilt er als der meistverbreitete X-Server und damit die meistverbreitete X-Implementierung
== Technik ==
== Technik ==
[[Datei:Some X windows.svg|mini|Mögliche Fensterverteilung durch einen X11-[[Fenstermanager]]]]
[[X_Window_System/Technik]]
[[Datei:Xframe (en).png|mini|X11-Fensterelemente, Beispiel mit Fenstermanager [[FVWM|FVWM2]]]]
Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderem [[Zeigegerät]]e (z. B. [[Computermaus|Maus]]), Tastatur, Bildschirm und [[Grafikkarte]]
* Dazu kommuniziert er in der Theorie mit dem Betriebssystem-[[Kernel (Betriebssystem)|Kernel]], in der Praxis wird der Kernel aber auch umgangen
* Das zugrundeliegende Konzept ist eine Erweiterung des [[Terminal (Computer)|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 [[Fenstermanager]]s, 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 [[Grafisches Primitiv|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
== X-Terminal ==
== X-Terminal ==
Das in der Großrechner-Welt bekannte, textbasierte [[Terminal (Computer)|Terminal]]-System (dort meistens proprietäre wie [[IBM 5250]] und [[IBM 3270|3270]]; unter [[Digital Equipment Corporation|Digitals]] [[Virtual Memory System|VMS]] die bekannten seriellen Terminals wie z. B. [[VT100]]) erlebte seine grafische Weiterentwicklung zum '''X-Terminal'''; ein Rechner, auf dem nichts anderes als ein X-Server<!--sic--> läuft
[[X Window System/Terminal]]
* 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 von [[Personal Computer|PCs]] zurückzugreifen
* Mit dieser können die Funktionen von X-Terminals zum Beispiel in Form von [[Thin Client]] preiswert umgesetzt werden
== 3D-Beschleunigung ==
Um schnelle 2D- und 3D-[[Hardwarebeschleunigung#Grafikkarten|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
* Das geschieht bei freien Treibern durch die [[OpenGL]]- und [[Vulkan (API)|Vulkan]]-Implementierung [[Mesa 3D]], im Fall von [[Binärblob|proprietären Treibern]] durch jeweils proprietäre Implementierungen davon
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
== Installation ==
== Installation ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>
== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
</syntaxhighlight>
Zeile 111:
Zeile 66:
== Anwendung ==
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
# [http://www.fresco.org/ Fresco – a windowing system]
# [http://www.fresco.org/ Fresco - a windowing system]
# [https://www.heise.de/ct/artikel/Die-Woche-Das-Ende-von-X11-1134463.html ''Die Woche: Das Ende von X11?''] [[c’t]]
# [https://www.heise.de/ct/artikel/Die-Woche-Das-Ende-von-X11-1134463.html ''Die Woche: Das Ende von X11?''] [[c’t]]
Aktuelle Version vom 28. Juni 2025, 11:14 Uhr
X Window System - Beschreibung
Beschreibung
Gnome 2.18.1KDE 4.10Xfce 4.6.1Zusammenwirken 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 lokalen xterm (zur Interaktion mit Unix-Shell) und einem entfernten xterm
Deshalb können X-basierte Umgebungen in ihrem Aussehen sehr variieren
Mithilfe von Desktop-Umgebungen - die bekanntesten, KDE und Gnome sind rechts abgebildet - wird dem entgegengewirkt. Endanwender kommen 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