X Window System

Martin Dobias
(referat na 18.11.04)

Obsah:
Uvod
Architektura
Implementacie
Kritika
Konkurencia
Historia
Oznacovanie
Technicke detaily
Spustenie X
XLib
XFree86
X.Org Foundation
Freedesktop.org
Resources

-=[Uvod]=-

Co je to? X Window system (tiez oznacovany X11 alebo len X) je oknovy system pre bitmapove displeje.

Je to standartny graficky interface na unixovych operacnych systemoch. X poskytuje zakladny framework pre graficke rozhranie - kreslenie a pohybovanie okien na obrazovke, interakcia s mysou, klavesnicou a podobne. Na rozdiel od systemov ako Microsoft Windows, X nie je sucastou systemoveho API a neriadi graficke rozhranie - toto si zabezpecuju programy samotne. Nejednodnost grafickeho rozhrania zapricinuje velku roznorodost grafickych rozhrani programov.

X umoznuje sietovu priehladnost: pocitac, na ktorom aplikacie bezia (klientske aplikacie) nemusia byt na uzivatelovom lokalnom pocitaci (na zobrazovacom serveri). Pouzitie terminov "klient" a "server" v ramci X je opacny ako si ludia vacsinou myslia - kedze "server" je uzivatelov lokalny pocitac ktory obsluhuje aplikacie so vstupom a ich zobrazovanim.

X vzniklo na MIT (Massachusetts institute of technology) v roku 1984. Aktualna verzia X11 bola vydana v semptembri 1987. Prebiehajuci vyvoj X je tento rok (2004) omnoho intenzivnejsi ako za celu svoju historiu a je vedeny X.Org Foundation. Aktualna referencna implementacia je verzia 11 release 6.8.1.

-=[Architektura]=-

X je zalozeny na modele klient-server. Klientka aplikacia bezi na hostitelskom pocitaci a komunikuje s roznymi X servermi beziacich na vzdialenych pocitacoch alebo X terminaloch a akceptuje poziadavky na graficky vystup a uzivatelsky vstup.

Tato klien-server terminologia - tvoj terminal je "server", vzdialene aplikacie su "klienti" - casto pletie novych uzivatelov X, pretoze terminy sa zdaju byt opacne. Ale X sa na to pozera z pohladu programu, nie koncoveho uzivatela alebo harware: vzdialene programy sa pripajaju na X servery beziace na displejoch, ktore su lokalne pre uzivatelov.

Komunikacny protokol medzi serverom a klientom je sietovo priehladny: klientske aplikacie a X server mozu bezat na rovnakom CPU alebo na roznych, bez ohladu na rozne architektury a operacne systemy. Klientska aplikacia a jej rozne X servery mozu dokonca komunikovat bezpecne cez internet pouzitim SSH ktory implementuje forwardovanie portov - takto sa da tunelovat X bezpecne po TCP/IP pripojeni.

Prakticke priklady pouzitia zahrnaju: beh vykonovo narocnej simulacii na vzdialenom unixovom pocitaci a zobrazovanie grafickeho vystupu naraz na niekolkych windowsovych pocitacoch alebo vzdialena graficka administracia pocitaca.

-=[Implementacie]=-

Vseobecne uznavana implementacia X je referencna implementacia X.Org.

Vdaka open-source licencii vzniklo viacero implementacii - objavili sa volne aj proprietarne implementacie zalozene na kode od X.Org. Komercni dodavatelia unixov zvyknu prisposobit referencnu implementaciu X.Org k ich harware a pridavaju vlastne proprietarne rozsirenia. Priklad komercnej implementacie nespojenej s nejakym vyrobcom harware je Accelerated-X (projekt XFree86 vznikol zamerne ako free alternativa k serveru Accelerated-X).

Do roku 2004, vacsina beznych variant X na free unixovych systemoch bol XFree86. Vznikol zo servera X386, ktory bol zahrnuty v referencnej implementacii - preto ten nazov. Momentalne najpopularnejsi open-source X server je referencna implementacia X.Org - vetva projekty XFree86.

Zatial co X je vacsinou asociovany s unixom, X servery mozu nativne existovat aj v ramci inych grafickych rozhrani - napr. Mac OS alebo OS/2. Dokonca aj graficke prostredie Microsoft Windows moze robit X server pri nainstalovani prislusneho software - existuje free implementacia Cygwin/X ako aj komercne (Exceed, X-Win32, ...).

