Systém X Window

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 27. května 2022; kontroly vyžadují 3 úpravy .
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" ).

Model klient-server a transparentnost sítě

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:

Principy konstrukce X

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 .

Uživatelská rozhraní

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.

Implementace

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ály

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.

Rozšíření

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 .

DDC

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.

RANDR

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.

Xrender

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.

tvar

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é.

Xinerama

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í.

xv

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 .

Omezení a kritika X

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í.

Video vybavení

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.

Funkce uživatelského rozhraní

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í .

Síť

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.

Soutěžící X

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:

Historie

Předchůdci

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ů.

Počátky a raný vývoj

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 .

X MIT Consortium a X Consortium, Inc.

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]

Otevřená skupina

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.

X.Org a XFree86

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 .

Nadace X.Org

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 . 

Další vývoj

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í.

Název

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 ").

Historie vydání

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:

  • RandR 1.2: RandR 1.2 nabízí výstup hotplug, stejně jako on-the-fly rekonfiguraci výstupu a přepínání režimů.
  • Input hotplug: Input hotplug umožňuje připojení vstupních zařízení za provozu a také přidává rozšířenou podporu pro dotykové obrazovky a tablety prostřednictvím HAL nebo D-Bus.
  • KDrive: Byla provedena řada vylepšení kódové základny KDrive, včetně lepší podpory pro více vstupních zařízení.
  • DTrace: Při spuštění na OpenSolaris je na X serveru k dispozici podpora DTrace, která umožňuje podrobné účtování operací uvnitř serveru.
  • EXA: Na frameworku EXA bylo odvedeno mnoho práce, aby byl lépe použitelný.
  • Nové aplikace: xbacklight
  • Nové ovladače: xf86-video-glide, xf86-video-vermilion
  • Nové manuálové stránky pro API: libXinerama, libXcomposite, funkce XKB v libX11, funkce Xtest v libXtst
  • Podpora pro adresáře katalogu písem v cestě písem
  • xdm: Přidána podpora Xft [41] .
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 .

Viz také

