New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
X Window System - Wikipedia

X Window System

Da Wikipedia, l'enciclopedia libera.

 X Window System
Logo di X Window
Sviluppatore X.Org Foundation
Ultima versione 7.1 / 22 maggio 2006
OS Multi piattaforma
Genere Windowing system
Licenza MIT
Sito web www.x.org

X Window System, noto in gergo come X Window o X11 o ancor più semplicemente X, è di fatto il gestore grafico standard per tutti i sistemi Unix (Linux e BSD compresi); è attualmente mantenuto dalla X.Org Foundation e rilasciato sotto una licenza di software libero.

Supportato seppur marginalmente da alcuni tra i maggiori produttori di hardware grafico, è ormai usato secondariamente anche da altri sistemi operativi (es. Mac OS X, che usa nativamente Quartz) per permettere il funzionamento del software progettato per questo sistema grafico, come la suite da ufficio OpenOffice e Gimp.

X fornisce l'ambiente i componenti di base per le interfacce grafiche, ovvero il disegno e lo spostamento delle finestre sullo schermo e l'interazione con il mouse e la tastiera. X non gestisce invece l'interfaccia grafica utente o lo stile grafico delle applicazioni: tutti questi aspetti sono gestiti direttamente da ogni singola applicazione.

Un'altra caratteristica molto importante è la trasparenza di rete: la macchina dove girano i programmi (client) non deve essere per forza la macchina locale (display server). I termini "server" e "client" vengono spesso confusi: per X il server è il display locale dell'utente, non una macchina remota. Questo permette anche di visualizzare sullo stesso display applicazioni che vengono eseguite su diversi host, oppure che su un host vengano eseguite applicazioni la cui interfaccia grafica finisce su diversi display.

X è stato creato dal MIT nel 1984. La versione attuale del protocollo, X11, è stata ultimata nel settembre del 1987. Attualmente la X.Org Foundation implementa il protocollo X versione 11 in XOrg e l'ultima versione disponibile è la 7.2.

Indice

[modifica] Il modello client/server

Architettura di un client X Window System
Architettura di un client X Window System