X terminaly
X-ovy terminal je hardware urceny na beh X servera. Tato architektura sa stala popularna pre moznost vytvarania nenakladnych vzdialenych diplejov pre mnoho uzivatelov naraz pouzivajucich rovnaku klientsku aplikaciu.

XDMCP
(X Display Manager Control Protocol) je komunikacny protokol pre X Window System. Umoznuje spustit X terminalovy server v ktorom je prezentovany zoznam pripojitelnych hostitelov, takzvany "XDMCP chooser".

Zoznam moze byt preddefinovany zoznam hostitelov s ich sietovymi adresami alebo ho moze XDMCP server ziskat sietovym broadcastom (vtedy je limitovany podsietou - teda kam sa broadcast dostane).

Pri vyberani hostitela zo zoznamu, X server beziaci na lokalnom pocitaci sa pripoji na X display manager (ako napriklad XDM, GDM alebo KDM) a otvori okno ("X Terminal") na spustenie window managera alebo desktopu na vzdialenom pocitaci, zatial co lokalny pocitac sluzi len na poskytovanie grafickeho vystupu a uzivatelskeho vstupu. Technicky, display manager pocuva na UDP porte 177 a na poziadavky QUERY a BROADCAST_QUERY odpoveda poslanim WILLING paketu.

X-ove terminaly skumaju siet pouzitim XDMCP na pripojenie k specifickym hostitelom na ktorych bezi klientska aplikacia ktora prezentuje zoznam dostupnych hostitelov. Tento server moze ihned ziskat zoznam dostupnych hostitelov pouzitim broadcastu na lokalnej sieti.

X terminaly ako kus hardware sa uz nevyrabaju - funkcia moderneho X terminalu je typicky vytvorena bezdiskovym pocitacom s bootovanim po sieti na ktorom bezi X server.

-=[Kritika X window systemu]=-

Nezavislost na zariadeni a oddelenie klientskych aplikacii a X servera vyzaduje viac prenasanych informacii. Na zle napisanych klientskych aplikaciach to moze viest k znacne nizkemu vykonu. X-ove klientske aplikacie napisane s renderovanymi GUI namiesto bitmapovych GUI typiscky nevykazuju take problemy s vykonom.

(Dnes uz aj Windows a Mac OS X maju rozdeleny interny subsystem na klient/server delenie v X - vacsie pamate a vykony CPU kompenzuju vacsie naroky na zdroje a umoznuju vacsiu flexibilitu a programovatelnost takehoto modelu.)

Podla "mechanizmus, nie vlada" X zamerne neobsahuje specifikaciu k vzhladu aplikacii alebo vacsinu komunikacie medzi aplikaciami. Vysledkom bolo velke mnozstvo roznych rozhrani a aplikacie ktore spolu moc dobre nepracovali. ICCCM, specifikacia pre sucinnost medzi klientmi je znama tym, ze ma komplikovane a matuce API. Dalsie standarty ako Motif a CDE nenapravily tieto zalezitosti. Toto bolo dlho zdroj nespokojnosti uzivatelov a programatorov kvoli GUI ktore neboli dobre navrhnute a implementovane. Zjednotenie konzistencia vzhladu aplikacii a komunikacie sa snazi riesit iniciativa freedesktop.org. Programovanie k nejakemu toolkitu alebo desktopovemu prostrediu pomaha vyhnut sa priamej praci s ICCCM.

Podpora hardware ostava problem - dobry vykon pre grafiku je obstaravany pokrocilymi grafickymi funkciami, ktore su typicky implementovane v proprietarnych driveroch vyrobcov a celkovo pre Windows (kvoli najvacsiemu zaberu na trhu) ako prve.

X neobsahuje dobru podporu pre zvuk. Ako uzivatelia postupne vyzadovali zvuk, viedlo to k viacerym nekompatibilnym zvukovym subsystemom. Vacsina programatorov v minulosti sa rozhodla ignorovat problem zvuku po sieti a jednoducho pouzivali lokalne, OS-specificke zvukove API. Toto je v poriadku pre pracovne stanice, ale neumoznuje mechanizmus pre sietovo-transparentne audio. Snahy projektov KDE a GNOME mali za nasledok vznik dvoch sietovych zvukovych systemov - ESD a ARts, aj ked v ziadnom pripade nie su standardy. Freedesktop.org a X.Org pracuju na vhodnom systeme (MAS), ktory bude sucastou (alebo blizsie pripojeny) X samotneho.

