X Window System

Från Wikipedia
Hoppa till: navigering, sök
KDE 4.3
GNOME 2.20
Xfce 4.4

X Window System är ett fönstersystem som används som grund för det grafiska användargränssnittet i de flesta Unix-varianter och på Linux. Systemet kan även köras på andra operativsystem, såsom Mac OS, Windows och OS/2. Andra förekommande namn/beskrivningar är kortformen X11 efter numret på den senaste stora versionen av protokollet (även bara X Window System, X eller med revisionsnummer X11R6, även ofta felaktigt kallat för X Windows eller andra varianter).

De idag dominerande implementationerna är X.Org och XFree86.

Arkitektur[redigera | redigera wikitext]

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, av programbibliotek de använder samt fönsterhanterare och eventuella skrivbordsmiljö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 av operativsystem och processorarkitektur 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.

Ett tillämpningsprogram med ett grafiskt gränssnitt kallas för en X-klient. Detta program kommunicerar via nätet eller någon lokal kommunikationskanal med X-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. Fonter kan hanteras helt lokalt av X-servern, med hjälp av en särskild fontserver eller av tillämpningsprogrammet.

I allmänhet används en fö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änder programbibliotek med en samling grafiska element för att bilda sitt användargränssnitt (Xaw, Motif, Qt, GTK+ m.fl.). 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å kallade skrivbordsmiljö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 en daemon, en skärmhanterare, som också sköter inloggningen. Några kända sådana är XDM, GDM och KDM

När X-servrar används som X-terminaler används traditionellt protokollet XDMCP för att göra förfrågningar på ett LAN om vilka värddatorer som finns tillgängliga. Vid förfrågan används så kallad broadcast. Då man numera rekommenderar krypterade förbindelser och också tunna klienter har blivit kraftigare har XDMCP delvis ersatts med DHCP och SSH.

En X-server kan leverera olika fä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 kommandot xdpyinfo. Dessa lägen är vanliga:

  • DirectColor
  • GrayScale
  • PseudoColor
  • StaticColor
  • StaticGray
  • TrueColor

Historik[redigera | redigera wikitext]

Föregångare[redigera | redigera wikitext]

X föregicks av ett antal bitmap-användargränssnitt. Xerox var pionjärer med Alto (1973) och Star (1981). Apple lanserade Lisa (1983) och Macintosh (1984). Unixvärlden hade Andrew Project (1982) och Rob Pikes terminal Blit (1982).

X namn kommer sig av att det är efterföljaren till ett äldre fönstersystem, kallat W, (W från Window; X kommer efter W i det latinska alfabetet). W Window System var skrivet för operativsystemet V.

Ett Unix-skrivbord med X så som det kan ha sett ut under tidigt 1990-tal.

Ursprung[redigera | redigera wikitext]

Idén till X gjordes 1984 i samarbete mellan Jim Gettys och Bob Scheifler, som båda arbetade vid MIT. Deras behov var ett grafiskt system som kunde koppla samman olika datorer från flera tillverkare. Projektet löste detta genom att skapa ett nä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 i januari 1985. Digital Equipment (DEC) som precis skulle släppa sin Ultrix-arbetsstation bedömde X som det enda tillgängliga alternativet för ett grafiskt system, och portade X6 till sin QVSS terminal för microVAX.

Andra kvartalet 1985 introducerades stö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 som MIT-licensen. X9 lanserades i september 1985.

En grupp vid Brown University portade version 9 till IBM RT/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 januari 1986 och X10R3 i februari samma år. Detta blev den första vitt spridda versionen, när både DEC och HP släppte produkter som byggde på den. Andra grupper portade versionen till Apollodatorn och SUN:s arbetsstationer – till och med till IBM PC.

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:s Western 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. Mjukvaran alfatestades i februari 1987, betatestades i maj och släpptes i skarp version den 15 september 1987.

Designprocessen av protokollet skedde till stor del genom öppna diskussioner på Usenet, som nu hade börjat kopplas samman via Internet. X11 är i och med detta ett av de allra första storskaliga projekten kring fri programvara.

