Anwendungen, die auf einem Rechner laufen, können ihre Ausgaben auf einem anderen Rechner machen. Die einzige Voraussetzung ist das die Rechner durch ein Netzwerk miteinander verbunden sind. Dabei spielt es keine Rolle wie dieses Netz aufgebaut ist. Es kann sich also um ein LAN ( Local Area Network) oder ein WAN ( Wide Area Network) handeln. Das heißt, dass die Rechner auch über das Internet miteinander kommunizieren können.
Eine andere Voraussetzung ist, dass der Rechner auf den Rechner, wo die Ausgaben gemacht werden sollen, eine Zugriffsberechtigung hat.
Beim X-Server handelt es sich um ein Programm, welches alle Eingaben von Tastatur, Maus oder auch anderen Eingabegeräten übernimmt.
Ebenfalls werden durch den X-Server alle Bildschirmausgaben gesteuert. Bei diesen Ausgaben auf dem Bildschirm sind beispielsweise Anweisungen wie Linie zeichnen, Fenster zeichnen oder eine Textausgabe gemeint.
Zusätzlich überprüft ein X-Server ob ein X-Client auf einen Bildschirm zugreifen darf.
Ein Teil des X-Servers ist sehr an die Hardware des jeweiligen Rechners gebunden, auf welchem er gestartet worden ist.
Die Informationen über beispielsweise die Art der Maus, die Bildschirmgröße oder die Art der Tastatur sind für den X-Server zwingend notwendig um eine grafische Benutzeroberfläche lauffähig zu machen.
Programmierer eines X-Clients beziehen sich auf die X-lib (Libary) eines X-Servers.
Jedes Programm, welches auf einem X-Bildschirm ein Fenster darstellen möchte ist ein X-Client. Der X-Client macht Anfragen an den X-Server beziehungsweise bittet den X-Server gewisse Dienste oder Aufgaben für ihn zu übernehmen.
Gestartete X-Clients auf der grafischen Benutzeroberfläche sind auch bekannt als Windowmanager.
Dabei stellt die X-lib die Basis her, die zur Kommunikation mit den X-Servern benötigt wird. Auf der X-lib bauen diverse Toolkits auf. Diese Toolkits beinhalten beispielsweise komplexere Grafikelemente wie Buttons oder Menüs. Für Programmierer wird es einfacher durch diese Toolkits einen X-Client zu programmieren.
Diese Abbildung soll noch einmal das Zusammenspiel zwischen X-Server und X-Client verdeutlichen.
Das X-Protokoll läuft ab, wenn eine Verbindung zwischen einem X-Server und einem X-Client besteht.
Die Abwicklung des X-Protokolls kann entweder innerhalb eines Rechners oder über eine Netzwerkverbindung ablaufen.
Daraus folgt, dass der X-Client und der X-Server nicht zwangsläufig auf der gleichen Maschine laufen müssen.
Über das X-Protokoll werden folgende Protokoll-Messages verschickt.
Vom Client:
Vom Server