Zum Inhalt springen

X Window System

Aus Foxwiki

X Window System - Beschreibung

Beschreibung

Entwicklung

X wurde 1984 im Projekt Athena in Zusammenarbeit des MIT, DEC und IBM entwickelt.[1] 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.[2] 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 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

Mögliche Fensterverteilung durch einen X11-Fenstermanager
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, 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 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

Das in der Großrechner-Welt bekannte, textbasierte Terminal-System (dort meistens proprietäre wie IBM 5250 und 3270; unter Digitals 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 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 von 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-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

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

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
Info-Pages

Links

Projekt

Weblinks

  1. Xlib Programming Manual. O’Reilly & Associates
  2. Vorlage:Wikibooks
  3. X.Org Foundation
  4. XFree86 Project, Inc
  5. Fresco – a windowing system
  6. Die Woche: Das Ende von X11? c’t


  1. The X Window System. In: Guidebook, Stand: 25
    • Juni 2005 (englisch); ursprünglich in der Byte, Ausgabe 1/89, S. 353–360; abgerufen am 31
    • Mai 2013.