X Window System | |
---|---|
Típusú | ablakrendszer |
Fejlesztő | X.Org Alapítvány |
Első kiadás | 1984 |
legújabb verzió | |
Engedély | MIT engedély [3] |
Weboldal | x.org |
Médiafájlok a Wikimedia Commons oldalon |
Az X Window System egy ablakrendszer , amely szabványos eszközöket és protokollokat biztosít a grafikus felhasználói felület felépítéséhez . UNIX -szerű operációs rendszerekben használatos .
Az X Window System biztosítja a grafikus környezet alapvető funkcióit: ablakok rajzolását és mozgatását a képernyőn, interakciót beviteli eszközökkel , például egérrel és billentyűzettel . Az X Window System nem határozza meg a felhasználói felület részleteit – ezt az ablakkezelők teszik meg, amelyek közül sokat fejlesztettek. Emiatt a programok megjelenése az X Window System környezetben nagymértékben változhat az adott ablakkezelő képességeitől és beállításaitól függően.
Az X Window System hálózati átlátszóságot biztosít : a grafikus alkalmazások futhatnak a hálózat másik gépén , interfészük a hálózaton keresztül továbbítódik, és megjelenik a felhasználó helyi gépén. Az X Window System kontextusában a "kliens" és a "szerver" kifejezések jelentése a következő: "szerver" a felhasználó helyi képernyőjét jelenti ( megjelenítő szerver ), a "kliens" pedig azt a programot, amely ezt a képernyőt használja (lehet távoli számítógépen futtatható).
Az X Window System-et a Massachusetts Institute of Technology -ban (MIT) fejlesztették ki 1984 -ben . 2016 februárjától a protokoll verziója - X11R7.7 - 2012 júniusában jelent meg . Az X projektet az X.Org Alapítvány vezeti . A rendszer referencia (vagy példaértékű) megvalósítása ( referencia implementáció ) szabadon elérhető az MIT licenc és a hasonló licencek [4] feltételei szerint .
Az X Window System-et gyakran X11 -nek vagy egyszerűen X -nek (köznyelvben "xes"-nek ) nevezik.
Az X Window System kliens-szerver modellt használ: az X szerver különféle kliensprogramokkal kommunikál . A szerver elfogadja a grafikus megjelenítési kéréseket (Windows), és visszaküldi a felhasználói bevitelt (a billentyűzetről , az egérről vagy az érintőképernyőről ). Az X szerver lehet:
A protokoll , amellyel a szerver és a kliens kommunikál, transzparens a hálózat számára : a kliens és a szerver lehet ugyanazon a gépen vagy különbözően. Különösen különböző architektúrákon dolgozhatnak különböző operációs rendszerek alatt – az eredmény ugyanaz lesz. A kliens és a szerver még az interneten keresztül is biztonságosan kommunikálhat , ha a kapcsolatot titkosított hálózati munkameneten
keresztül alagútba vezeti .
Egy távoli kliensprogram futtatásához, amely grafikát ad ki egy helyi X-kiszolgálóra, a felhasználó általában megnyit egy terminálemulátort , és telnet vagy SSH használatával csatlakozik a távoli géphez . Ezután kiad egy parancsot, amely meghatározza, hogy melyik képernyőre kell rajzolni a grafikát (például bash használatakor ). Végül a felhasználó elindítja az ügyfélprogramot. Csatlakozik a helyi X kiszolgálóhoz, és megjeleníti a grafikát a helyi képernyőn, és fogadja a bemenetet a helyi beviteli eszközökről. Egy másik lehetőség egy kis segédprogram használata, amely csatlakozik egy távoli géphez, és futtatja rajta a kívánt kliens alkalmazást. export DISPLAY=[имя компьютера пользователя]:0
A távoli kliensek használata hasznos lehet például a következő helyzetekben:
1984 -ben Bob Scheifler és Jim Gettys dokumentálta az X épület korai alapelveit:
Azóta a Project X nagyrészt betartja ezeket az elveket. A demó megvalósítást úgy tervezték, hogy kibővítsék és javítsák, miközben szinte teljesen kompatibilisek maradnak az 1987 -es protokollal .
Az X Window System szándékosan nem határozza meg, hogyan nézzen ki egy alkalmazás felhasználói felülete – gombok, menük, ablakcímek stb. Ezeket a problémákat az ablakkezelők , az interfész eszközkészletek , az asztali környezetek és az egyedi alkalmazások. Emiatt az X interfészek vizuális megjelenítése hatalmasat fejlődött az idők során.
Az ablakkezelő szabályozza az alkalmazásablak elhelyezését és megjelenését. Képes létrehozni a Microsoft Windowshoz vagy a Macintoshhoz hasonló felületet (például a Kwin ablakkezelők a KDE -ben és a Metacity a GNOME -ban ), vagy teljesen más stílust (például keretablakkezelőket , mint például az Ion ). Az ablakkezelő lehet egyszerű és minimalista (mint például a twm , az X-szel együtt szállított alapvető ablakkezelő), vagy kínálhat a teljes asztali környezethez közeli funkcionalitást (például az Enlightenment ).
Sok felhasználó az X-et egy teljes asztali környezettel együtt használja , amely ablakkezelőt, különféle alkalmazásokat és konzisztens interfészstílust tartalmaz. A legnépszerűbb asztali környezet a GNOME és a KDE . A Single UNIX specifikáció határozza meg a CDE környezetet . A freedesktop.org projekt megpróbálja biztosítani a különböző környezetek közötti együttműködést, valamint a versenyképes X-alapú asztali számítógépekhez szükséges összetevőket.
Az X.Org Foundation referencia megvalósítása, az X.Org Server , az X Window System kanonikus megvalósítása. Mivel nagyon liberális licenc alatt terjesztik , számos változata jelent meg ( ingyenes és szabadalmazott is). A kereskedelmi UNIX -szállítók gyakran demó-megvalósítást alkalmaznak, és hozzáigazítják saját hardverükhöz , általában erősen módosítják és saját kiterjesztéseket adnak hozzá.
2004 -ig az XFree86 projekt volt az ingyenes UNIX-szerű operációs rendszerek leggyakoribb X-változata. Az XFree86 az X portjaként jött létre a 386 - hoz – kompatibilis személyi számítógépekhez. Az 1990-es évek végére ez a projekt vált az X Window System műszaki innovációjának fő forrásává, és de facto vezette az X kifejlesztését [5] . 2004-ben azonban az XFree86 megváltoztatta a licencfeltételeket, és az X.Org Server implementációja (ami az XFree86 elágazása , de ingyenes licenccel) elterjedtebbé vált.
Bár az X Window System rendszert leggyakrabban UNIX-hoz társítják, az X szerverek más grafikus környezetekben is létezhetnek. Az OpenVMS , a Hewlett-Packard operációs rendszere az X verziót használja szabványos asztali környezetként, valamint a DECwindows néven ismert CDE -t . Az Apple Mac OS X 10.3 (Panther) és későbbi verziói tartalmazzák az X11.app alkalmazást , amely XFree86 4.3-on és X11R6.6-on alapul, és jobban integrálható a Mac OS X-be.
A Microsoft Windows nem támogatja az X-et, de számos harmadik féltől származó implementáció létezik, ingyenes ( Cygwin/X , Xming , X-Deep/32 , WeirdMind , WeirdX ) és szabadalmaztatott ( Xmanager , WiredX , Exceed , X-Win32 ). Általában távoli X kliensek kezelésére használják.
Az örökölt DOS operációs rendszerhez az X szerver DesqView/X megvalósítása is elérhető , amely már most is lehetővé teszi meglehetősen egyszerű vékony kliensek létrehozását .
Ha az X Window System egy másik ablakrendszeren belül fut (például a Microsoft Windows vagy a Mac OS ablak alrendszerén), általában gyökér nélküli ablak módban fut . Ez azt jelenti, hogy a gyökérablakot (a képernyő hátterét és a hozzá tartozó menüket) a külső ablakrendszer kezeli, nem maga az X Window System. A külső ablakrendszer azonban a benne létrehozott X-ablakok geometriáját is szabályozza. Egyes szerverek (például az Exceed, Xming vagy Cygwin/X) azonban létrehozhatnak gyökérablakot is, ebben az esetben a kliensek külön ablakban jelennek meg a külső rendszeren.
Az X terminál egy dedikált hardver , amely egy X szervert futtat, és vékony kliensként szolgál . Ez az architektúra népszerűvé vált az olcsó terminálparkok építésében, ahol sok felhasználó osztozik egyetlen nagy alkalmazáskiszolgálón egyszerre . Az X Window System ilyen használata jól illeszkedik az MIT fejlesztőinek eredeti szándékaihoz .
Az X terminálok megtanulhatják a hálózatot (a helyi broadcast tartományon belül ) az XDMCP protokoll használatával , miközben összeállítják a hálózat azon gazdagépeinek listáját, amelyekről klienseket indíthatnak. Az X megjelenítéskezelőnek futnia kell az eredeti csomóponton .
Jelenleg a dedikált (hardveres) X terminálokat nem használják széles körben: általában egy X szerverrel ellátott személyi számítógép alacsonyabb költséggel biztosítja ugyanazt a funkcionalitást.
Az X szerver egy sor kiterjesztésből áll , amelyek mindegyike bizonyos funkciókat valósít meg: a geometriai primitívek rajzolásától a feldolgozás felgyorsításáig és a háromdimenziós grafika megjelenítéséig a videoberendezések képességeivel. Ezen modulok szinte mindegyike letiltható vagy konfigurálható a konfigurációs fájlban .
A VESA Display Data Channel (DDC™) a monitor és a grafikus kártya közötti információcsere szabványa , amely lehetővé teszi a monitor számára, hogy kommunikáljon a támogatott felbontásokkal , frissítési gyakorisággal , monitor gyártójával stb. A DDC modul támogatja a DDC specifikáció 1. és 2. verzióját. . A kapott adatoknak megfelelően beállítja a főképernyő paramétereit, vagy figyelmeztet a felhasználó által megadott paraméterek inkonzisztenciájára.
Az X Resize, Rotate and Reflect Extension egy X szerverbővítmény, amely a gyökérablak méretezését, elforgatását és tükrözését valósítja meg. A felbontás megváltoztatásakor, a monitor dinamikus cseréjénél (például a laptop beépített képernyőjéről külső monitorra való váltáskor) használatos. Figyelmeztetéseket küld a futó alkalmazásoknak a képernyő konfigurációs változásairól.
Az X Rendering Extension funkciókat biztosít a képek összeállításához és megjelenítéséhez a képernyőn. Lehetővé teszi a kép kivágását, színmaszk alkalmazását alfa-csatorna használatával, különféle szűrők használatát, szöveges információk előkészítését és megjelenítését , valamint alapvető geometriai alakzatok megjelenítését.
A Shape kiterjesztés célja, hogy javítsa a felhasználói felület megjelenését . Jellemzői közé tartozik az interfész elemekkel történő árnyékvetés a háromdimenziós illúzió megteremtése érdekében; ablakok és gombok lekerekített élekkel; a téglalaptól eltérő formák létrehozásának képessége.
A Xinerama bővítmény lehetővé teszi több monitor egyetlen képernyőként való megjelenítését. Ezzel konzisztens képet jeleníthet meg a sok monitorból álló nagy képernyőkön. Azonban sok jelenleg létező ablakkezelő nem vagy nem teljes mértékben támogatja a Xinerama specifikációt, és ezért nem megfelelő megjelenítést jelenít meg a bővítmény használatakor.
X videobővítmény - egy olyan bővítmény, amely lehetővé teszi a videoklipek képernyőre történő kimenetének felgyorsítását a grafikus kártya (vagy inkább annak illesztőprogramja ) képességeivel, és ezáltal csökkenti a központi processzor terhelését . Számos grafikus kártya lehetővé teszi a PAL , SÉCAM , NTSC analóg színes televíziós rendszerek szabványaiban használt YUV színkódolási formátumokban (YUY2, I420 stb.) videoképek kiadását anélkül, hogy azokat először a kijelző színátviteli formátumára konvertálná. (RGB16 / 24 / 32), valamint a fordított átkódolás. Az Xv kiterjesztés információkat nyújt az elérhető grafikus kártyákról, a rendelkezésre álló portok számáról (minden portot csak egy alkalmazás használhat), a támogatott színkódolási formátumokról. Mindezek az információk megtekinthetők a segédprogrammal . xvinfo
A UNIX-HATERS Handbookban ( 1994 ) egy egész fejezetet [6] szentelnek az X 1980- as évek végén és 1990 -es évek elején fennálló problémáinak . A "Miért X nem az ideális ablakrendszerünk" [7] ( 1990 ) cikk részletesen tárgyalja a protokollproblémákat, és javaslatokat tesz a fejlesztésre.
Manapság a grafikus számítástechnikai rendszerek teljesítményének határa a legfejlettebb grafikus funkciók területén van. A hardvergyártók ezeket a speciális szolgáltatásokat jellemzően saját illesztőprogramokban valósítják meg , és ezeket az illesztőprogramokat általában elsősorban Microsoft Windows rendszerekhez írják (mint a fogyasztói piacon a legelterjedtebbek). Sok régebbi grafikus kártya illesztőprogramjait az XFree86 és az X.Org Server projektek fordították vissza . Egyes gyártók azonban üzleti titokként vagy szabadalmazott találmányként kezelik nagy teljesítményű videós fejlesztéseiket, amelyeket nem akarnak nyilvánosságra hozni.
Az X számos jelenlegi megvalósítása közvetlenül vezérli a videohardvert. Egy instabil X szerver akkor is használhatatlanná teheti a kijelzőt, ha maga az operációs rendszer továbbra is normálisan működik; ehhez szükség lehet a teljes rendszer újraindítására . A Direct Rendering Infrastructure (DRI) ennek a problémának a megoldására készült.
Az X Window System szándékosan nem tartalmazza a felhasználói felület specifikációit , és nem sok programközi interakciót sem tartalmaz. Emiatt nagyon eltérő interfészek jelentek meg, valamint olyan alkalmazások, amelyek nem mindig működnek megfelelően egymással. Létezik egy ICCCM Client Interaction Specification , de ismert, hogy nehéz helyesen megvalósítani. A későbbi szabványosítási kísérletek – mint például a Motif eszköztár és a CDE – nem oldották meg a dolgokat. Mindez akadályozza a felhasználókat és a programozókat is [8] . A fejlesztők manapság hajlamosak egy adott asztali környezetre vagy eszközkészletre összpontosítva egységes stílust elérni az alkalmazások között. Ezenkívül elkerüli az ICCCM-mel való közvetlen együttműködést.
Az X protokoll a hivatalos csomagban nem biztosít semmilyen eszközt a hanggal való munkavégzéshez , de van a protokoll kiterjesztése a hang hálózaton keresztüli használatára . A hangberendezések támogatása és a hangok reprodukálása az operációs rendszer felelőssége. Mivel a felhasználóknak egyre nagyobb szükségük van hangra, ez a helyzet különféle inkompatibilis audio alrendszerekhez vezetett. A múltban sok programozó figyelmen kívül hagyta a hálózati problémákat, és egyszerűen az operációs rendszer helyi hang API -jait használta. A kliens/szerver hangrendszerek első generációjába az rplay és a Network Audio System tartozott . A modernebb rendszerek a PulseAudio , a GNOME - ban az esound és a KDE - ben az aRts . Megkezdődött egy új rendszer, a Media Application Server fejlesztése is .
Egészen a közelmúltig az X Window System nem tartalmazott megfelelő megoldást a kijelzők tartalmának kinyomtatására . Sok X kliens az X szervertől függetlenül PostScript formátumban nyomtat. Az Xprint mechanizmus először az X11R6.3-ban jelent meg; a kliens oldala jól működött, ellentétben sok szerveroldali implementációval. Az X11R6.8 és újabb verziók normálisan működnek [9] , és egyre népszerűbbek a felhasználói felület eszközkészleteiben .
Az X Window Systemben nincs mód az X kliens vagy munkamenet leválasztására az egyik szerverről, és egy másik szerverhez való csatlakoztatására (mint a VNC esetén ). Ennek a funkciónak az X-hez való hozzáadásával kapcsolatos munka már folyamatban van. Vannak olyan megoldások ( VNC nézők :0 ), amelyek az aktuális X szerver képernyőjét elérhetővé teszik VNC-n keresztül. Vagy használhat X kliens kapcsolatot egy proxy X szerverrel ( xpra , guievict , xmove , lbxproxy ).
Az X szerver és a távoli X kliensek között a hálózaton keresztül továbbított adatok alapértelmezés szerint nincsenek titkosítva . A támadó egy szippantó segítségével elfoghatja és elolvashatja ezeket az adatokat. Ennek megakadályozására az X általában SSH -n keresztül van alagútban . A legtöbb SSH-megvalósítás támogatja az X alkalmazás-alagútkezelést, bár néha ezek a szolgáltatások alapértelmezés szerint le vannak tiltva.
A hardverfüggetlenség és az ügyfelek elválasztása a szerverektől befolyásolja a rendszer teljesítményét . A hálózati átlátszóság X megköveteli, hogy az ügyfelek és a szerver egymástól elkülönítve működjenek. Korábban ez jelentősen csökkentette az önálló rendszerek teljesítményét – a Microsoft Windowshoz és a Mac OS -hez képest , ahol az ablakkezelő alrendszer mélyen magába az operációs rendszerbe van beágyazva. Az X Window System normál működéséhez 4-8 MB RAM javasolt – lényegesen több (akkoriban), mint Windows vagy Mac OS esetén.
Az X Window System ideológiája szerint az ablakelemek megjelenítését az X szerver végzi. De a mai napig elég sok alkalmazás készült (főleg olyan könyvtárak használatával, mint a GTK + és a Qt), amelyek a kliens oldalon renderelnek elemeket, és ezeket a renderelt elemeket már X-képként továbbítják a szerverre. Ugyanakkor megnövekedett sávszélesség-követelményeket támasztanak a hálózati csatornákon.
A Windows és a Mac OS X jelenlegi verziói az X kliens/szerver szétválasztásához hasonló belső grafikus alrendszer-leválasztással rendelkeznek, és nagyjából ugyanazok az erőforrásigények, mint az X KDE vagy GNOME esetén . Ez utóbbi nagyon vitatott kijelentés, például az X szerver oldali CPU-terhelés jelentősen meghaladja a Windows grafikus alrendszerének CPU-terhelését . A memóriafogyasztás is érezhetően magasabb. Az X többletköltségeinek nagy része most a kliens és a szerver közötti hálózati késleltetésből származik. Általános tévhit, hogy az X Window System helyi használatakor a hálózati képességei (ebben az esetben szükségtelen) negatívan befolyásolják a teljesítményt. Valójában az X modern implementációi helyi socketeket és megosztott memóriát használnak ilyen esetekben (pl . MIT-SHM ), ami csak nagyon kevés többletköltséget igényel.
A UNIX-szerű operációs rendszerek szinte univerzálisan az X Window System-et használják grafikus kimenetre. Ennek ellenére a történelem számos próbálkozást ismer az X alternatívájának vagy helyettesítésének létrehozására. Ezek közé tartozik a Sun Microsystems NewWS , amely nem szerzett népszerűséget a piacon, és a NeXT Display PostScript , amely később Apple Aqua lett Mac OS X -re.
Voltak kísérletek arra is, hogy X problémáit úgy oldják meg, hogy teljesen lecserélik; beleértve a Berlin / Fresco és az Y Window System projekteket . Ezek a projektek azonban gyakorlatilag nem részesültek elosztásban. Jelenleg van egy fejlesztési projekt, amelynek célja a rendszerkövetelmények csökkentése - MicroXwin . Az X.org Foundation jelenleg az X11 hibáinak kijavításán dolgozik az alrendszerek korszerűsítésével – különösen megjelent a több kurzor támogatása, így a multitouch, és jelentősen továbbfejlesztették a beviteli alrendszert, amely Xinput2 néven vált ismertté. , amely megszüntette a kulcsok szkennelési kódjaira vonatkozó korlátozásokat. Ennek ellenére az X11 alternatívái vannak kialakulóban. Az Intel különösen az új Wayland protokoll fejlesztésével foglalkozik , amelyet az X11 alternatívájaként terveznek, de az X11-el ellentétben nem biztosít távoli hozzáférést az alkalmazásokhoz protokoll szinten. Az Ubuntu fejlesztői a 13.04-es kiadásban tervezték, hogy áttérnek a Wayland -re, de később bejelentették saját fejlesztésüket - a Mir - saját grafikus alrendszert, amely az Android OS-ből származó SurfaceFlinger grafikus alrendszer elágazása, amelyet a Canonical erőforrásai fejlesztettek tovább önálló projektként. A Fedora disztribúció 18. kiadásában a Wayland opcionális csomagként szerepel.
Más versenytársak megpróbálják elkerülni az X túlterhelését azáltal, hogy közvetlenül a hardverrel dolgoznak . Ilyen projektek például a DirectFB és a nagyon kicsi FBUI . A Direct Rendering Infrastructure mechanizmus (megbízható kernel - interfész létrehozására tett kísérlet a videopufferhez ) szükségtelenné teheti ezeket a projekteket.
Vannak más módok is a grafikus szolgáltatások hálózati átláthatóságának elérésére:
X előtt több raszteres megjelenítési rendszer létezett. A Xeroxtól jött az Alto ( 1973 ) és a Star ( 1981 ). A Lisa ( 1983 ) és a Macintosh ( 1984 ) az Apple -nél készült . A UNIX világban létezett Rob Pike Blit terminálja ( 1984 ) és az Andrew projekt ( 1982 ).
X a W Window System utódjaként kapta a nevét (a latin ábécében az X betű közvetlenül követi a W betűt). A W rendszer a V operációs rendszert futtatta . W hálózati protokollt használt, amely támogatja a terminál- és grafikus ablakokat, míg a szerver a kijelzők listáját vezette.
Az X Window System eredeti ötlete a Massachusetts Institute of Technology -ban (MIT) született 1984 - ben Jim Gettis (az Athena projekt tagja ) és Bob Scheifler (az MIT Computer Science Lab munkatársa) együttműködéseként. Scheiflernek egy használható megjelenítési környezetre volt szüksége az Argus rendszer hibakereséséhez . Az Athena projekt (a DEC , az MIT és az IBM közös projektje, amely a diákok számára könnyű hozzáférést biztosít a számítógépekhez) platformfüggetlen grafikus megoldást igényelt, hogy egyesítsék a különböző gyártók termékeiből álló heterogén rendszereiket. Abban az időben a Carnegie Mellon Egyetem Andrew projektje egy ablakrendszeren dolgozott, de nem álltak rendelkezésre licencek hozzá , és nem léteztek alternatívák.
A projekt megoldotta ezeket a problémákat egy olyan protokoll létrehozásával, amely mind a helyi alkalmazásokat, mind a távoli alkalmazások hívását támogatja. 1983 közepén a W kezdeti UNIX - portja ötször lassabb volt, mint a V rendszer . 1984 májusában Scheifler lecserélte a szinkron protokollt egy aszinkronra, a megjelenített listákat pedig közvetlen grafikus kimenetre. Így jött az X Window System 1.x verziója, az egyik első olyan ablakrendszer, amely hardverfüggetlenséget biztosított .
Scheifler, Gettys és Ron Newman munkához látott, és X gyorsan növekedett. A 6-os verzió 1985 januárjában jelent meg . A DEC , amely akkoriban az első Ultrix munkaállomás kiadására készült , úgy döntött, hogy az X az egyetlen ablakrendszer, amely időben elkészülhet. A DEC mérnökei áthelyezték az X6-ot a MicroVAX QVSS kijelzőjére .
1985 második negyedévében a színtámogatás bevezetésre került az X -ben a DEC VAXstation -II/GPX alatt. Ez a verzió 9-es verzióként vált ismertté. Korábban az MIT térítés ellenében engedélyezte az X6-ot egyes harmadik fél csoportoknak. Most azonban úgy döntöttek, hogy az X9-et és a jövőbeni verziókat szabadon terjesztik az úgynevezett MIT licenc alatt . Az X9 1985 szeptemberében jelent meg.
A Brown Egyetem egyik csoportja a 9-es verziót portolta át az IBM RT/PC -re , de az RT-n lévő rendezetlen adatok olvasásával kapcsolatos problémák a protokoll inkompatibilis változásához vezettek, aminek eredményeként a 10-es verzió 1985 végén megjelent. 1986- ra elkezdtek érkezni a kérések. külső szervezetektől az X használatához. Az X10R2 1986 januárjában, az X10R3 februárban jelent meg. Az X10R3 volt az első változat, amelyet széles körben alkalmaztak; A DEC és a Hewlett-Packard az erre épülő termékeket adott ki. Más csoportok az X10-et az Apollo -ra, a Sun munkaállomásokra, sőt még az IBM PC AT -re is portolták . Ezzel egy időben az Autofact bemutatta az első X-en alapuló kereskedelmi alkalmazást, egy olyan mérnöki rendszert, amely VAX -on fut, és X szerverrel rendelkező személyi számítógépeken jelenik meg . Az X10 legújabb verziója - X10R4 - 1986 decemberében jelent meg.
Bár az X10 rendelkezik néhány érdekes és hatékony funkcióval, világossá vált, hogy az X protokollt kevésbé hardverfüggővé kell tenni, mielőtt az X Window System túlságosan elterjedt. Az MIT azonban önmagában nem tudna kezelni egy ilyen jelentős protokollmódosítást. Smokey Wallace , a DEC WSL labor munkatársa és Jim Gettys azt javasolták, hogy a DEC WSL fejlessze ki az X11-et, és tegye szabadon elérhetővé ugyanazokkal a feltételekkel, mint az X9 és az X10. Ez a folyamat 1986 májusában kezdődött; augusztusban elkészült a jegyzőkönyv. A szoftver alfatesztelése 1987 februárjában kezdődött ; béta tesztelés – májusban. Végül 1987. szeptember 15- én az X11 hivatalosan is megjelent.
A Scheifler által vezetett X11 protokoll tervezése széles körben szóba került a korai Internet nyílt levelezőlistáin . Így az X az egyik első nagyszabású szabad szoftver projektnek tekinthető .
1987- ben , amikor az X11 sikere nyilvánvalóvá vált, az MIT fel akarta adni az X projekt további irányítását, azonban egy 1987 júniusi kilenc szállító találkozóján a gyártók azt mondták az MIT-nek, hogy semleges félre van szükség, hogy megakadályozzák az X szétesését a piac. 1988 januárjában megalakult egy non-profit csoport MIT X Consortium ( MIT X Consortium ) néven. Célja az volt, hogy semleges légkörben, mind a kereskedelmi, mind az oktatási érdekeket figyelembe véve menedzselje az X továbbfejlesztését. Scheifler lett a konzorcium igazgatója. Jim Fulton és Keith Packard vezető fejlesztőként csatlakozott 1988 januárjában, illetve márciusában. Ugyanakkor Jim főként Xlib -en , fontokon , ablakkezelőkön és segédprogramokon dolgozott , Keith pedig a szerver átdolgozásával foglalkozott. Donna Converse és Chris Peterson még abban az évben csatlakozott; az eszközkészletekre és az interfészkészletekre összpontosítottak , és szorosan együttműködtek Ralph Swick-kel, az MIT Athena projektjével. Az MIT X Consortium számos jelentős frissítést adott ki az X11-hez; ezek közül az első (X11R2) 1988 februárjában jelent meg.
1993 - ban megalakult az MIT X Consortium utódja, a nonprofit X Consortium, Inc .. Az ő vezetésével 1994. május 16- án megjelent az X11R6 verzió. 1995 -ben a vállalat átvette a Motif eszközkészlet és a UNIX rendszerek CDE környezetének fejlesztését. Az X Consortium 1996 végén feloszlott, amikor megjelent a legújabb verzió, az X11R6.3, és maga mögött hagyta a növekvő kereskedelmi befolyást a fejlesztésben. [11] [12]
1997 közepén az X Konzorcium átadta az X projekt vezetését a The Open Groupnak , amely 1996 -ban alakult az Open Software Foundation és az X/Open egyesüléséből .
Az Open Group 1998 elején adta ki az X11R6.4-et . Ezzel a verzióval a hagyományos liberális licenc feladása mellett döntöttek , mivel a The Open Group pénzügyi támogatást akart nyújtani az X fejlesztéséhez. [13] Az új feltételek sok projektet (például az XFree86 -ot ), sőt néhány kereskedelmi szállítót is megakadályoztak abban, hogy elfogadják. ezt a verziót. Miután az XFree86 elágazással fenyegetőzött [14] , a The Open Group 1998 szeptemberében visszaállította az X11R6.4 disztribúcióját egy hagyományos licencre. [15] A The Open Group legújabb kiadása az X11R6.4 patch 3 volt.
Az XFree86 projekt 1992 -ben indult az X386 szerverről, IBM PC - kompatibilis számítógépekhez. Az X386-ot Thomas Roell és Mark Snitily írta, a Snitily Graphics Consulting Services (SGCS) adományozta az MIT Consortium X- nek, és 1991 -ben beépítették az X11R5-be . Idővel az XFree86 az X önálló portjából a rendszer vezető és legnépszerűbb implementációjává fejlődött, és az X fejlesztés de facto vezetőjévé vált. [16]
1999 májusában az X.Org -ot a The Open Group alapította . Az X.Org irányította az X11R6.5.1 és újabb verziók kiadását. Ekkor az X fejlődése gyakorlatilag leállt [17] ; műszaki innováció főként az XFree86 projekt [18] keretében valósult meg . 1999 -ben az XFree86 csapata tiszteletbeli tagként lépett be az X.Org-ba [19] , különféle hardvercégek [20] ösztönzésére, akik érdeklődtek az XFree86 Linux alatti használata iránt, és az X legnépszerűbb verziója.
Az X.Org és az XFree86 megkezdte az átszervezés megvitatását az X [21] [22] [23] teljes fejlesztésének biztosítása érdekében . Jim Gettis legalább 2000 óta szorgalmazza a nyílt fejlesztési modellt [12] . A Gettys, a Packard és mások hosszasan tárgyalni kezdték azokat a változtatásokat, amelyek szükségesek a hatékony nyílt forráskódú X fejlesztés felé.
2003 -ig , amíg a Linux népszerűsége (és így az X elterjedése) nőtt, az X.Org alvó volt [24] , és a fejlesztések nagy része az XFree86-ban zajlott. Az XFree86 projekt túlságosan zárt fejlesztési modelltől szenvedett: a programozók nem kaphattak írási hozzáférést a CVS -tárolóhoz, a gyártóknak pedig kiterjedt javításkészleteket kellett karbantartaniuk [25] . 2003 márciusában az XFree86 szervezet kizárta Keith Packardot , aki az MIT X Consortium összeomlása után csatlakozott az XFree86-hoz; ez nagyon barátságtalan környezetben történt [26] [27] [28] .
Végül 2004 februárjában az XFree86 projekt kiadta a 4.4-es verziót egy korlátozottabb licenc alatt: hozzáadott egy záradékot , amely hasonló az eredeti BSD licenc hirdetési záradékához . Sok olyan projekt, amely X-re támaszkodott, elfogadhatatlannak találta az ilyen licencet. Az FSF és a Debian úgy ítélte meg, hogy a hozzáadott záradék nem kompatibilis a GNU GPL [29] feltételeivel . Más csoportok (például az OpenBSD ) úgy vélték, hogy a további licenckorlátozások ellentétesek az X eredeti szellemével. A licencelési problémák miatt az XFree86 zárt természete megfelelő légkört teremtett a fork számára .
2004 elején az X.Org és a freedesktop.org képviselői megalapították az X.Org Alapítványt . Az Open Group átadta neki a domain név x.org irányítását . Míg 1988 óta az X irányítói (beleértve az előző X.Org-ot is) beszállítói szervezetek voltak, addig az X.Org Alapítványt maguk a szoftverfejlesztők alapították, és nyílt fejlesztési modellt használtak, amely a szoftverfejlesztők bemenetére épült. a külső. A tagság megnyílt a magánszemélyek előtt, a vállalati tagság pedig szponzorálás formájában jelenik meg. Az X.Org Alapítványt jelenleg több nagyvállalat, például a Hewlett-Packard és a Sun Microsystems támogatja .
Az Alapítvány 2004 áprilisában kiadta az X11R6.7 - X.Org Server -t. Ez a verzió az XFree86 4.4RC2-n alapult (az XFree86 utolsó verziója, amelyet a régi licenc alatt adtak ki ), X11R6.6 módosításokkal. A nyílt fejlesztési modell elfogadásával és a GNU GPL kompatibilitás fenntartásával a projekt számos korábbi XFree86 fejlesztőt vonzott [29] .
Az X11R6.8 2004 szeptemberében jelent meg. Jelentős újításokat tartalmazott, beleértve az átlátszó ablakok és más összetett vizuális effektusok előzetes támogatását, a képernyőnagyítókat és miniatűröket, valamint a 3D megjelenítő rendszerekkel való integrációt (például a Sun Looking Glass projektje és a Croquet projekt ). A megjelenési szabályzatot harmadik féltől származó , összetett kezelőknek nevezett alkalmazások biztosítják .
Az X.Org Alapítványnak és a freedesktop.org -nak köszönhetően ismét felgyorsult az X Window System fejlesztése. A fejlesztők azt tervezik, hogy a jelenlegi és a jövőbeni verziókat használatra kész termékként adják ki, és nem csak a gyártók által készített termékek alapjaként.
2005. december 21- én az alapítvány kiadta [30] az X11R6.9-et, egy monolitikus forrásfát az örökölt rendszerek számára, és az X11R7.0-t, ugyanazt a forráskódot, amely független modulokra van felosztva, amelyek külön projektként karbantarthatók [31] . Az X11R7.1 verzió 2006. május 22-én jelent meg , körülbelül négy hónappal a 7.0 után, és jelentős fejlesztéseket tartalmaz [32] .
A jövőben az X szerver a tervek szerint kizárólag az OpenGL -en és a Direct Rendering Infrastructure -on (DRI) keresztül fog hozzáférni a videohardverhez az ilyen hozzáférést támogató hardver- és operációsrendszer -kombinációkon . A DRI infrastruktúra először az XFree86 4.0-s verziójában jelent meg, és az X11R6.7-ben és későbbiekben vált szabványossá [33] . Sok operációs rendszer megkezdte a kernel támogatását . A munka ezen a területen folyamatban van.
A számítógépes szakértők az „X Window System” teljes nevet gyakran „X11”-re vagy egyszerűen „X”-re rövidítik. Az "X Windows" kifejezés (a " GNU/Linux " vagy a " Microsoft Windows " módjára) hivatalosan elavult és helytelennek minősül, bár az X történetének kezdete óta széles körben használták, többek között szándékosan irodalmi hatások céljából ( például a " The UNIX -HATERS Handbook " című könyvben).
Változat | Kiadási dátum | Nagy változások |
---|---|---|
X1 | 1984. június | Az "X" nevet először használják. Alapvető változások, amelyek megkülönböztetik a terméket a W -től . |
X6 | 1985. január | Az első verzió több külső cég számára engedélyezett. |
X9 | 1985. szeptember | Szín támogatás. Első kiadás az MIT licenc alatt . |
X10 | 1985 vége | IBM RT/PC , AT ( DOS alatt ) és mások. |
X10R2 | 1986. január | |
X10R3 | 1986. február | Első kiadás az MIT -n kívül . Az uwm lesz az alapértelmezett ablakkezelő . |
X10R4 | 1986. december | Az X10 legújabb verziója. |
X11 | 1987. szeptember 15 | A jelenlegi protokoll első kiadása . |
X11R2 | 1988. február | Az első kiadás az MIT X Consortium keretében. [34] |
X11R3 | 1988. október 25 | XDM . |
X11R4 | 1989. december 22 | XDMCP ; twm lesz a standard ablakkezelő; fejlesztések az alkalmazásokban; Alak kiterjesztése; új betűtípusok . |
X11R5 | 1991. szeptember 5 | PEX ; Xcms (színkezelés); font szerver; X386; xvideo kiterjesztés . |
X11R6 | 1994. május 16 | ICCCM 2.0-s verzió; Inter-Client Exchange; X Session Management; X Szinkronizálási bővítmény; X Képkiterjesztés; XTEST kiterjesztés; X bemenet; X nagy kérés; XC-MISC; változások az XFree86 -ban . |
X11R6.1 | 1996. március 14 | X Double Buffer kiterjesztés; X billentyűzet kiterjesztés; X Record kiterjesztése. |
X11R6.2 X11R6.3 (Broadway) |
1996. december 23 | WWW funkcionalitás ; LBX . A legújabb kiadás az X konzorcium vezetésével. Az X11R6.2 az X11R6.3 egy részhalmaza, ahol az egyetlen különbség az R6.1-től az Xprint és az Xlib függőleges írási megvalósítása, valamint a felhasználó által definiált karakterek támogatása. [35] |
X11R6.4 | 1998. március 31 | Xinerama . [36] |
X11R6.5 | X.Org belső kiadás ; nem teszik elérhetővé a nagyközönség számára. | |
X11R6.5.1 | 2000. augusztus 20 | |
X11R6.6 | 2001. április 4 | Hibajavítások ; _ változások az XFree86-ban. |
X11R6.7.0 | 2004. április 6 | Az X.Org Server első verziója az X.Org Foundationtől az XFree86 4.4 RC2 fork -jeként. Ennek fő oka az volt, hogy a projekt néhány résztvevője nem ért egyet az új XFree86 4.4 licenccel. A korábbi XFree86 fejlesztők közül sokan később csatlakoztak az X.Org Server projekthez.
XIE, PEX és libxml2 eltávolítása. [37] |
X11R6.8.0 | 2004. szeptember 8 | Ablak átlátszósága; XDamage; Elosztott többfejű X; XFixes ; Összetett; xevie. |
X11R6.8.1 | 2004. szeptember 17 | A libxpm biztonsági résének javítása . |
X11R6.8.2 | 2005. február 10 | Hibák javítása, illesztőprogramok frissítése . |
X11R6.9 X11R7.0 |
2005. december 21 | Most először került be a moduláris felépítésű rendszer. A 6.9.0 még a régi Imake build rendszert használta, míg a 7.0.0 rendszerek már az Autotools -t . Ennek eredményeként egy forráskódkészletből egy moduláris 7.0-s és egy monolitikus 6.9-es verzió született.
EXA , jelentős kódrefaktorálás . [38] |
X11R7.1 | 2006. május 22 | EXA fejlesztések; Kdrive integráció ; AIGLX ; fejlesztések a különböző operációs rendszerek és platformok támogatásában. [39] |
X11R7.2 | 2007. február 15 | Az LBX [40] és a beépített billentyűzet-illesztőprogram eltávolítása, X-ACE , XCB , AutoConfig fejlesztések. |
X11R7.3 | 2007. szeptember 6 | X11R7.3: XServer 1.4, HAL eszköz automatikus felismerése , DTrace használat, PCI tartomány támogatás .
Xorg szerver 1.4 – további részletekért lásd: Server14Branch. kiemeli:
|
X11R7.4 | 2008. szeptember 23 | XServer 1.5.1, XACE , PCI átdolgozás, EXA optimalizálás, _X_EXPORT, GLX 1.4, gyorsabb indítás és leállítás. [42] |
X11R7.5 | 2009. október 26 | XServer 1.7.0 [43] , Xi 2, XGE, E- EDID támogatás , RandR 1.3, MPX , kiszámítható mutatógyorsítás, DRI2 memóriakezelő használata, SELinux használata , elavult könyvtárak és bővítmények eltávolítása. |
X11R7.6 | 2010. december 20. [44] | XServer 1.9.0, az eszközkezelésről a HAL (Hardware Abstraction Layer) alrendszerről az udev könyvtár használatára váltás, az egyes eszközök konfigurációs fájlok létrehozásának lehetősége, a videó I/O-ért felelős interfészek ABI-ja megváltozott, és néhány kiterjesztések [45] [46] . |
X11R7.7 | 2012. június 6. [47] | XServer 1.12, többérintéses támogatás , továbbfejlesztett összeállítási folyamat a DocBook XML-ből történő dokumentációhoz, valamint a GLX és XKB kezdeti támogatása az XCB -ben . |
X Window System | |
---|---|
Építészet |
|
Ablakkezelők |
|
Kiterjesztések |
|
Megvalósítások | |
Szabványok | |
Alkalmazások |
|
Ingyenes és nyílt forráskódú szoftver | |
---|---|
A fő dolog |
|
Közösség |
|
Szervezetek | |
Licencek | |
Problémák | |
Egyéb |
|
|
A nyílt csoportszabványok | |
---|---|