I X-fönstersystemet styr en klient-servermodell hur applikationer (klienter) interagerar med displayen (server). Det är inte ett enda program, utan en grundläggande arkitektonisk design.
Här är en uppdelning:
* x server: Detta är kärnkomponenten som körs på skärmmaskinen. Den hanterar skärmhårdvaran (skärm, tangentbord, mus), ritning av grafik, hantering av inmatningshändelser och hantering av fönster. Tänk på det som den centrala "teckningsbrädan" och evenemangshanteraren. Den körs alltid på skärmmaskinen.
* x klienter: Det här är applikationer (som en webbläsare, textredigerare eller spel) som begär X -servern att visa grafik och hantera användarinmatning. De kommer inte direkt åt hårdvaran; Istället kommunicerar de med X -servern via nätverksprotokoll (vanligtvis lokalt, men kan vara på distans). De skickar ritkommandon (t.ex. "Rita en rektangel här") och tar emot händelser (t.ex. "Musklick på denna position").
Hur det fungerar:
1. Kundförfrågan: En X -klient vill visa något. Den skickar en begäran till X -servern över en nätverksanslutning.
2. Serverbehandling: X -servern tar emot begäran, validerar den (säkerhetskontroller etc.) och kör den. Detta innebär att manipulera skärmhårdvaran för att göra det visuella.
3. serverns svar (valfritt): Servern kan skicka tillbaka information till klienten, till exempel att bekräfta förfrågan eller skicka evenemangsmeddelanden (som ett musklick).
4. Visa uppdatering: Ändringar är synliga på skärmen.
Viktiga aspekter av klient-servermodellen i x:
* Nätverksöppenhet: Klienten och servern kan finnas på olika maskiner. Detta gör det möjligt för användare att komma åt applikationer som körs på en kraftfull server från en mindre kraftfull klientmaskin. Detta är grunden för X11 -vidarebefordran (t.ex. med SSH för att komma åt ett fjärrskrivbord).
* Modulär design: Kunder är oberoende av varandra och servern. Nya applikationer kan enkelt läggas till utan att ändra servern.
* Säkerhetskonsekvenser: Eftersom klienter kommunicerar med servern över ett nätverk är säkerheten ett avgörande problem. X11 har mekanismer för att hantera åtkomstkontroll och autentisering.
Sammanfattningsvis är "klient-servern" i X-fönstersystemet inte en specifik applikation utan den underliggande arkitekturen som gör det möjligt för flera oberoende applikationer att interagera med en enda display, potentiellt över ett nätverk. X -servern är den centrala myndigheten som hanterar skärmhårdvaran, och X -klienter är de applikationer som begär tjänster från den.