Systém X Window | |
---|---|
Typ | okenní systém |
Vývojář | Nadace X.Org |
První vydání | 1984 |
Nejnovější verze | |
Licence | licence MIT [3] |
webová stránka | x.org |
Mediální soubory na Wikimedia Commons |
X Window System je okenní systém , který poskytuje standardní nástroje a protokoly pro vytváření grafického uživatelského rozhraní . Používá se v operačních systémech podobných UNIXu .
X Window System poskytuje základní funkce grafického prostředí: kreslení a přesouvání oken na obrazovce, interakci se vstupními zařízeními , jako je například myš a klávesnice . X Window System nespecifikuje detaily uživatelského rozhraní - to dělají správci oken , kterých bylo vyvinuto mnoho. Z tohoto důvodu se vzhled programů v prostředí X Window System může značně lišit v závislosti na možnostech a nastavení konkrétního správce oken.
X Window System poskytuje transparentnost sítě : grafické aplikace mohou běžet na jiném počítači v síti a jejich rozhraní bude přenášeno po síti a zobrazeno na místním počítači uživatele. V kontextu X Window System mají pojmy "klient" a "server" následující význam: "server" znamená lokální displej uživatele ( display server ) a "klient" je program, který používá toto zobrazení (může spustit na vzdáleném počítači).
Systém X Window byl vyvinut na Massachusetts Institute of Technology (MIT) v roce 1984 . Od února 2016 se verze protokolu - X11R7.7 - objevila v červnu 2012 . Projekt X vede nadace X.Org Foundation . Referenční (nebo vzorová) implementace ( referenční implementace ) systému je volně dostupná za podmínek licence MPO a podobných licencí [4] .
Systém X Window je často označován jako X11 nebo jednoduše X (hovorově "xes" ).
X Window System používá model klient-server : X server komunikuje s různými klientskými programy. Server přijímá požadavky na zobrazení grafiky (okna) a odesílá zpět uživatelský vstup (z klávesnice , myši nebo dotykové obrazovky ). X server může být:
Protokol , kterým server a klient komunikují, je pro síť transparentní : klient a server mohou být na stejném počítači nebo na různých. Zejména mohou pracovat na různých architekturách pod různými operačními systémy – výsledek bude stejný. Klient a server mohou dokonce bezpečně komunikovat přes internet tunelováním připojení prostřednictvím šifrované síťové relace.
Chcete-li spustit vzdálený klientský program, který odesílá grafiku na lokální X server, uživatel obvykle otevře emulátor terminálu a připojí se ke vzdálenému počítači pomocí telnetu nebo SSH . Poté vydá příkaz určující zobrazení, na které má být grafika vykreslena (například při použití bash ). Nakonec uživatel spustí klientský program. Připojí se k místnímu X serveru a zobrazí grafiku na místní obrazovce a přijme vstup z místních vstupních zařízení. Další možností je použít malý pomocný program, který se připojí ke vzdálenému počítači a spustí na něm požadovanou klientskou aplikaci. export DISPLAY=[имя компьютера пользователя]:0
Použití vzdálených klientů může být užitečné například v následujících situacích:
V roce 1984 Bob Scheifler a Jim Gettys zdokumentovali prvotní principy budování X:
Od té doby se Projekt X těchto zásad do značné míry drží. Demo implementace je navržena tak, aby byla rozšířena a vylepšena a přitom zůstala téměř plně kompatibilní s protokolem z roku 1987 .
X Window System záměrně nespecifikuje, jak má vypadat uživatelské rozhraní aplikace – tlačítka, nabídky, názvy oken atd. Tyto problémy jsou řešeny na úrovni správců oken , sad nástrojů rozhraní , prostředí pracovní plochy a na úrovni jednotlivé aplikace. Z tohoto důvodu se vizuální reprezentace X rozhraní v průběhu času nesmírně vyvíjela.
Správce oken řídí umístění a vzhled oken aplikací. Může produkovat rozhraní podobné Microsoft Windows nebo Macintosh (jako jsou správci oken Kwin v KDE a Metacity v GNOME fungují ), nebo úplně jiný styl (jako například správci oken rámů jako Ion ). Správce oken může být jednoduchý a minimalistický (jako twm , základní správce oken dodávaný s X), nebo může nabízet funkce blízké plnému desktopovému prostředí (jako Enlightenment ).
Mnoho uživatelů používá X spolu s kompletním desktopovým prostředím , které zahrnuje správce oken, různé aplikace a konzistentní styl rozhraní. Nejoblíbenější desktopová prostředí jsou GNOME a KDE . Jednotná specifikace UNIX specifikuje prostředí CDE . Projekt freedesktop.org se pokouší zajistit interoperabilitu mezi různými prostředími a také komponenty potřebné pro konkurenční desktop založený na X.
Referenční implementace od X.Org Foundation, nazvaná X.Org Server , je kanonickou implementací X Window System. Protože je distribuován pod velmi liberální licencí , objevilo se několik jeho druhů ( bezplatných i proprietárních ). Komerční dodavatelé UNIXu často berou demo implementaci a přizpůsobují ji svému vlastnímu hardwaru , obvykle ji značně modifikují a přidávají proprietární rozšíření.
Až do roku 2004 byl projekt XFree86 nejběžnější variantou X pro svobodné operační systémy podobné UNIXu. XFree86 vznikl jako port X na 386 - kompatibilní osobní počítače. Koncem 90. let se tento projekt stal hlavním zdrojem technických inovací v systému X Window a de facto vedl vývoj X [5] . V roce 2004 však XFree86 změnilo licenční podmínky a implementace X.Org Serveru (což je fork XFree86, ale s bezplatnou licencí) se stala běžnější.
Ačkoli X Window System je nejčastěji spojován s UNIXem, X servery mohou existovat i v jiných grafických prostředích. OpenVMS , operační systém Hewlett-Packard , používá verzi X jako své standardní desktopové prostředí spolu s CDE známým jako DECwindows . Apple Mac OS X 10.3 (Panther) a novější obsahuje X11.app , založenou na XFree86 4.3 a X11R6.6, s lepší integrací do Mac OS X.
Microsoft Windows nezahrnuje podporu pro X, ale existují četné implementace třetích stran, a to jak bezplatné ( Cygwin/X , Xming , X-Deep/32 , WeirdMind , WeirdX ), tak proprietární ( Xmanager , WiredX , Exceed , X-Win32 ). Obvykle se používají ke správě vzdálených X klientů.
Pro starší operační systém DOS existuje také implementace X serveru DesqView/X , který již nyní umožňuje vytvářet poměrně jednoduché tenké klienty .
Když X Window System běží uvnitř jiného okenního systému (jako je okenní subsystém Microsoft Windows nebo Mac OS), obvykle běží v režimu okna bez kořenů . To znamená, že kořenové okno (pozadí obrazovky a související nabídky) je spravováno externím okenním systémem, nikoli samotným X Window System. Vnější okenní systém však také řídí geometrii X-oken vytvořených uvnitř. Některé servery (například Exceed, Xming nebo Cygwin/X) však mohou také vytvořit kořenové okno, v takovém případě se klienti objeví v samostatném okně na externím systému.
X terminál je vyhrazený kus hardwaru , který provozuje X server a slouží jako tenký klient . Tato architektura si získala oblibu při budování nízkonákladových terminálových parků, kde mnoho uživatelů sdílí jeden velký aplikační server současně . Toto použití X Window System je v souladu s původními záměry vývojářů z MIT .
X terminály se mohou naučit síť (v rámci lokální vysílací domény ) pomocí protokolu XDMCP a zároveň sestavit seznam hostitelů v síti, ze kterých mohou spouštět klienty. Správce zobrazení X musí být spuštěn v uzlu původu .
V současné době nejsou vyhrazené (hardwarové) X terminály široce používány: obvykle osobní počítač s X serverem poskytuje stejnou funkcionalitu za nižší cenu.
X server se skládá ze sady rozšíření , z nichž každé implementuje určité funkce: od kreslení geometrických primitiv po urychlení zpracování a zobrazování trojrozměrné grafiky pomocí možností video zařízení. Téměř každý z těchto modulů lze vypnout nebo nakonfigurovat v konfiguračním souboru .
VESA Display Data Channel (DDC™) je standard pro výměnu informací mezi monitorem a grafickou kartou , který umožňuje monitoru komunikovat podporovaná rozlišení , obnovovací frekvence , výrobce monitoru atd. Modul DDC podporuje verze 1 a 2 specifikace DDC . V souladu s přijatými daty nastavuje parametry hlavní obrazovky nebo upozorňuje na nesrovnalosti v parametrech zadaných uživatelem.
X Resize, Rotate and Reflect Extension je rozšíření X serveru, které implementuje funkce škálování, otáčení a reflektování kořenového okna. Používá se při změně rozlišení, při dynamické změně monitoru (například při přechodu z vestavěné obrazovky notebooku na externí monitor). Odesílá upozornění spuštěným aplikacím o změnách konfigurace obrazovky.
X Rendering Extension poskytuje funkce pro skládání a zobrazování obrázků na obrazovce. Umožňuje oříznout obrázek, použít barevnou masku pomocí alfa kanálu , použít různé filtry, připravit a zobrazit textové informace a zobrazit základní geometrické tvary.
Rozšíření Shape má zlepšit vzhled uživatelského rozhraní . Mezi jeho rysy patří vrhání stínů prvky rozhraní k vytvoření iluze trojrozměrnosti; okna a tlačítka se zaoblenými hranami; schopnost vytvářet různé tvary jiné než obdélníkové.
Rozšíření Xinerama umožňuje zobrazení více monitorů jako jedna obrazovka. S ním můžete zobrazit konzistentní obraz na velkých obrazovkách složených z mnoha monitorů. Mnoho správců oken v současné době však nepodporuje nebo plně nepodporuje specifikaci Xinerama, a proto při použití tohoto rozšíření zobrazuje neadekvátní zobrazení.
X video extension - rozšíření, které umožňuje urychlit výstup videoklipů na obrazovku pomocí možností grafické karty (nebo spíše jejího ovladače ), a tím snížit zatížení centrálního procesoru . Mnoho grafických karet umožňuje výstup videa ve formátech barevného kódování YUV (YUY2, I420 atd.), které se používají ve standardech analogových barevných televizních systémů PAL , SÉCAM , NTSC , aniž byste je museli nejprve převést na formát přenosu barev displeje. (RGB16 / 24 / 32), stejně jako zpětné překódování. Rozšíření Xv poskytuje informace o dostupných grafických kartách, počtu dostupných portů (každý port může používat pouze jedna aplikace), podporovaných formátech kódování barev. Všechny tyto informace lze zobrazit pomocí nástroje xvinfo .
V The UNIX-HATERS Handbook ( 1994 ) je celá kapitola [6] věnována problémům X na konci 80. a na začátku 90. let 20. století . Článek "Proč X není náš ideální systém oken" [7] ( 1990 ) podrobně pojednává o problémech s protokoly a uvádí doporučení pro zlepšení.
Hranice výkonu grafických výpočetních systémů dnes leží v oblasti nejpokročilejších grafických funkcí. Výrobci hardwaru obvykle implementují tyto pokročilé funkce do proprietárních ovladačů a tyto ovladače jsou obvykle napsány primárně pro systémy Microsoft Windows (jako nejběžnější na spotřebitelském trhu). Ovladače pro mnoho starších grafických karet byly reverzně navrženy projekty XFree86 a X.Org Server . Někteří výrobci však zacházejí se svými vysoce výkonnými videovývoji jako s obchodním tajemstvím nebo jako s patentovanými vynálezy, které nechtějí zveřejnit.
Mnoho současných implementací X řídí video hardware přímo. Nestabilní X server může učinit displej nepoužitelným, i když samotný operační systém nadále normálně funguje; to může vyžadovat restart celého systému. Direct Rendering Infrastructure (DRI) je navržena tak, aby tento problém vyřešila.
X Window System záměrně nezahrnuje specifikace uživatelského rozhraní ani mnoho interakcí mezi programy. Z tohoto důvodu vznikla velmi odlišná rozhraní a také aplikace, které spolu ne vždy správně spolupracují. Existuje specifikace ICCCM Client Interaction Specification , ale je známo, že je obtížné ji správně implementovat. Následné pokusy o standardizaci – jako je sada nástrojů Motif a CDE – věci nevyřešily. To vše brání uživatelům i programátorům [8] . Vývojáři mají v dnešní době tendenci dosáhnout konzistentního stylu napříč aplikacemi tím, že se zaměří na jedno konkrétní desktopové prostředí nebo sadu nástrojů. Také se vyhne přímé práci s ICCCM.
Protokol X neposkytuje v oficiálním balíčku žádné prostředky pro práci se zvukem , existuje však rozšíření protokolu pro použití zvuku v síti . Podpora zvukového zařízení a reprodukce zvuků je odpovědností operačního systému. Protože uživatelé stále více potřebují zvuk, tato situace vedla k různým nekompatibilním audio subsystémům. V minulosti mnoho programátorů ignorovalo problémy se sítí a jednoduše používalo místní zvuková API operačního systému . První generace klient/server zvukových systémů zahrnovala rplay a Network Audio System . Modernější systémy jsou PulseAudio , esound v GNOME a aRts v KDE . Rovněž byl zahájen vývoj nového systému Media Application Server .
X Window System donedávna neobsahoval dobré řešení pro tisk obsahu displejů. Mnoho X klientů tiskne ve formátu PostScript nezávisle na X serveru. Mechanismus Xprint se poprvé objevil v X11R6.3; jeho klientská strana fungovala dobře, na rozdíl od mnoha implementací na straně serveru. Verze X11R6.8 a vyšší fungují normálně [9] a získávají na popularitě v sadách nástrojů uživatelského rozhraní .
V X Window System neexistuje způsob, jak odpojit X klienta nebo relaci od jednoho serveru a připojit je k jinému serveru (jako ve VNC ). Práce na přidání této funkce do X již probíhají. Existují zástupná řešení ( VNC prohlížeče :0 ), která zpřístupňují obrazovku aktuálního X serveru prostřednictvím VNC. Nebo můžete použít připojení X klienta k proxy X serveru ( xpra , guievict , xmove , lbxproxy ).
Data přenášená po síti mezi X serverem a vzdálenými X klienty nejsou ve výchozím nastavení šifrována . Útočník může použít sniffer k zachycení a čtení těchto dat. Aby se tomu zabránilo, X je obvykle tunelováno přes SSH . Většina implementací SSH podporuje tunelování aplikací X, i když někdy jsou tyto funkce ve výchozím nastavení zakázány.
Nezávislost na hardwaru a oddělení klientů od serverů ovlivňuje výkon systému . Transparentnost sítě X vyžaduje, aby klienti a server fungovali odděleně od sebe. V minulosti to výrazně snižovalo výkon samostatného systému – ve srovnání s Microsoft Windows a Mac OS , kde je okenní subsystém zabudován hluboko do samotného operačního systému. Pro běžný provoz X Window System bylo doporučeno 4 až 8 MB RAM – výrazně více (tehdy) než pro Windows nebo Mac OS.
Podle ideologie X Window System je veškeré vykreslování okenních prvků prováděno X serverem. Ale k dnešnímu dni bylo vytvořeno poměrně hodně aplikací (hlavně využívající knihovny jako GTK + a Qt), které vykreslují prvky na straně klienta a přenášejí tyto vykreslené prvky již jako X obraz na server. Současně jsou na síťové kanály kladeny zvýšené požadavky na šířku pásma.
Současné verze Windows a Mac OS X mají interní grafický subsystém oddělení podobné oddělení X klient/server a mají zhruba stejné požadavky na zdroje jako X s KDE nebo GNOME . To je velmi kontroverzní tvrzení, například zatížení procesoru ze strany X serveru výrazně převyšuje zatížení procesoru grafického subsystému Windows . Spotřeba paměti je také znatelně vyšší. Většina režie v X nyní pochází z latence sítě mezi klientem a serverem. Existuje obecná mylná představa, že při lokálním používání X Window System jeho síťové schopnosti (v tomto případě zbytečné) negativně ovlivňují výkon. Ve skutečnosti moderní implementace X v takovém případě používají místní sokety a sdílenou paměť (např . MIT-SHM ), které vyžadují jen velmi malou režii.
Operační systémy podobné UNIXu téměř univerzálně používají X Window System pro grafický výstup. Nicméně historie zná několik pokusů vytvořit alternativu nebo náhradu za X. Mezi nimi: Sun Microsystems ' NeWS , který si na trhu nezískal popularitu, a NeXT Display PostScript , který se později stal Apple Aqua pro Mac OS X.
Tam také byly pokusy vyřešit X problémy tím, že nahradí to úplně; včetně projektů Berlin / Fresco a Y Window System . Tyto projekty však nedostaly prakticky žádnou distribuci. V současné době se rozvíjí projekt zaměřený na snížení systémových požadavků - MicroXwin . Nadace X.org v současné době pracuje na opravě nedostatků v X11 tím, že aktualizuje subsystémy – objevila se zejména podpora více kurzorů, a tedy multitouch, a výrazně byl vylepšen vstupní subsystém, který se stal známým jako Xinput2. , který odstranil omezení na klíčové skenovací kódy . Navzdory tomu se objevují alternativy k X11. Intel je zaneprázdněn zejména vývojem nového protokolu Wayland , který je plánován jako alternativa k X11, ale na rozdíl od X11 neposkytuje vzdálený přístup k aplikacím na úrovni protokolu. Vývojáři Ubuntu plánovali přejít na Wayland ve verzi 13.04, ale později oznámili svůj vlastní vývoj – Mir – vlastní grafický subsystém, což je fork grafického subsystému SurfaceFlinger z OS Android , dále vyvíjeného společností Canonical resources jako nezávislý projekt. V 18. vydání distribuce Fedora je Wayland zahrnut jako volitelný balíček.
Jiní konkurenti se snaží vyhnout režii X tím, že pracují přímo s hardwarem . Příklady takových projektů jsou DirectFB a velmi malý FBUI . Mechanismus Direct Rendering Infrastructure (pokus o vytvoření spolehlivého rozhraní jádra k vyrovnávací paměti videa ) může tyto projekty učinit zbytečnými.
Existují další způsoby, jak dosáhnout síťové transparentnosti grafických služeb:
Před X existovalo několik rastrových zobrazovacích systémů. Z Xeroxu přišli Alto ( 1973 ) a Star ( 1981 ). Lisa ( 1983 ) a Macintosh ( 1984 ) byly vyvinuty v Apple . Ve světě UNIX existoval Blit terminál Roba Pikea ( 1984 ) a projekt Andrew ( 1982 ).
X získalo své jméno jako nástupce W Window System (v latinské abecedě písmeno X bezprostředně následuje za písmenem W). V systému W běžel operační systém V . W používal síťový protokol s podporou terminálových a grafických oken, zatímco server udržoval seznamy displejů.
Původní myšlenka systému X Window vznikla na Massachusetts Institute of Technology (MIT) v roce 1984 jako spolupráce mezi Jimem Gettisem (z projektu Athena ) a Bobem Scheiflerem (z MIT Computer Science Lab). Scheifler potřeboval použitelné zobrazovací prostředí k ladění systému Argus. Projekt Athena (společný projekt mezi DEC , MIT a IBM , který poskytuje studentům snadný přístup k počítačům) potřeboval grafické řešení nezávislé na platformě, které by spojilo jejich heterogenní systémy skládající se z produktů od různých výrobců. V té době pracoval projekt Andrew na Carnegie Mellon University na systému oken, ale nebyly pro něj dostupné žádné licence a neexistovaly žádné alternativy.
Projekt tyto problémy vyřešil vytvořením protokolu , který podporoval jak lokální aplikace, tak volání vzdálených aplikací. V polovině roku 1983 byl původní unixový port W pětkrát pomalejší než systém V . V květnu 1984 Scheifler nahradil synchronní protokol asynchronním a zobrazovací seznamy s přímým grafickým výstupem. Tak přišel X Window System verze 1.x, jeden z prvních okenních systémů, který poskytoval nezávislost na hardwaru .
Scheifler, Gettys a Ron Newman se pustili do práce a X rychle rostl. Verze 6 byla vydána v lednu 1985. DEC , který se v té době připravoval na vydání své první pracovní stanice Ultrix , rozhodl, že X je jediný okenní systém, který lze dokončit včas. Inženýři DEC portovali X6 na displej QVSS na MicroVAX .
Ve druhém čtvrtletí roku 1985 byla implementována podpora barev v X , aby běžela pod DEC VAXstation -II/GPX. Tato verze se stala známou jako verze 9. Dříve MIT licencovalo X6 některým skupinám třetích stran za poplatek. Nyní však bylo rozhodnuto volně distribuovat X9 a budoucí verze pod tím, co je známé jako licence MIT . X9 se objevil v září 1985.
Skupina na Brown University portovala verzi 9 na IBM RT/PC , ale problémy se čtením neuspořádaných dat na RT vedly k nekompatibilní změně protokolu, což vedlo k vydání verze 10 na konci roku 1985. V roce 1986 začaly přicházet požadavky od externích organizací pro použití X. X10R2 byl vydán v lednu 1986, X10R3 v únoru. X10R3 byla první verze, která byla široce přijata; DEC a Hewlett-Packard vydaly produkty založené na něm. Jiné skupiny portovaly X10 na Apollo , na pracovní stanice Sun a dokonce i na IBM PC AT . Ve stejné době Autofact předváděl první komerční aplikaci založenou na X, inženýrském systému, který běží na VAX a je zobrazen na osobních počítačích s X serverem. Nejnovější verze X10 - X10R4 - se objevila v prosinci 1986.
Ačkoli X10 měl některé zajímavé a výkonné funkce, bylo jasné, že protokol X je třeba učinit méně závislým na hardwaru , než se X Window System příliš rozšířil. Samotné MIT by však tak zásadní změnu protokolu nezvládlo. Smokey Wallace z laboratoře DEC WSL a Jim Gettys navrhli, aby DEC WSL vyvinula X11 a dala ji volně k dispozici za stejných podmínek jako X9 a X10. Tento proces začal v květnu 1986; protokol byl hotov v srpnu. Alfa testování softwaru začalo v únoru 1987 ; beta testování - v květnu. Konečně 15. září 1987 byla oficiálně vydána X11.
Návrh protokolu X11, který vedl Scheifler, byl široce diskutován na otevřených mailing listech raného internetu . X lze tedy považovat za jeden z prvních rozsáhlých projektů svobodného softwaru .
V roce 1987 , když se ukázal úspěch X11, si MIT přálo vzdát se další kontroly nad projektem X. Na schůzce devíti prodejců v červnu 1987 však prodejci řekli MIT, že je zapotřebí neutrální strana, aby se zabránilo rozpadu X. trh. V lednu 1988 vznikla nezisková skupina s názvem MIT X Consortium ( MIT X Consortium ). Jejím cílem bylo řídit další vývoj X v neutrální atmosféře s přihlédnutím ke komerčním i vzdělávacím zájmům. Scheifler se stal ředitelem Konsorcia. Jim Fulton a Keith Packard se připojili jako starší vývojáři v lednu a březnu 1988. Ve stejné době Jim pracoval hlavně na Xlib , fontech , správcích oken a utilitách a Keith se zabýval přepracováním serveru. Donna Converse a Chris Peterson se přidali později ten rok; zaměřili se na sady nástrojů a sady rozhraní a úzce spolupracovali s Ralphem Swickem z projektu Athena na MIT . MIT X Consortium vydalo několik významných aktualizací X11; první z nich (X11R2) vyšel v únoru 1988.
V roce 1993 vznikl nástupce MIT X Consortium, nezisková X Consortium, Inc. Pod jejím vedením byla 16. května 1994 vydána verze X11R6. V roce 1995 korporace převzala vývoj sady nástrojů Motif a prostředí CDE pro systémy UNIX . Konsorcium X se rozpadlo na konci roku 1996 s vydáním nejnovější verze X11R6.3 a zanechalo za sebou rostoucí komerční vliv na vývoj. [11] [12]
V polovině roku 1997 X Consortium předalo vedení projektu X skupině The Open Group , která vznikla v roce 1996 sloučením Open Software Foundation a X/Open .
The Open Group vydala X11R6.4 na začátku roku 1998 . S touto verzí bylo rozhodnuto upustit od tradiční liberální licence , protože The Open Group chtěla poskytnout finanční podporu na vývoj X. [13] Nové podmínky zabránily mnoha projektům (jako je XFree86 ) a dokonce i některým komerčním prodejcům přijmout tato verze. Poté , co XFree86 hrozilo, že se rozdělí [14] , The Open Group v září 1998 změnila distribuci X11R6.4 zpět na tradiční licenci . [15] Poslední vydání pod The Open Group bylo X11R6.4 patch 3.
Projekt XFree86 vznikl v roce 1992 ze serveru X386 pro počítače kompatibilní s IBM PC . X386 napsali Thomas Roell a Mark Snitily, darovali jej MIT Consortium X společností Snitily Graphics Consulting Services (SGCS) a v roce 1991 jej začlenili do X11R5 . Postupem času se XFree86 vyvinul z pouhého samostatného portu X na vedoucí a nejoblíbenější implementaci systému a stal se de facto lídrem ve vývoji X. [16]
V květnu 1999 byla X.Org založena The Open Group . X.Org řídil vydání verzí X11R6.5.1 a vyšších. V této době se vývoj X prakticky zastavil [17] ; technická inovace probíhala především v rámci projektu XFree86 [18] . V roce 1999 tým XFree86 vstoupil do X.Org jako čestný člen [19] , povzbuzován různými hardwarovými společnostmi [20] se zájmem o používání XFree86 s Linuxem a jeho statusem nejpopulárnější verze X.
X.Org a XFree86 začaly diskutovat o reorganizaci, aby byl zajištěn plný vývoj X [21] [22] [23] . Jim Gettis prosazuje otevřený model vývoje minimálně od roku 2000 [12] . Gettys, Packard a další začali dlouze diskutovat o změnách, které by byly nutné pro přechod k efektivnímu vývoji open source X.
Až do roku 2003 , kdy popularita Linuxu (a tedy i prevalence X) rostla, X.Org byl nečinný [24] a většina vývoje probíhala v XFree86. Projekt XFree86 trpěl příliš uzavřeným vývojovým modelem: programátoři nemohli získat přístup pro zápis do CVS úložiště a prodejci museli udržovat rozsáhlé sady patchů [25] . V březnu 2003 organizace XFree86 vyloučila Keitha Packarda , který se připojil k XFree86 po zhroucení MIT X Consortium; toto bylo provedeno ve velmi nevlídném prostředí [26] [27] [28] .
Nakonec v únoru 2004 projekt XFree86 vydal verzi 4.4 pod omezenější licencí : přidal klauzuli podobnou klauzuli o reklamě v původní licenci BSD . Mnoho projektů, které se spoléhaly na X, považovalo takovou licenci za nepřijatelnou. FSF a Debian považovaly přidanou klauzuli za neslučitelnou s podmínkami GNU GPL [29] . Jiné skupiny (jako OpenBSD ) se domnívaly, že zavedení dalších licenčních omezení bylo proti původnímu duchu X. Kvůli těmto licenčním problémům vytvořila uzavřenost XFree86 tu správnou atmosféru pro fork .
Na začátku roku 2004 zástupci X.Org a freedesktop.org založili nadaci X.Org Foundation . Otevřená skupina mu dala kontrolu nad názvem domény x.org . To byla změna hry pro vývoj X. Zatímco správci X od roku 1988 (včetně předchozího X.Org) byly organizace prodejců, X.Org Foundation byla založena samotnými vývojáři softwaru a používala otevřený model vývoje založený na vstupech od venku. Členství bylo otevřeno jednotlivcům a firemní členství je prezentováno formou sponzoringu. Nadaci X.Org Foundation v současnosti podporuje několik velkých korporací, jako jsou Hewlett-Packard a Sun Microsystems .
Nadace vydala X11R6.7 - X.Org Server - v dubnu 2004. Tato verze byla založena na XFree86 4.4RC2 (poslední verze XFree86 vydaná pod starou licencí ), s přidanými změnami X11R6.6. Přijetím modelu otevřeného vývoje a zachováním kompatibility s GNU GPL projekt přilákal mnoho bývalých vývojářů XFree86 [29] .
X11R6.8 byla vydána v září 2004. Zahrnoval významné inovace, včetně předběžné podpory průhledných oken a dalších komplexních vizuálních efektů, zvětšování obrazovky a miniatur a integrace s 3D zobrazovacími systémy (jako je projekt Sun's Looking Glass a projekt Croquet ). Zásadu vzhledu poskytují aplikace třetích stran nazývané kompozitní manažeři .
Díky X.Org Foundation a freedesktop.org se vývoj X Window System opět zrychlil. Vývojáři plánují vydat aktuální a budoucí verze jako produkty připravené k použití, a ne pouze jako základ pro produkty vytvořené prodejci.
21. prosince 2005 nadace vydala [30] X11R6.9, monolitický zdrojový strom pro starší systémy, a X11R7.0, stejný zdrojový kód rozdělený do nezávislých modulů, které lze udržovat jako samostatné projekty [31] . Verze X11R7.1 byla vydána 22. května 2006, asi čtyři měsíce po verzi 7.0, a obsahuje významná vylepšení [32] .
V budoucnu se plánuje, že X server bude přistupovat k video hardwaru výhradně prostřednictvím OpenGL a Direct Rendering Infrastructure (DRI) na kombinaci hardwaru a operačních systémů , které takový přístup podporují. Infrastruktura DRI se poprvé objevila v XFree86 verze 4.0 a stala se standardem v X11R6.7 a později [33] . Mnoho operačních systémů začalo přidávat podporu do jádra . Práce v této oblasti pokračují.
Počítačoví experti často zkracují celý název „X Window System“ na „X11“ nebo jednoduše „X“. Výraz „X Windows“ (ve způsobu „ GNU/Linux “ nebo „ Microsoft Windows “) je oficiálně zastaralý a považován za nesprávný, ačkoli byl široce používán od počátku historie X, včetně záměrně pro literární efekt ( například v knize " The UNIX -HATERS Handbook ").
Verze | Datum vydání | Hlavní změny |
---|---|---|
X1 | června 1984 | Název "X" je použit poprvé. Zásadní změny, které odlišují produkt od W . |
X6 | ledna 1985 | První verze licencována několika externím společnostem. |
X9 | září 1985 | Podpora barev. První vydání pod licencí MIT . |
X10 | konec roku 1985 | IBM RT/PC , AT (pod DOSem ) a další. |
X10R2 | ledna 1986 | |
X10R3 | února 1986 | První vydání mimo MIT . uwm se stane výchozím správcem oken . |
X10R4 | prosince 1986 | Nejnovější verze X10. |
X11 | 15. září 1987 | První vydání aktuálního protokolu . |
X11R2 | února 1988 | První vydání pod MIT X Consortium. [34] |
X11R3 | 25. října 1988 | XDM . |
X11R4 | 22. prosince 1989 | XDMCP ; twm se stává standardním správcem oken; vylepšení aplikací; Prodloužení tvaru; nové fonty . |
X11R5 | 5. září 1991 | PEX ; Xcms (správa barev); server písem; X386; rozšíření xvideo . |
X11R6 | 16. května 1994 | ICCCM verze 2.0; Výměna mezi klienty; X Session Management; X synchronizační rozšíření; X rozšíření obrázku; rozšíření XTEST; X vstup; X velkých požadavků; XC-MISC; změny v XFree86 . |
X11R6.1 | 14. března 1996 | X rozšíření Double Buffer; X rozšíření klávesnice; Rozšíření X Record. |
X11R6.2 X11R6.3 (Broadway) |
23. prosince 1996 | funkčnost WWW ; LBX . Nejnovější verze vedená X Consortium. X11R6.2 je podmnožinou X11R6.3, kde jediným rozdílem od R6.1 je implementace vertikálního zápisu Xprint a Xlib a podpora pro uživatelem definované znaky. [35] |
X11R6.4 | 31. března 1998 | Xinerama . [36] |
X11R6.5 | interní vydání X.Org ; nejsou zpřístupněny široké veřejnosti. | |
X11R6.5.1 | 20. srpna 2000 | |
X11R6.6 | 4. dubna 2001 | Opravy chyb ; změny v XFree86. |
X11R6.7.0 | 6. dubna 2004 | První verze X.Org Serveru od X.Org Foundation jako fork XFree86 4.4 RC2. Hlavním důvodem byl nesouhlas některých účastníků projektu s novou licencí XFree86 4.4. Mnoho bývalých vývojářů XFree86 se později připojilo k projektu X.Org Server.
Odstranění XIE, PEX a libxml2. [37] |
X11R6.8.0 | 8. září 2004 | Průhlednost oken; XDamage; Distributed Multihead X; XFixes ; Kompozitní; xevie. |
X11R6.8.1 | 17. září 2004 | Oprava chyby zabezpečení v libxpm . |
X11R6.8.2 | 10. února 2005 | Opravte chyby, aktualizujte ovladače . |
X11R6.9 X11R7.0 |
21. prosince 2005 | Poprvé byl přidán modulární systém sestavení. 6.9.0 stále používal starý systém sestavování Imake , zatímco systémy 7.0.0 již používaly Autotools . V důsledku toho byla z jedné sady zdrojových kódů získána modulární verze 7.0 a monolitická verze 6.9.
EXA , významný refaktoring kódu . [38] |
X11R7.1 | 22. května 2006 | vylepšení EXA; Integrace KDrive ; AIGLX ; vylepšení podpory pro různé operační systémy a platformy. [39] |
X11R7.2 | 15. února 2007 | Odstranění LBX [40] a vestavěného ovladače klávesnice, vylepšení X-ACE , XCB , AutoConfig. |
X11R7.3 | 6. září 2007 | X11R7.3: XServer 1.4, autodetekce zařízení HAL , využití DTrace, podpora domény PCI .
Xorg server 1.4 – další podrobnosti viz Server14Branch. zdůrazňuje:
|
X11R7.4 | 23. září 2008 | XServer 1.5.1, XACE , přepracování PCI, optimalizace EXA, _X_EXPORT, GLX 1.4, rychlejší spouštění a vypínání. [42] |
X11R7.5 | 26. října 2009 | XServer 1.7.0 [43] , Xi 2, XGE, podpora E - EDID , RandR 1.3, MPX , předvídatelná akcelerace ukazatele, použití správce paměti DRI2 , použití SELinux , odstranění zastaralých knihoven a rozšíření. |
X11R7.6 | 20. prosince 2010 [44] | XServer 1.9.0, přechod ze správy zařízení ze subsystému HAL (Hardware Abstraction Layer) na používání knihovny udev, možnost vytvářet konfigurační soubory pro jednotlivá zařízení, změnilo se ABI rozhraní odpovědných za video I/O a některé rozšíření [45] [46] . |
X11R7.7 | 6. června 2012 [47] | XServer 1.12, vícedotyková podpora , vylepšený proces sestavování dokumentace z DocBook XML a počáteční podpora pro GLX a XKB v XCB . |
Systém X Window | |
---|---|
Architektura |
|
Správci oken |
|
Rozšíření |
|
Implementace | |
Normy | |
Aplikace |
|
Bezplatný open source software | |
---|---|
Hlavní věc |
|
Společenství |
|
Organizace | |
licence | |
Problémy | |
jiný |
|
|
otevřené skupiny | Standardy|
---|---|