X usa un modello client/server: in altre parole, il server X comunica con gli altri programmi (client). Il server accetta richieste per output grafici (finestre) e input dall'utente (dalla tastiera, il mouse o dal touchscreen). Il server X può essere:

  • un programma di sistema che controlla l'output video di un PC (oggi è il caso più comune)
  • un componente hardware dedicato (i cosiddetti X terminal: calcolatori dotati solo dell'hardware necessario ad eseguire il server X, pensati per visualizzare applicazioni eseguite su appositi server applicativi.
  • un applicazione che mostra dati su una finestra di un altro sistema grafico.

La denominazione client/server - il terminale dell'utente come "server", le applicazioni remote come "client" - spesso confonde i nuovi utilizzatori di X perché i termini sembrano inversi. X prende la prospettiva del programma piuttosto che quella dell'utente finale o dell'hardware: il display locale di X fornisce un servizio di visualizzazione ai programmi, in questo modo agisce da server; il programma remoto usa questi servizi, così agisce come un client.

Il protocollo di comunicazione tra server e client opera in modo trasparente rispetto alla rete: entrambi possono risiedere sulla stessa macchina o su altre, anche con architetture e sistemi operativi differenti; il server ed il client possono anche comunicare in modo sicuro tramite Internet sfruttando un tunnel cifrato.

[modifica] Interfaccia utente

Il sistema di X è stato progettato appositamente per non fornire alcuna supporto predeterminato per gli elementi dell'interfaccia utente (quali pulsanti, menù, barre del titolo). Tale infrastruttura viene quindi creata e fornita dagli ambienti desktop. Per tale motivo le interfacce di X sono variate considerevolmente nel tempo e da un desktop manager all'altro.

Per controllare apparenza e piazzamento delle finestre viene utilizzato un software detto window manager che, ripetiamo, è indipendente da X. Esempi di tale software sono KWin per KDE o Metacity per GNOME. Tale impostazione ha consentito ad esempio di utilizzare un window manager con avanzati effetti 3D con solamente marginali modifiche al server X.

X è responsabile di fornire l'interfaccia verso la tastiera, il mouse e altri dispositivi di input. Per tale motivo alcune scorciatoie da tastiera sono nativamente associate al server X. Control-Alt-Backspace termina il server X attualmente in esecuzione mentre Control-Alt insieme ad un tasto funzione cambia la consolle virtuale utilizzata.

[modifica] Storia di X Window System

Il sistema X deriva da un'interfaccia grafica creata da Brian Red e Paul Ascente chiamata W, sviluppata presso l'Università di Stanford negli anni '80.

[modifica] Le origini

Nel 1984 Bob Scheifler con la collaborazione di Jim Gettys modificò il protocollo sincrono W in uno asincrono chiamato X (versione 1). Scheifler e gli altri (pochi) programmatori, lavorarono molto velocemente e con impegno al progetto, infatti la versione 6 fu rilasciata già nel 1985. X fu portato su varie piattaforme, iniziava a diventare interessante e molte persone esterne lo richiedevano. X11 risale al 1987 quando grandi aziende tra le quali Sun, IBM e HP avevano bisogno di uno standard per le interfacce grafiche, e una volta riuniti nel consorzio X.org, decisero le specifiche di X11.

[modifica] L'evoluzione

Nonostante il tempo passato da allora, il cuore di X11 è praticamente rimasto immutato, l'ultima release con modifica al codice base di X è stata la X11R4, ma il suo unico scopo era solo quello di aumentare la portabilità sulle macchine Sun. Questa mancanza di cambiamenti significativi coincideva con un indebolimento del consorzio X.org, che non era più in grado di gestire il progetto adeguatamente, così giunti a X11R6.6 ci fu l'avvento di XFree86 (il cui nome è un gioco di parole: X free eight six -> X three eight six, X386).

XFree86 prometteva di migliorare radicalmente X e divenne in breve tempo un progetto con un gran seguito. Purtroppo i risultati sperati non arrivarono neanche con XFree e, mancato l'interesse e il finanziamento da parte delle vecchie aziende, X all'improvviso doveva contare solo su volontari.

Cosa ancor più grave, le librerie di X (xlibs) erano totalmente inadeguate per usi grafici avanzati, come poteva essere un desktop environment ed erano un incubo per i programmatori che tentavano di metterci mano; da questa necessità nacquero i "toolkit", ossia delle librerie che, appoggiandosi alle xlib, non solo implementavano funzioni mancanti fornendo strumenti aggiuntivi, ma semplificano la programmazione di applicazioni grafiche per X. Il toolkit più famoso di tutti i tempi è probabilmente Motif. Famose sono anche le librerie QT alle quali si appoggia KDE o le GTK+ (nate da Gimp) ampliate poi in GTK+.

Anche se questi toolkit favorivano lo sviluppo di applicazioni grafiche, con la nascita di KDE e di GNOME si vide quanto X fosse limitato: era lento e pesante. I membri del core team di XFree86 progettarono a tavolino la versione 4.0, più modulare, più snella, con delle nuove estensioni, e così nel marzo 2000, XFree 4.0 presentava alcune funzioni che gli utenti desktop avevano tanto richiesto, come il supporto dei font con antialiasing e il supporto alla grafica 3D.

Ma non era ancora abbastanza: le novità furono poche e gli sviluppatori stessi erano insoddisfatti dal metodo di sviluppo in quanto bug gravi restavano aperti per mesi e con la release 4.3, uno degli sviluppatori più innovativi appartenenti al core team (Keith Packard) lasciò XFree.

[modifica] Arriva Linux

Le aziende rividero tuttavia in XFree il modo per portare Linux sui desktop e un nuovo consorzio ridiede vita alla Xorg foundation. Nuovi sviluppatori parteciparono al progetto, sia sul ramo ufficiale sia su parti sperimentali della nuova fondazione.

Ma con la release 4.4rc3 la licenza di XFree cambiò rendendosi incompatibile con la GPL, non poteva più essere incluso nelle distribuzioni Linux e fu necessario avviare un nuovo progetto. La maggior parte degli sviluppatori, abbandonando XFree in favore di X.org, presentarono la versione X11 6.7 (Xorg 6.7) il 6 aprile del 2004. Basato su XFree4.4rc2, presentava correzioni di bug e nuove caratteristiche, come nuova gestione di IPv6, la revisione dei moduli per la gestione dei font, una nuova versione di Xrender e di Xcursor.

Nel settembre 2004 è stato rilasciato Xorg 6.8, che ha portato nuove caratteristiche interessanti come le finestre traslucide, animazioni, decorazioni delle finestre (per esempio, le ombre) e il supporto per le applicazioni accessibili. Pochi giorni dopo è stata rilasciata la versione 6.8.1 che correggeva una falla di sicurezza.

Il 21 Dicembre 2005, in pieno rispetto della roadmap annunciata ufficialmente, è stato rilasciato Xorg X11R7.0, il primo grande rilascio del sistema X Window System dopo 10 anni di stagnazione e sviluppo discontinuo. Parallelamente, è stato rilasciato X11R6.9, contenente lo stesso codice della 7.0, ma in un unico blocco di circa 16 milioni di righe di codice. Proprio questa è una delle maggiori innovazioni rispetto al passato: Xorg 7.0 ha portato la modularizzazione del codice del server grafico, ponendo le basi per una maggior rapidità di sviluppo. Fra le numerose note innovative, oltre ad aggiornati driver per hardware video, troviamo EXA, la nuova architettura di accelerazione.


[modifica] Cronologia delle versioni

Versione Data di rilascio Commenti sulla versione
X1 Giugno 1984 Prima relase dove si usa il nome X; cambiamenti profondi che lo distinguono da W.
X6 Gennaio 1985 Prima versione data sotto licenza ad una manciata di aziende.
X9 Settembre 1985 Supporto per i colori e prima versione sotto licenza MIT.
X10 tardo 1985 Supporto per IBM RT/PC, AT (sotto DOS) e altri
X10R2 Gennaio 1986
X10R3 Febbraio 1986 Prima relase al di fuori del MIT. Supporto per i primi standard per le finestre grafiche.
X10R4 Dicembre 1986 Ultima versione di X10.
X11 Settembre 1987 Prima relase della versione che implementa l'ultimo protocollo.
X11R2 February 1988 Prima versione di X Consortium. [1]
X11R3 Ottobre 1988 XDM
X11R4 22 Dicembre 1989 XDMCP e twm sono stati inseriti come gestori standard delle finestre; miglioramenti alle applicazioni; nuovi font.
X11R5 5 Settembre 1991 PEX, Xcms (gestione dei colori), server font, supporto a X386
X11R6 16 Maggio 1994 ICCCM v2.0; Inter-Client Exchange; gestione della sessione X; estensione X Synchronization; estensione X Image; estensione XTEST; X Input; X Big Requests; XC-MISC; cambiamenti di XFree86.
X11R6.1 14 Marzo 1996 estesione per il doppio buffer; estensione per il supporto della tastiera; estensione X Record.
X11R6.2
X11R6.3 (Broadway)
23 Dicembre 1996 funzionalità web. Ultima versione dell' X Consortium.
X11R6.4 31 Marzo 1998 supporto per Xinerama. [2]
X11R6.5 versione X.org interna, nessun rilascio agli utenti finali.
X11R6.5.1 20 Agosto 2000
X11R6.6 4 Aprile 2001 Correzioni di alcuni bug, modifiche a XFree86.
X11R6.7.0 6 Aprile 2004 Prima versione della X.Org Foundation, basato su XFree86 4.4rc2. Rimosso XIE, PEX e libxml2. [3]
X11R6.8.0 8 Settembre 2004 Traslucenza delle finestre; XDamage; Distributed Multihead X; XFixes; Composite; XEvIE.
X11R6.8.1 17 Settembre 2004 Correzione nella falla di sicurezza nella libreria XPM.
X11R6.8.2 10 Febbraio 2005 Corretti bug, driver aggiornati.
X11R6.9
X11R7.0
21 Dicembre 2005 Supporto per l'accelerazione EXA; la maggior parte del codice sorgente è stato spezzettato per la versione modulare 7.0.
X11R7.1 22 maggio 2006 AIGLX, modifiche invasive non incluse in 6.9/7.0 [4].
X11R7.2 15 febbraio 2007 Eliminazione di LBX e del vecchio driver della tastiera, X-ACE, XCB, miglioramenti all'autoconfigurazione, pulizia del codice. [5]
X11R7.3 maggio, 2007 Supporto per la sostituzione a caldo di dispositivi di input, RandR 1.2, supporto per UnixWare [6].

[modifica] Collegamenti esterni

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu