X använder enklient-server-modell: en X server kommunicerar med olika klientprogram och servern accepterar förfrågningar om grafisk output (fönster) och skickar tillbaka användarinput från tangentbord, mus eller pekplatta.
Till skillnad från många fönstersystem är X planerat att endast erbjuda infrastruktur. Själva användargränssnittet tillhandahålls av de enskilda programmen, avprogrambibliotek de använder samtfönsterhanterare och eventuellaskrivbordsmiljöer. Användargränssnittets utseende varierar kraftigt beroende på vilka kombinationer av dessa man använder och hur man konfigurerat dem.
En annan väsentlig egenhet är att X är planerat att vara oberoende avoperativsystem ochprocessorarkitektur och att kunna användas både lokalt och över nätet. Det är vanligt att en X-användare samtidigt kör program på flera datorer av olika typer, och alltså samtidigt ser dessa programs fönster på sin skärm.
Etttillämpningsprogram med ett grafiskt gränssnitt kallas för enX-klient. Detta program kommunicerar via nätet eller någon lokal kommunikationskanal medX-servern, som i sin tur hanterar den lokala grafikhårdvaran, ljudkortet, musen och tangentbordet (eventuellt flera; "multihead" har explicit stöd). X-servern förser klientprogrammet med den information programmet efterfrågat om till exempel tangenttryckningar och ritar efterfrågad text och rutor med grafiskt innehåll.typsnitt kan hanteras helt lokalt av X-servern, med hjälp av en särskild fontserver eller av tillämpningsprogrammet.
I allmänhet används enfönsterhanterare för att koordinera användningen av skärmen mellan de olika X-klienterna, låta användaren flytta fönster, ändra deras storlek, välja vilket fönster som skall vara aktivt och liknande. Ur X-serverns synvinkel är detta program en klient bland andra.
X-klienterna använderprogrambibliotek med en samling grafiska element för att bilda sitt användargränssnitt (t.ex. Xaw, Motif,Qt ellerGTK+). Tillsammans med fönsterhanteraren definierar dessa ganska långt användarens uppfattning av datorns grafiska användargränssnitt. Om alla program använder samma programbibliotek för ändamålet blir intrycket enhetligt. Nuförtiden används ofta så kalladeskrivbordsmiljöer som för enhetligheten och integrationen mellan programmen ett steg längre.
X-servern som körs på datorn där grafiken skall visas startas antingen manuellt eller av endaemon, enskärmhanterare, som också sköter inloggningen. Några kända sådana ärXDM,GDM ochKDM
När X-servrar används somX-terminaler används traditionellt protokolletXDMCP för att göra förfrågningar på ettLAN om vilkavärddatorer som finns tillgängliga. Vid förfrågan används så kalladbroadcast. Då man numera rekommenderar krypterade förbindelser och ocksåtunna klienter har blivit kraftigare har XDMCP delvis ersatts medDHCP ochSSH.
En X-server kan leverera olikafärglägen som talar om för klienten vilka djup och varianter på färg som finns tillgänglig på den aktuella skärmen. En lista över aktuella färglägen kan fås med kommandotxdpyinfo. Dessa lägen är vanliga:
X' namn kommer sig av att det är efterföljaren till ett äldre fönstersystem, kallatW, (W frånWindow; X kommer efter W i det latinskaalfabetet).W Window System var skrivet föroperativsystemet V.
Ett Unix-skrivbord med X så som det kan ha sett ut under tidigt 1990-tal.
Idén till X gjordes 1984 i samarbete mellan Jim Gettys och Bob Scheifler, som båda arbetade vidMIT. Deras behov var ett grafiskt system som kunde koppla samman olika datorer från flera tillverkare. Projektet löste detta genom att skapa ettnätverksprotokoll som kunde köra resurser både lokalt och på en fjärrdator.
Scheifler, Gettys och Ron Newman arbetade på projektet och version 6 släpptes ijanuari1985.Digital Equipment (DEC) som precis skulle släppa sinUltrix-arbetsstation bedömde X som det enda tillgängliga alternativet för ett grafiskt system, och portade X6 till sin QVSS terminal förmicroVAX.
Andra kvartalet 1985 introduceradesstöd för färger i och med vad som skulle komma att bli version 9. MIT beslutade nu att licensera X9 och kommande versioner under vad som blev känt somMIT-licensen. X9 lanserades iseptember 1985.
En grupp vidBrown University portade version 9 tillIBMRT/PC, och för att då lösa tekniska problem skapades nästa version, 10. Allt fler utomstående organisationer efterfrågade nu X. X10R2 (version 10, utgåva 2) släpptes i januari1986 och X10R3 ifebruari samma år. Detta blev den första vitt spridda versionen, när både DEC ochHP släppte produkter som byggde på den. Andra grupper portade versionen tillApollodatorn ochSUN:s arbetsstationer – till och med till IBMPC.
För att verkligen kunna fungera effektivt och kraftfullt på alla hårdvaruplattformar behövdes dock en helt hårdvaruneutral omdesign. MIT hade inte resurser att genomföra denna, men DEC:sWestern Software Laboratory fanns tillgängligt. Där utarbetades version 11, för att släppas under samma licensform som tian. Processen startade i maj 1986. Protokollet var klart i augusti. Mjukvaranalfatestades i februari1987,betatestades i maj och släpptes i skarp version den15 september1987.
Designprocessen av protokollet skedde till stor del genom öppna diskussioner påUsenet, som nu hade börjat kopplas samman viaInternet. X11 är i och med detta ett av de allra första storskaliga projekten kring fri programvara.
Med en förmodad succé för X inför sig ville MIT avsäga sig ansvaret för X, men vid ett möte i juni 1987 mellan nio tillverkare förklarade dessa att de önskade ha en neutral part som hindrade X från att fragmenteras. I januari1988 bildadesMIT X Consortium, som en icke vinstinriktad organisation, med Scheifler som ledare. Konsortiet lanserade uppdateringar till systemet. Den första, X11R2, kom i februari 1988.
1993 bildadesX Consortium, Inc, ett icke vinstinriktat företag, som efterföljare till MIT X-konsortiet. Version X11R6 släpptes16 maj,1994. Man tog över ansvaret förMotif ochCommon Desktop Environment på Unixsystem. Konsortiet upplöstes i slutet av1996, men hann släppa version X11R6.3 samt lämna ett arv av ökat kommersiellt inflytande över projektet.[3][4]
XFree86 utvecklades1992 från x386-servern, skriven för IBM PC-kompatibla datorer och inkluderad med X11R5. XFree86 utvecklades snart till den ledande implementationen ochde facto standard för X som helhet[5].
I maj1999 bildade The Open GroupX.Org, som övervakade de officiella versionerna från X11R6.5.1 och framåt. Utvecklingen av dessa hade tappat farten sedan X-konsortiet upplöstes.[6] och vidareutveckling skedde främst inom ramen för XFree86[7]. Detta projekt anslöts som hedersmedlem, utan avgift, till X.Org.[8].
År2003 hade den installerade basen av X ökat drastiskt i och med populariteten hosLinux, men X.Org förblev inaktivt.[9] På ett antal punkter fanns det dock ett missnöje inom XFree86-projektet. Man började därför diskutera en omorganisation för hur X skulle skötas i framtiden[10][11][12]
Slutligen släpptes XFree86 4.4 i februari2004 med en mer restriktiv licens, som många projekt beroende av X fann oacceptabel[13]. Oenighet om licensen och andra faktorer ledde till en delning[14].
Tidigt år 2004 bildadesX.Org Foundation ("stiftelsen X.Org") av personer frånfreedesktop.org och X.Org. The Open Foundation gav dem kontroll över domännamnetx.org. Detta innebar en markant ändring av skötseln av X. Tidigare hade den legat under olika tillverkargruppers kontroll - detta inkluderar den föregående X.Org. Nu kom utvecklingen att styras av mjukvaruutvecklare och bidrag från utomstående välkomnades. Medlemskap gjordes tillgängligt till individer och företagens medlemskap sker i form av ekonomisk sponsring.
Stiftelsen har bestämmanderätt över X, och tekniska beslut tas genom att man söker konsensus bland medlemmarna. Strukturen liknar den inomGNOME Foundation. X.Org har inga utvecklare anställda.
Stiftelsen släppte X11R6.7 ochX.Org Server, i april 2004. Den senare byggde på XFree86 4.4RC2 (den sista versionen före bytet av licens). Åtskilliga utvecklare lämnade XFree86 och utvecklar nu X.Org Server i stället. Denna har också blivit förstahandsvalet för alla ledande distributioner av Linux.
X11R6.8 släpptes i september 2004. Nya funktioner var preliminär support för genomskinliga fönster och andra sofistikerade visuella effekter, skärmförstoring, tumnaglar, etc. De nya visuella effekterna kräver enkomposit fönsterhanterare.
X11R6.9 och X11R7.0 släpptes21 december2005[15]. X11R6.9 riktade sig till äldre system och X11R6.7 introducerade enmodularisering av X-servern i flera separata projekt[16] X11R7.1 kom cirka fyra månader senare och innebar väsentliga förbättringar.[17]
Wayland är ett försök att skriva ett nytt grafiskt gränssnitt för Linux och på sikt även andra Unix-liknande operativsystem. Wayland bygger på tekniker utvecklade för X.org men är inte en ny implementation av X11-protokollet eller en ny X-server.[18]