X neobsahuje dobre riesenie na tlacenie toho co vidis na obrazovke. X11R6.3 zahrnulo tlacove rozsirenie, ale nerozsirilo sa prilis. Vacsina X klientov tlaci to PostScriptu uplne oddelene od toho, co posielaju serveru.

X-ovy klient alebo "session" nemozu byt oddelene od jedneho servera a pripojene k inemu ako vo VNC. Pracuje sa na tom, aby sa tato moznost pridala do X.

-=[Konkurencia X]=-

Niektori ludia sa snazili pisat alternativy a nahrady za X. Historicke alternativy zahrnaju NeWS od Sun, ktory neuspel na trhu, a Display PostScript od NeXT, ktory sa casom zmenil na Quartz od Apple ako graficke prostredie pre Mac OS X.

Moderne pokusy kompletnej nahrady X zahranaju projekty Berlin/Fresco a Y Window System. Ale ziadny z tychto systemov sa neuchytil. Momentalne, akakolvek alternativa k X nie je posudzovana ako pravdepodobna nahrada X bez plnej spatnej kompatibility.

Ostatne pokusy na odstranenie nadbytocnej komunikacie pracovali priamo s hardware. Take projekty zahrnaju DirectFB. Modul "Direct Rendering Infrastructure" v X momentalne robi podobnu funkciu.

Dalsie pokusy na dosiahnutie sietovej transparencie vo forme grafickych terminalov su napriklad VNC, Citrix MetaFrame a Tarantella.

-=[Historia]=-

Predchodcovia

Pred X existovalo niekolko bitmapovych zobrazovacich systemov. Boli to Alto (1973) a Star (1981) od Xeroxu. Od Apple prisli Lisa (1983) a Macintosh (1984). V unixovom svete to bol Andrew Project (1982) a Blit (1984).

X ma odvodeny svoj nazov podla svojho predchodcu - W window system (ktory bezal na operacnom systeme V, neskor bol portovany na unix).

Vznik a vyvoj v zaciatkoch

X bol povodne vytvoreny na MIT v roku 1984 ako spolupraca medzi Jimom Gettysom (z Project Athena) a Bobom Scheiflerom (z informatickych laboratorii MIT). Project Athena bol spolocny projekt medzi firmou DEC, MIT a IBM na zjednodusenie pristupu k vypocetnej technike pre vsetkych studentov. Project Athena potreboval graficky system nezavisly na platforme, aby sa mohli prepojit dokopy heterogenne systemy viacerych dodavatelov.

Projekt to vyriesil vytvorenim protokolu, na ktorom mohli bezat lokalne aplikacie a bol schopny volat vzdialene zdroje. X sa zrodil v juni 1984 ked Bob Scheifler nahradil synchronny protokol W window systemu na asynchronny protokol a nahradil zoznam diplejov s okamzitou grafikou a tak vytvoril X verziu 1. X bolo prve okenne prostredie, ktore bolo skutocne hardverovo nezavisle.

X rychlo napredoval, v januari 1985 bola uvolnena verzia 6. Tato verzia bola portovana pocitace VAX od DEC, o par mesiacov boli pridane farby, tym vznikla verzia 9. Verzia 9 bola uvolnena v septembri 1985. Skupina na Brownovej univerzite portovala verziu 9 na IBM RT/PC, ale problemy s citanim nezarovnanych dat na RT vyziadali zmenu protokolu, co viedlo k verzii 10. X10R3 bol vypusteny v januari 1986 a bola to prva verzia na siroke nasadenie. X10R4 bola posledna verzia X10. Zavazne problemy v zakladnom protokole rozhodli o redesigne X predtym, nez bude nasadeny prilis siroko. Velkost takeho projektu ale bola nad dostupne zdroje v MIT samotnom.

Smokey Wallace a Jim Gettys navrhli ze X11 bude volne dostupny pod rovnakymi podmienkami ako predchadzajuce verzie X. Prace prebiehali od maja 1986 do septembra 1987. Design protokolu bol vedeny Bobom Scheiflerom a rozsiahle diskutovany v mailing listoch vznikajuceho Internetu. X preto reprezentuje jeden z uplne prvych velkych open sourcovych sofwarovych projektov.

X Consortium

