| |
Tipus | programari lliure i de codi obert, servidor gràfic, plataforma informàtica i Sistema de finestres |
---|---|
Versió inicial | 1982 |
Versió estable | |
Llicència | llicència MIT |
Epònim | W Window System (en) |
Equip | |
Desenvolupador(s) | Fundació X.Org |
Fonts de codi | |
Més informació | |
Lloc web | x.org (anglès) |
Stack Exchange | Etiqueta |
| |
El Sistema de Finestres X, conegut també com a X Window System, X11 o X és un sistema de finestres principalment per mostrar mapes de bits. És la interfície gràfica estàndard en els sistemes Unix, *NIX (Linux, BSD, ...) i OpenVMS, i és disponible per a la majoria dels sistemes operatius moderns.[1]
X ens proporciona un entorn de funcionament, per al gestor de finestres, permet crear i moure finestres a la pantalla interaccionant amb el ratolí i el teclat. X no dirigeix la interfície d'usuari (se n'encarreguen altres programes). D'aquí que la quantitat i varietat en els entorns visuals sigui tan gran, (KDE, Gnome, FVWM...). També permet treballar en xarxa. Permet mostrar imatges, texts i vídeo, i interaccionar amb l'ordinador i programes d'una forma més intuïtiva i senzilla.
Originalment, va ser desenvolupat per Robert Sheifler, el MIT i DEC basant-se en la feina de la Universitat Stanford, el sistema W. La pedra angular de les XWindow és la llibreria Xlib, que té les funcions de primitives gràfiques i controls sobre els dispositius d'entrada. Tot i que les XWindow són un sistema totalment funcional, normalment s'usen escriptoris com ara, KDE, Gnome, etc.
X utilitza el model client-servidor: un servidor X es comunica amb varis programes del client. El servidor accepta les comandes per la sortida gràfica (finestres) i torna l'entrada de l'usuari (des del teclat, el ratolí, o la pantalla tàctil). El servidor pot funcionar així:
Aquesta terminologia de client servidor (el terminal d'usuari sent el servidor i les aplicacions sent els clients) confon sovint a nous usuaris d'X, per què els termes semblen invertits. X pren la perspectiva de l'aplicació, en comptes de la de l'usuari final: X proporciona l'exhibició per pantalla i els serveis d'entrada/sortida a les aplicacions, així que és un servidor; les aplicacions utilitzen aquests serveis, per tant són els clients.
El protocol de comunicacions entre el servidor i el client opera transparent a la xarxa: el client i el servidor es poden executar en la mateixa o en diferents màquines, possiblement amb diferents arquitectures i sistemes operatius. Un client i un servidor poden inclús comunicar-se amb seguretat sobre Internet fent una connexió de túnel sobre una sessió xifrada de la xarxa.
Un client X pot emular un servidor X proporcionant serveis d'exhibició a d'altres clients. Això és conegut com a "X nesting" (niu X). Els clients de codi obert com Xnest i Xephyr suporten l'X nesting.
Per utilitzar un programa de client X sobre una màquina remota, l'usuari fa el següent:
El client X remot farà llavors una connexió al servidor X local de l'usuari, proporcionant l'exhibició per pantalla i l'entrada.
Alternativament, la màquina local pot executar un petit programa que es connecti amb la màquina remota i comenci l'aplicació client.
Exemples pràctics de clients remots inclouen:
El 1984, Bob Scheifler i Jim Gettys van establir els principis inicials de X:
El primer principi va ser modificat durant el disseny de l'X11: "No afegeixin nova funcionalitat a menys que vostès sàpiguen d'alguna aplicació real que la requereixi".
X ha mantingut en gran part aquests principis. La implementació d'exemple és desenvolupada amb una vista cap a l'extensió i la millora de la implementació, mentres que roman compatible amb el protocol original de 1987.
X és primàriament una definició de primitives de protocol i gràfiques, i deliberadament no conté especificacions de disseny d'interfície d'usuari com estils de botó, menú, barra de títol per les finestres... En comptes d'això, un software d'aplicació (tal com els gestors de finestra, Widget toolkits de GUI i ambients d'escriptori, o les interfícies gràfiques d'usuari específiques d'una aplicació) defineixen i proporcionen els detalls. Com a resultat, no hi ha interfície X típica, i varis ambients d'escriptori han estat populars entre els usuaris.
Un gestor de finestra controla la col·locació i l'aparença de les finestres d'aplicació. Això pot resultar en interfícies semblants a les de Microsoft Windows o Macintosh (els exemples inclouen Metacity a GNOME, KWin a KDE, Xfwm a Xfce, o Compiz) o tenir controls radicalment diferents (com ara tiling window manager, com wmii o Ratpoison). Els gestors de finestra abasten en sotisficació i complexitat des dels més simples (ex., twm, el gestor de finestra bàsic subministrat amb X, o evilwm, un gestor de finestra extremadament lleuger) fins als ambients d'escriptori més complets com ara Enlightenment.
Molts usuaris utilitzen X amb un ambient d'escriptori que, independentment del gestor de finestra, inclou vàries aplicacions utilitzant una interfície d'usuari consistent. GNOME, KDE i Xfce són els ambient d'escriptori més populars. L'ambient estàndard d'Unix és Common Desktop Environment (CDE). L'iniciativa freedesktop.org es dirigeix a la interoperabilitat entre l'escriptori i els components necessaris per a un escriptori X competitiu.
Donat que X és responsable de la interacció entre el teclat i el ratolí amb l'escriptori gràfic, certes dreceres de teclat han arribat a estar associades amb X. Control-Alt-Backspace típicament termina la sessió actualment funcionant a X, mentre que el Control-Alt conjuntament amb una tecla de funció canvia a la consola virtual associada. Tot i així, això es un detall que es deixa al disseny d'una implementació de servidor X i no és universal; per exemple, les implementacions de servidor X per Windows i Macintosh normalment no proporcionen aquestes dreceres de teclat.