Edukira joan

X Window System

Wikipedia, Entziklopedia askea
Image X Window System
Image
Jatorria
Sorrera-urtea1982
Argitaratze-data1984
Azken bertsioaX11R7.7
Honen izena daramaW Window System (en) Itzuli
Ezaugarriak
Euskarriacross-platform software (en) Itzuli
Egile-eskubideakcopyrightduna
LizentziaMIT lizentzia
Ekoizpena
GaratzaileaX.Org Foundation (en) Itzuli eta Keith Packard
x.org
Iturri-kodeahttps://gitlab.freedesktop.org/xorg
kronologia
W Window System (en) Itzuli X Window System

X Window System (sarritan X11 edo, besterik gabe, X) Unix motako sistema eragileetan (hala nola GNU/Linux eta FreeBSD banaketetan) leiho-sistema grafikoak kudeatzeko tresna eta sare-protokolo bat da. Proiektua 1984an hasi zen garatzen, plataformarekiko independentea izango zen sistema grafiko bat sortzeko helburuarekin. Gaur egun, X.Org Foundation erakundeak gidatzen du proiektua, MIT lizentzia librearen pean.

X11 izena protokoloaren 11. bertsioari dagokio, 1987tik indarrean dagoena eta arkitektura honen estandar egonkorra dena.

Arkitektura eta Funttzionamendua

[aldatu | aldatu iturburu kodea]

Linux nukleoak hardwarearen eta softwarearen arteko interfaze oinarrizkoa soilik kudeatzen du. Leihoak, efektu bisualak, dekorazioak eta sagu zein teklatuaren gertaerak kudeatzeko, software stack grafiko oso bat behar da. X ingurunean, **X.Org Server** da osagai nagusia, eta QT edo GTK bezalako liburutegi grafiko guztiak berarekin komunikatzen dira atzealdean.

X Window Systemen ezaugarri bereziena bere **bezero-zerbitzari (client-server) arkitektura** da, sarearekiko gardena dena. Horrek esan nahi du aplikazioa (bezeroa) ordenagailu boteretsu batean exekuta daitekeela, baina leihoa erabiltzailearen mahai gaineko terminalean (zerbitzarian) bistaratu eta kudeatu, sare baten bidez.

Kontzeptu okerra: X Zerbitzaria vs X Bezeroa

[aldatu | aldatu iturburu kodea]

Arkitektura honek maiz nahasmena sortzen du erabiltzaileen artean, terminologia sare-zerbitzari tradizionalen alderantzizkoa delako:

  • X Zerbitzaria (X Server): Erabiltzailea eseri den ordenagailuan exekutatzen da, hau da, pantaila, teklatua, sagua eta txartel grafikoa dituen makinan. Hardwarearekiko sarrera-irteerak kudeatzen ditu.
  • X Bezeroa (X Client): Exekutatzen ari den programa edo leihoa da (adibidez, terminal bat, nabigatzaile bat edo joko bat). Zerbitzariari mezuak bidaltzen dizkio ("Mesedez, marraztu leiho bat koordenatu hauetan") eta zerbitzaritik gertaerak jasotzen ditu ("Erabiltzaileak OK botoia sakatu du").

Bezeroa eta zerbitzaria makina berean daudenean (etxeko ordenagailu baten kasuan), komunikazioa UNIX socketen bidez egiten da modu eraginkorragoan. Protokolo honek ez du behartzen bi aldeek sistema eragile bera erabiltzea; posible da X Bezeroak Linux makina batean egotea eta X Zerbitzaria Microsoft Windows edo macOS inguruneetan exekutatzea.

Liburutegiak: Xlib eta XCB

[aldatu | aldatu iturburu kodea]

X Bezeroak modu isolatuan funtzionatzen du eta pantailan laukiak edo testu soilak marrazteko gaitasuna du, baina ezin ditu botoiak edo menuak bezalako osagai konplexuak sortu. Horretarako GUI tresnak (GTK edo QT) erabiltzen dira. Tresna hauek **Xlib** (X Library) edo maila baxuagoko **XCB** liburutegiez baliatzen dira X Zerbitzariarekin komunikatzeko.

Konpositoreak (Compositors)

[aldatu | aldatu iturburu kodea]

Nahiz eta derrigorrezkoa ez izan, sistema moderno gehienek konpositore bat erabiltzen dute. Konpositoreak X Bezero bakoitzari buffer berezi bat esleitzen dio (Compositor Overlay Window edo COW), non leihoaren itxura eta geometria gordetzen diren. Ondoren, konpositoreak pantailako marko bakoitza jaso, estiloak eta gardenkiak aplikatu, eta irudi bateratu gisa rendersatzen du pantailan.

Leiho-kudeatzailea (Window Manager)

[aldatu | aldatu iturburu kodea]

X sistemaren oinarrizko filosofia UNIXen tradizioari jarraitzen dio: "tresnak eman, ez arauak". X-ek ez du zehazten leihoek nola ikusi behar duten, nola mugitzen diren saguarekin, nola aldatzen den leiho batetik bestera (Alt+Tab bidez adibidez), edota itzaltzeko botoirik duten ala ez.

Erresponsabilitate hori guztia **Leiho-kudeatzailearen** (Window Manager edo WM) esku geratzen da. Dozenaka leiho-kudeatzaile existitzen dira eta bakoitzak itxura eta konfigurazio mekanismo ezberdinak ditu:

  • Tradizionalak edo arinak: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, edota Window Maker.
  • Mahaigaineko ingurune integratuak: KDE eta GNOME bezalako inguruneek beren leiho-kudeatzaile propioak dituzte sistema osoarekin integratuta.

Egungo egoera eta etorkizuna: Wayland

[aldatu | aldatu iturburu kodea]

X11 protokoloaren azken zehaztapen handia 2012an argitaratu zen. Protokoloa guztiz egonkorra da, baina diseinu zaharrak (1980ko hamarkadakoa) arazoak dakarzkio gaur egungo beharrei:

  • Segurtasuna: Berez, X-ek ez ditu bezeroaren eta zerbitzariaren arteko mezuak zifratzen, eta sareko paketeak erraz atzeman daitezke.
  • Latentzia: Bezeroaren eta zerbitzariaren arteko joan-etorriko mezuek atzerapena (latentzia) sortzen dute diseinuan.

Arrazoi horiengatik, **Wayland** protokolo berria X11 sistemaren oordezkatzaile natural gisa garatu da. Banaketa handi gehienek (hala nola Ubuntu, Fedora, OpenSUSE edo Red Hat) Wayland jarri dute lehenetsitako sistema gisa, nahiz eta X11 oraindik mantentzen den atzeranzko bateragarritasuna bermatzeko.

Ikus, gainera

[aldatu | aldatu iturburu kodea]

Kanpo estekak

[aldatu | aldatu iturburu kodea]