V roku 1988 zacinal byt uspech X11 viditelny a bolo zalozene (MIT) X Consortium (neziskova skupina), aby riadili dalsi vyvoj X v atmosfere plnej komercnych a vzdelavacich zaujmov. X Consortium vytvorilo niekolko podstatnych revizii v X11, prva bola Release 2 (X11R2) v 1988 a posledna bola Release 6 (X11R6) v roku 1994. Konzorcium sa rozpustilo na konci roku 1996 s vytvorenim finalnej malej revizie, X11R6.3.

The Open Group a X.Org

V polovici 1997, X Consortium predalo vedenie nad X skupine The Open Group, ktora bola zalozena na zaciatku roku 1996 spojenim Open Software Foundation (OSF) and X/Open.

The Open Group vydali X11R6.4 na zaciatku roku 1998. Kontroverzne X11R6.4 odbocovala od tradicnych liberalnych licencnych podmienok, pretoze The Open Group sa snazil zaistit financovanie vyvoja X. Nove podmienky zamedzovali pouzitie v mnohych projektoch (napriklad XFree86) a dokonca niektorym komercnym dodavatelom. Po tom, ako XFree86 hrozil vytvorenim dalsej vetvy, X11R6.4 zmenil v septembri 1998 licenciu na tradicnu.

V maji 1999 Open Group vytvorila X.Org, ktory dohliadal na vydavanie verzii od X11R6.5.1.

The X.Org Foundation

Na zaciatku roku 2004 bola vytvorena X.Org Foundation. Toto vyznacilo radikalnu zmenu v riadeni X. Zatial co dozor nad X od roku 1988 (vratane predchadzajuceho X.Org v T.O.G.) mali firmy, Foundation je vedena softwarovymi vyvojarmi a vyuziva vyvoj v komunite.

X11R6.7 bol vydany v aprili 2004, zalozeny na XFree86 4.4RC2 a X11R6.6. Momentalne a buduce vydania su zamyslane ako pouzitelne hotove produkty, nielen zaklad pre dodavatelov na vytvorenie produktu nad nimi. Referencna implementacia je momentalne vyvijana s ohladom na znacne rozsirenie a vylepsenie implementacie, zatial co ostava takmer uplne kompatibilny s originalnym protokolom z roku 1987.

X11R6.8 a X11R6.8.1 (bezpecnostny fix) boli vydane v semptembri 2004. X11R6.8 pridava vyznamne nove moznosti do X, vratane predbeznej podpory pre priesvitne okna a ostatne sofistikovane vizualne efekty, zvacsovace obrazovky a miniatury, zariadenia na integrovanie s 3D zobrazovacimi systemami ako projekt Looking Glass od Sunu a projekt Croquet. Vizualny vzhlad nie je stanoveny napevno ale je obsluhovany externymi aplikaciami zvanymi kompozicne manazery.

-=[Oznacovanie]=-

"X Window System" je bezne skracovany na "X11" alebo jednoducho X. Termin "X Windows" (v style "Microsoft Windows") je oficialne odmietany a povazovany za nespravny, aj ked sa bezne pouzival od vzniku X.

-=[Technicke detaily]=-

Sluzby X a interakcie protokolov

X server poskytuje len nasledovne veci - vsetko ostatne poskytuju klientske programy:

  • obsluha vstupu: vstup z klavesnice a mysi su posielane klientom ako udalosti cez window manager, ktory - co sa tyka X - je tiez len dalsi klient
  • okenne sluzby: klienti sa dotazuju na server na vytvorenie alebo zrusenie okien, okna mozu byt hierarchicky vnorene. Klienti mozu pozadovat informacie o oknach
  • text a fonty: klienti si ziadaju zobrazenie fontu na danom mieste s danym fontom. Klient moze pozadovat informacie o dostupnych fontoch
  • grafika: klienti ziadaju server aby kreslil body, ciary, utvary alebo robil bitmapove operacie
  • manazment zdrojov: manazer zdrojov poskytuje asociativnu databazu pre klientov. Klienti mozu byt implementovani tak, ze sa daju prisposobit podla systemu a uzivatela.
Existuju 4 typy komunikacie medzi X klientmi a serverom:
  • ziadost: klient pozaduje akciu alebo informaciu
  • odpoved: server odpoveda (nie vsetky ziadosti vytvaraju odpovede)
  • udalost: server posiela udalost klientovi, napr. vstup z klavesnice alebo mysi, pohyb, zmena velkosti alebo zobrazenie okna
  • chyba: server posiela chybovy paket ak je ziadost nespravna (ziadosti su zaradovane do fronty, takze chybovy paket nemusi byt poslany ihned)
