X Window System/Technik: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „]]]]“ durch „]]“ |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Technik == | == Technik == | ||
[[Datei:Some X windows.svg|mini|Mögliche Fensterverteilung durch einen X11-[[Fenstermanager | [[Datei:Some X windows.svg|mini|Mögliche Fensterverteilung durch einen X11-[[Fenstermanager]] | ||
[[Datei:Xframe (en).png|mini|X11-Fensterelemente, Beispiel mit Fenstermanager [[FVWM|FVWM2 | [[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]] | Der X-Server steuert die Ein- und Ausgabegeräte wie unter anderem [[Zeigegerät]]e (z. B. [[Computermaus|Maus]]), Tastatur, Bildschirm und [[Grafikkarte]] | ||
| Zeile 8: | Zeile 8: | ||
Die Darstellung bei X ist die eines [[Rastergrafik]]-basierten [[Fenstermanager]]s, der verschiedene Funktionen bereitstellt | 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, | * Dazu gehört das Zeichnen und Bewegen der Fenster, die ereignisorientierte Handhabung eines Zeigegeräts, beispielsweise 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 | * 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 | 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 | * 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 beispielsweise Menüs und Buttons übernimmt | ||
* Siehe dazu auch [[Desktop-Umgebung]] | * Siehe dazu auch [[Desktop-Umgebung]] | ||
| Zeile 19: | Zeile 19: | ||
* Der '''X-Server''' läuft auf dem Rechner am Arbeitsplatz und stellt seine (grafischen) Dienste den X-Clients zur Verfügung | * 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 | * Er enthält den Grafikkartentreiber sowie Treiber für Tastatur, Maus und andere Eingabegeräte (wie beispielsweise 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 | * Der '''X-Client''' ist das Anwendungsprogramm, das die grafischen Ein/Ausgabe-Dienste des X-Servers benutzt | ||
Aktuelle Version vom 18. Juni 2026, 09:49 Uhr
Technik
[[Datei:Some X windows.svg|mini|Mögliche Fensterverteilung durch einen X11-Fenstermanager [[Datei:Xframe (en).png|mini|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, beispielsweise 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 beispielsweise 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 beispielsweise 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
- Das geschieht bei freien Treibern durch die OpenGL- und Vulkan-Implementierung Mesa 3D, im Fall von 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