MIT X Consortium och X Consortium, Inc.[redigera | redigera wikitext]

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 januari 1988 bildades MIT 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 bildades X Consortium, Inc, ett icke vinstinriktat företag, som efterföljare till MIT X-konsortiet. Version X11R6 släpptes 16 maj, 1994. Man tog över ansvaret för Motif och Common Desktop Environment på Unixsystem. Konsortiet upplöstes i slutet av 1996, men hann släppa version X11R6.3 samt lämna ett arv av ökat kommersiellt inflytande över projektet.[1][2]

The Open Group[redigera | redigera wikitext]

1997 överfördes förvaltningen av X till The Open Group, en tillverkargrupp bildad genom sammanslagningen av Open Software Foundation och X/Open. The Open Group släppte X11R6.4 1998.

X.org och XFree86[redigera | redigera wikitext]

XFree86 utvecklades 1992 från x386-servern, skriven för IBM PC-kompatibla datorer och inkluderad med X11R5. XFree86 utvecklades snart till den ledande implementationen och de facto standard för X som helhet[3].

I maj 1999 bildade The Open Group X.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. [4] och vidareutveckling skedde främst inom ramen för XFree86 [5]. Detta projekt anslöts som hedersmedlem, utan avgift, till X.Org. [6].

År 2003 hade den installerade basen av X ökat drastiskt i och med populariteten hos Linux, men X.Org förbelv inaktivt. [7] 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[8] [9] [10]

Slutligen släpptes XFree86 4.4 i februari 2004 med en mer restriktiv licens, som många projekt beroende av X fann oacceptabel [11]. Oenighet om licensen och andra faktorer ledde till en delning [12].

X.Org Foundation[redigera | redigera wikitext]

Tidigt år 2004 bildades X.Org Foundation ("stiftelsen X.Org") av personer från freedesktop.org och X.Org. The Open Foundation gav dem kontroll över domännamnet x.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 inom GNOME Foundation. X.Org har inga utvecklare anställda.

Stiftelsen släppte X11R6.7 och X.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 en komposit fönsterhanterare.

X11R6.9 och X11R7.0 släpptes 21 december 2005[13]. X11R6.9 riktade sig till äldre system och X11R6.7 introducerade en modularisering av X-servern i flera separata projekt[14] X11R7.1 kom cirka fyra månader senare och innebar väsentliga förbättringar.[15]

Alternativ[redigera | redigera wikitext]

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.[16]

Referenser[redigera | redigera wikitext]

  1. ^ Financing Volunteer Free Software Projects 10 Jun 2005
  2. ^ Lessons Learned about Open Source 2000
  3. ^ Walleij, Linus (2004). ”6”. Att använda GNU/Linux (Första upplagan (en andra upplaga finns)). Lund: Studentlitteratur. sid. 216. http://www.df.lth.se/~triad/gnulinux/ 
  4. ^ Q&A: The X Factor February 04, 2002
  5. ^ The Evolution of the X Server Architecture 1999
  6. ^ A Call For Open Governance Of X Development 23 Mar 2003
  7. ^ Another teleconference partial edited transcript 13 Apr 2003
  8. ^ A Call For Open Governance Of X Development 24 Mar 2003
  9. ^ A Call For Open Governance Of X Development 23 Mar 2003
  10. ^ Discussing issues 14 Apr 2003
  11. ^ XFree86 4.4: List of Rejecting Distributors Grows Feb 18, 2004
  12. ^ X Marks the Spot: Looking back at X11 Developments of Past Year Feb 25, 2004
  13. ^ X11R6.9 and X11R7.0 Officially Released December 21 2005
  14. ^ Modularization Proposal 2005-03-31
  15. ^ Proposed Changes for X11R7.1 2006-04-21
  16. ^ Michael Larabel (3 november 2008). ”Wayland: A New X Server For Linux” (på engelska). Phoronix Media. http://www.phoronix.com/scan.php?page=article&item=xorg_wayland&num=1. 

Externa länkar[redigera | redigera wikitext]