X display managery

X display manager udrzuje spusteny proces X serveru na pocitaci, pripaja ho k fyzickej obrazovke a sluzi na zadanie loginu na tejto obrazovke. XDM je implicitny display manager pre X, ale ine projekty vyvinuli svoje vlastne display managery: GDM (pre GNOME), KDM (pre KDE), wdm (pre Window Maker), entrance (pre Enlighment v.17)

Toolkity a desktopove prostredia

X neurcuje ako ma vyzerat uzivatelske rozhranie ako tlacitka, menu, titulky okien a podobne. Tieto zabezpecuje uzivatelsky software ako window managery, toolkity a desktopove prostredia.

Prve toolkity na graficke prvky pre X boli: Xaw, OLIT, XView, Motif, Tk atd. Motif poskytuje zakladny toolkit pre Common Desktop Enviroment (CDE), ktory je standartny desktop enviroment pouzivany v komercnych unixovych systemoch ako Solaris a HP-UX, postupne vsak prechadzaju na GNOME.

Za poslednych par rokov si ziskali pozornost vyvojarov a uzivatelov modernejsie toolkity: Qt (v KDE), GTK+ (v GNOME), wxWidgets, fltk, FOX...

Desktopove prostredia KDE a GNOME poskytuju omnoho lepsiu funkcnost aplikacii a sluzieb nez tie, co ponukaju obycajne window managery alebo starsie desktopove prostredia.

Farebne rezimy v X window systeme

Farby pouzite v X window systeme obcas matu uzivatelov, kedze stare alebo aplikacie so specialnym ucelom mozu pozadovat urcity farebny mod. Vacsina modernych aplikacii pouziva farebny mod zvany "TrueColor", ale historicky X podporoval niekolko roznych modov: DirectColor, GrayScale, PseudoColor, StaticColor, StaticGray, TrueColor

-=[Spustenie X]=-

na spustenie su taketo moznosti:
- prikazom X
- skriptom startx
- pomocou gdm

je mozne pouzivat autorizaciu aki klienti sa mozu spustat na serveri

-=[XLib]=-

komunikacia - cez tcp/ip sokety na porte 6000+d alebo cez unixove sokety v /tmp/.X11-unix/Xd

requesty - sa buffuruju, odosielaju sa az ked sa naplni buffer alebo ked aplikacia zacne cakat na udalosti alebo ked sa da prikaz XFlush alebo XSync (vhodne pri animaciach - ked treba pravidelne updatovat obraz). da sa vypat pomocou XSynchronize - je to vsak ovela pomalsie

replies - na niektore requesty klienta

events - informuju o uzivatelskom vstupe, zmene rozlozenia okien atd. klient najprv posle serveru request so zoznamom udalosti o ktore ma zaujem prijimat (mozu byt aj inych klientov)

errors - ze neuspel nejaky z poziadavkov (nemusi to byt posledny) - XLib ich zachytava v standartnom handleri, vypise chybovu hlasku a program ukonci

Rozlisuju sa nasledujuce systemove zdroje: window, pixmap, colormap, cursor, font, graphical context - odkazuje sa na ne pomocou ID - ak program pozna ID nejakeho zdroja, moze s nim manipulovat - moze teda napriklad kreslit alebo zistovat udalosti v cudzich oknach

properties - X server ma databazu ktorej obsahom su "properties". Property pozostava z mena, typu a obsahu. Properties sa mozu pouzivat na akykolvek ucel - najcastejsie vsak na komunikaciu medzi sebou, window managerom alebo session managerom. Root okno ma specialnu property znamu ako "resource database", ktoru obsluhuje Resource manager. Na pristup do resource database sluzi sada funkci XLib.

fonty - ked klient pozaduje font, X server ho nacita z lokalneho filesystemu alebo aj z font servera na sieti. Vsetci klienti zdielaju dostupne fonty.

Dalsie zdroje ktore zdielaju klienti su bitmapy kurzoru, "backing store" (off-screen pamat na ulozenie skrytych casti okna) a exekucny cas - cas, ktory X server stravi vykonavanim requestov (aplikacia si moze privlastnit server tym, ze ho zahlti poziadavkami).

