Wat hebben de Xclient en Xserver met elkaar te maken?Om te proberen duidelijk te maken wat een X client en een X server is,
zal ik een voorbeeld geven.server: Xterminal(of workstation)
|---| |========|
| | [2] | X |
| | -----> -----> ----> |========|
| |############### Netwerk ###########|--------------|
|---| <---- <----- ----> |--------------|
Vegas [1] Orbital
Xclients draaien De Xserver draait
op Vegas op Orbital
[1] Toetsaanslagen, muis events enz. [2] Grafische output applicatie enz.Vegas is een computer zonder monitor, muis, of toetsenbord; Orbital
heeft wel een scherm, muis en dergelijke. Stel ik wil een programma draaien
op Vegas en ik wil ook nog zien wat het doet (zonder monitor erg lastig).
Wat doe ik dan: ik start een programma op Vegas en zeg dat het display
Orbital:0 is. De Xclient (het programma op Vegas) stuurt X-protocol
verzoeken naar Orbital waar op dat moment een Xserver draait. Als Vegas
permissie heeft op Orbital om daar zijn output te laten zien, dan zal er een
window op Orbital te voorschijn komen.Omdat ik geen toetsenbord op Vegas heb, is het erg lastig om commando's aan
het programma te geven. Maar ik heb een workstation met alles erop en
eraan: als ik iets typ op Orbital dan wordt dat vervolgens (via het
X-protocol) weer verzonden naar de Xclient (het programma op Vegas). Alle
commando's (beweging van de muis, toetsenbord klikken enz...) worden dus
(via het X-protocol) van de Xserver doorgegeven aan de Xclient [1]. De
client stuurt via het X-protocol de grafische output over het netwerk
[2] naar de Xserver waar het vervolgens op het scherm te zien is.Dus om de verwarring nog groter te maken: de Xserver draait op het
workstation (Orbital) en de Xclient op de server (Vegas)!N.B.: Als je nu een programma op je eigen workstation start, dan draait
natuurlijk zowel de Xserver als de Xclient op jouw eigen systeem.Je kunt eigenlijk zeggen dat de Xserver iets aan te bieden heeft,
namelijk een bitmapped display en user-I/O. De Xclient maakt daar gebruik
van. De manier waarop de Xclient met de Xserver communiceert noemt men het
X-protocol.Dus je kunt met X een programma draaien op een ander systeem met het
gevoel dat het op je eigen workstation draait (je gebruikt immers je eigen
muis en scherm). Op dit moment is het netwerk voor de gebruiker volledig
transparant (hij merkt er niets van).