Poznámky

  1. http://www.x.org/wiki/Releases/7.7/
  2. https://www.x.org/releases/current/
  3. https://x.org
  4. Licence  . _ Nadace X.Org (březen 2004). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  5. Jim Gettys . Dopis na fórum XFree86 . Datum přístupu: 4. ledna 2007. Archivováno z originálu 29. ledna 2011.
  6. Don Hopkins. Katastrofa X-Windows  . Příručka UNIX-HATERS . Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  7. Hania Jajewska, Mark Menes, Joel McCormack. Proč X není náš ideální okenní systém  // Software – praxe a zkušenosti. - 1990. - T. 20 , č. S2 . Archivováno z originálu 10. září 2014.
  8. Re: X je bolestivé . Získáno 29. června 2006. Archivováno z originálu 6. července 2017.
  9. Často kladené otázky  Xprint . Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  10. terminál airWRX - SVG . Získáno 29. června 2006. Archivováno z originálu 17. prosince 2007.
  11. mako. Financování dobrovolných projektů svobodného softwaru  (anglicky) (15. června 2005). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  12. 1 2 Jim Gettys . Lekce získané z Open Source  (anglicky) (2000). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  13. Šaleh. xstate  (anglicky)  (nedostupný odkaz) (2. dubna 1998). Získáno 29. června 2006. Archivováno z originálu 1. dubna 2004.
  14. Matthew Arnison. Prostředky k X pro Linux: rozhovor s Davidem Dawesem z XFree86.org  (anglicky)  (odkaz není dostupný) (červen 1999). Získáno 29. června 2006. Archivováno z originálu 18. dubna 2002.
  15. Christopher Brown. X11R6.4 Ukázkové změny a obavy implementace  (  nepřístupný odkaz) . Získáno 29. června 2006. Archivováno z originálu 11. srpna 2002.
  16. [https://web.archive.org/web/20070930185501/http://www.xfree86.org/pipermail/forum/2004-February/003945.html Archivováno 30. září 2007 na Wayback Machine [forum] Re : Oznámení: Úprava základní licence XFree86™] Archivovaná kopie (downlink) . Získáno 29. června 2006. Archivováno z originálu 7. září 2005. 
  17. Robert Mitchell. Otázky a odpovědi: X  Factor . ComputerWorld (4. února 2002). Získáno 29. června 2006. Archivováno z originálu 23. srpna 2011.
  18. Keith Packard . The Evolution of the X Server Architecture  (anglicky) (1999). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  19. [fórum] Výzva k otevřené správě vývoje X Archivováno z originálu 12. února 2005.
  20. XFree86 se připojuje k X.Org jako čestný  člen . Slashdot (1. prosince 1999). Získáno 29. června 2006. Archivováno z originálu 23. srpna 2011.
  21. [fórum] Výzva k otevřené správě X Development Archivováno 22. prosince 2004.
  22. [fórum] Výzva k otevřené správě vývoje X Archivováno z originálu 6. ledna 2005.
  23. [fórum] Projednávání problémů Archivováno 27. prosince 2004.
  24. [fórum] Další částečný upravený přepis telekonference Archivováno z originálu 12. února 2005.
  25. mharris. Diary for mharris  (anglicky) (9. ledna 2003). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  26. [fórum] Pozvánka na veřejnou diskusi o budoucnosti X Archivováno 12. února 2005.
  27. [fórum] Výzva k otevřené správě vývoje X Archivováno z originálu 12. února 2005.
  28. [fórum] Poznámky z telekonference konané 27. 3. 2003 Archivováno z originálu 12. února 2005.
  29. 1 2 David Wheeler . The Warningary Tale of XFree86  (anglicky)  (downlink) . Udělejte svůj open source software kompatibilní s GPL. Nebo jinak (16. února 2005). Získáno 29. června 2006. Archivováno z originálu 23. dubna 2002.
  30. X11R6.9 a X11R7.0 oficiálně vydány  ( 21. prosince 2005). Získáno 29. června 2006. Archivováno z originálu 23. srpna 2011.
  31. Paul Anderson, Alan Coopersmith, Egbert Eyck, Adam Jackson, Kevin Martin, Keith Packard. Návrh modularizace  (anglicky) (2005). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  32. Navrhované změny pro  X11R7.1 . Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  33. Keith Packard . Getting X Off The Hardware  (anglicky) (2004). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  34. ↑ Uživatel X Window HOWTO : Začínáme  . Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  35. ↑ XFree86 a X11R6.3  . Poznámky k vydání pro XFree86 3.3.6 . Projekt XFree86 (31. prosince 1999). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  36. ↑ Tisková zpráva X - X11R6.4  . Otevřená skupina (31. března 1998). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  37. X.Org Foundation vydává X Window System  X11R6.7 . LWN (7. dubna 2004). Získáno 29. června 2006. Archivováno z originálu 29. ledna 2011.
  38. Změny od  68. _ X.Org Wiki. Získáno 29. června 2006. Archivováno z originálu 23. srpna 2011.
  39. Poznámky k vydání pro  X11R7.1 . Nadace X.Org (22. března 2006). Získáno 29. června 2006. Archivováno z originálu 23. srpna 2011.
  40. ChangesForX11R72  . _ X.Org Wiki. Získáno 15. února 2007. Archivováno z originálu 23. srpna 2011.
  41. 7.3  Poznámky k verzi . Nadace X.Org. Získáno 13. prosince 2007. Archivováno z originálu dne 23. srpna 2011.
  42. X.Org Foundation vydává X7.4 . Získáno 14. února 2009. Archivováno z originálu 1. srpna 2009.
  43. X.Org Foundation vydává X7.5 . Získáno 9. listopadu 2009. Archivováno z originálu 6. července 2010.
  44. X.Org Wiki – Other/Press/X11R76Released . Získáno 1. září 2011. Archivováno z originálu 24. prosince 2010.
  45. X.Org Wiki - Server18Branch . Získáno 1. září 2011. Archivováno z originálu 26. května 2011.
  46. X.Org Wiki - Server19Branch . Získáno 1. září 2011. Archivováno z originálu 31. srpna 2011.
  47. [OZNÁMENÍ] X11R7.7 . Získáno 7. června 2012. Archivováno z originálu 14. srpna 2012.

Literatura

Odkazy

Pozoruhodné implementace
  1. Hledání v internetovém archivu: předmět: "X Window System (počítačový systém)" . archive.org. Staženo: 24. prosince 2016.