komunikacia medzi klientmi - mechanizmy popisuje ICCCM (Inter-Client Communication Conventions Manual). komunikacia prebieha cez X server - pomocou "selections" - pouzivaju properties na vymenu dat. Dalsia moznost su "cut buffers" - mozu do nich zapisovat a citat z nich vsetky aplikacie.

window manager - obycajny klient ktory sa stara o top-level okna - prideluje focus, meni umiestnenie okien, pridava ramceky okolo okien atd. XLib ma pre window managery specialne nastroje - "substructure redirection" - ak napr. klient chce zmenit polohu top-level okna tak sa mu to nepodari a poziadavok sa preposle window manageru. Dalsi nastroj je "reparenting" - sluzi na kreslenie ramcekov - klient vytvara okno tak WM vytvori o nieco vacsie okno a to klientove tam vlozi. aby pri ukonceni WM nedoslo k uzavretiu vsetkych okien tak existuje "save-set" do ktoreho WM uklada vsetky spravovane okna, pri ukonceni WM im X server zmeni rodic na root.

Pomocou funkcie v XLibe program pre okno nastavuje properties pre window manager - nazov okna, ikonka, maximalna velkost atd. Takisto sa oknu moze nastavit property ktora oznamuje window manageru ze chce dostavat notifikacie - napr. o tom ze bude ukonceny apod.

session manager - specialny klient ktory obsluhuje kolekciu klientov - napriklad pri nalogovani moze nastartovat nejake programy alebo moze restartovat programy. Ostatni klienti so session managerom takisto komunikuju cez properties.

Extenzie - X bol vymysleny ako rozsiritelny - ktokolvek moze vymyslat nove rozsirenia. Pro rozsirenia sa mozu pouzit ak ich server aj klient podporuju. Ide napriklad o:

  • GLX - interface pre OpenGL - posiela renderovacie prikazy do grafickej karty s 3D akceleratorom
  • Display PostScript (DPS) - klient posiela serveru kusky kodu v PS
  • DGA - Direct Graphics Access - klient pristupuje do videopamati cez framebuffer bez ucasti X serveru
  • DRI - Direct Rendering Interface - umoznuje volat klientovi renderovaci funkcie grafickej karty (pouziva sa vacsinou spolu s rozsirenim OpenGL)
  • XIE - X Image Extension - mechanizmus na prenos a zobrazovanie obrazkov
  • XShm - namapovanie casti grafickej pamate X serveru do sdielanej pamate
  • Shape - umoznuje neobdlznikove okna

-=[XFree86]=-

XFree86 pozostava z klientskych kniznic pre X-ove aplikacie a X server zodpovedny za zobrazovanie. XFree86 server komunikuje s kernelom aby riadil vstupne a vystupne zariadenia s vynimkou grafickych kariet. Graficke karty obsluhuje priamo XFree86, takze zahrna svoje vlastne drivery pre vserky graficke karty, ktore uzivatel moze mat. Niektore karty su podporovane dodavatelmi pomocou binarnych ovladacov.

Od verzie 4.0 podporuje XFree86 niektore graficke karty s 3D akceleratorom cez extenzie GLX a DRI.

Pretoze server vacsinou potrebuje nizkourovy pristup ku grafickemu hardware, na mnozstve konfiguracii musi bezat ako root. Na niektorych systemoch je mozne spustit server ako normalny uzivatel - hovorime o "nerootovom X".

Je tiez mozne pouzivat XFree86 vo framebuffri, ktory naopak pouziva kernelovy driver pre graficku kartu.

Na typickych POSIX-systemoch adresar /etc/X11 obsahuje konfiguracne subory. Zakladny konfiguracny subor je /etc/x11/XF86Config (alebo XF86Config-4), v ktorom su informacie o obrazovke, klavesnici a grafickej karte. Okrem rucnej editacie mozno pouzit programy xf86config, xf86cfg, pripadne dalsie nastroje linuxovych distribucii, ktore su schopne autodetekovat vacsinu nastaveni (Anaconda, YaST).

Projekt XFree86 vznikol v roku 1991 ked skupina programatorov spojila sily na opravovani chyb v zdrojovom kode X11 X386. Kedze novsie verzie X386 boli predavane komercne pod nazvom Accelerated-X, projekt sa premenoval na XFree86 ako slovna hracka (v anglictine :-).

XFree86 mal zaklad tymu zo skusenych vyvojarov vybranych podla zasluh. Kvoli slabemu inovacnemu vykonu sa sami 30.12.2003 rozhodli rozpustit. Este predtym v roku 2003 jeden z vyvojarov (Keith Packard) XFree86 bol odstraneny zo zakladneho tymu, povazovali to za konspiraciu, pretoze sa snazil prilakat vyvojarov na novy X server, ktory vyvijal. Spominany vyvojar to poprel, no tym predlozil mailove konverzacie ktore mal s dalsimi vyvojarmi na tuto temu.

XFree86 4.4 bol vypusteny vo februari 2004 so zmenou licencie. Toto viedlo k mnozstvu kontroverzii a XFree86 4.4 bol vyluceny z mnohych linuxovych distribucii a OpenBSD. Niektore projekty sa "forkli" z verzie 4.4 RC2 - poslednej verzie pod starou licenciou.

Forky XFree:

  • freedesktop.org Xserver - Keith Packard zacal uplne novy projekt zalozeny na X window systeme pod menom Xserver, hostovany na freedesktop.org. Autori maju zamer spravit z neho X server dalsej generacie, iduc inou cestou ako XFree86.
  • The XOrg Foundation Open Source Public Implementation of X11 - je to oficialna implementacia X11 produkovana X.Org. Prva verzia X11R6.7.0 je forknuta z XFree86 4.4 RC2. Nie je dotknuta zmenou licencie spomenej vyssie. Takisto je hostovana na freedesktop.org. XOrg server bol uz adoptovany viacerymi znamymi distribuciami linuxu ako aj vo FreeBSD 5.
  • Xouvert - bola oznamena experimentalna vetva kodu XFree86, no v poslednom case nevykazuje aktivitu.

-=[X.Org Foundation]=-

X.Org Foundation je konzorcium, ktore drzi dohlad nad vyvojom X Window Systemu. Bolo zalozene 22.1.2004 odclenenim z The Open Group (konzorcium zamerane na UNIX-ove systemy, sponzorovane niekolkymi velkymi firmami).

Vytvorenie X.Org Foundation vyznacilo radikalnu zmenu v riadeni X. Zatial co dozor nad X od roku 1988 (vratane predchadzajuceho X.Org v T.O.G.) mali firmy, Foundation je vedena softwarovymi vyvojarmi a vyuziva vyvoj v komunite.

Foundation ma statut ako vedecka nezarobkova institucia. Pociatocne vedenie tvoria Stuart Anderson (Free Standards Group), Egbert Eich (SUSE/Novell), Jim Gettys (HP), Georg Greve (Free Software Foundation Europe), Stuart Kreitman (Sun Microsystems), Kevin Martin (Red Hat), Jim McQuillan (Linux Terminal Server Project), Leon Shiman (Shiman Associates) a Jeremy White (CodeWeavers).

Verejna open sourcova implementacia X11 od X.Org Foundation je referencna implementacia X. Momentalna verzia je X11R6.8.1 a je na freedesktop.org.

-=[Freedesktop.org]=-

freedesktop.org je projekt urceny na pracu na sucinnost a zdielanie zakladnej technologie pre desktopove prostredia pre X Window System na Linuxe a inych unixovych systemoch. Bol zalozeny v roku 2000. Najrozsirenejsie open sourcove X desktopy GNOME a KDE uzko spolupracuju v tomto projekte.

Ciel projektu nie je vydavat formalne standardy. Namiesto toho sa snazi zachytit problemy so spolupracou aplikacii v skorsej fazi projektu. Toto zahrna zbieranie existujucich specifikaci a standardov vztiahnutych k sucinnosti X-ovych aplikacii, propagacia vyvoja novych specifikacii a standardov, integrovanie standardov, sluzit ako neutralne forum napadov o technologii X, komunikacia medzi vyvojarmi open source kernelov, X window systemu a free OS distribucii, poskytovat CVS, hosting, mailing listy a dalsie zdroje pre projekty ktore pracuju na tychto cieloch.

Okrem hostingu oficialnej referencnej implementacie X11 od X.Org Foundation hostuje este radu dalsich projektov zameranych na X window system

-=[Resources]=-

http://www.wikipedia.org/
http://www.tldp.org/HOWTO/XWindow-Overview-HOWTO/index.html
http://www.ms.mff.cuni.cz/~beran/vyuka/X/
http://www.root.cz/clanek/2119
http://csrc.nist.gov/publications/nistpubs/800-7/node62.html
http://www.x.org/
http://freedesktop.org/XOrg