Bel titolo vero? Be’, è adeguato, perchè per completare la serie di post introduttivi a Linux ho deciso di parlare un po’ del grande protagonista di tutti i desktop Linux: X Window System.
“L’hanno copiato da Windows!”, starete sicuramente pensando. Sbagliato, perchè X è molto, molto più vecchio sia di Windows che di Linux… anzi, per gli standard dell’informatica è antico: risale al 1984, ed è il sistema tradizionale che si occupa di gestire la grafica di tutti i sistemi UNIX, cioè dei sistemi della famiglia che comprende tra gli altri anche Linux e Mac OS X (che però utilizza un gestore proprio). L’ultima versione, fornita dal consorzio x.org, si chiama X11R7 (non chiedetemi perchè).
Lo scopo di X è fornire ai programmi delle primitive per disegnare finestre sullo schermo: quando un programma chiama una di queste primitive, X disegna sullo schermo le finestre. La struttura di X è del tipo server-client: un server elabora la posizione delle finestre a seconda di ciò che gli dicono i programmi aspettando che un client gli chieda la posizione delle finestre. E’ poi il client a disegnarle. “Sdoppiare” X appesantisce un po’ il programma, ma può essere utile se si vuole eseguire i programmi su un computer e vedere i risultati su un altro computer in rete, in quanto server e client si possono eseguire su computer diversi senza problemi. Per questo e altri motivi il futuro di X è incerto: nelle versioni successivi potrebbero esserci cambiamenti sostanziali in molti dei suoi componenti, soprattutto per ospitare funzionalità che usino gli acceleratori grafici (vedi più avanti).
X da solo non è in grado di disegnare finestre: lui si limita a fornirne la possibilità. Per questo esistono molti programmi, detti Window Manager, che si occupano di gestire le finestre per lui. Il più elementare, che è distribuito insieme con X stesso, si chiama twm ed è veramente MOLTO elementare, anche se velocissimo:

I Window Manager sono tantissimi; ne cito solamente due (seguendo il rigoroso ordine dall’elementare al complesso): Fluxbox, che è velocissimo ma molto più potente di twm (e altamente modificabile):
e Xfce, che quanto a grafica, pur essendo molto veloce, è più o meno al livello di Windows (ma NON fornisce le icone sul desktop se non si installa un programma a parte):
Manca ancora la famigerata ciliegina sulla torta: i due desktop environment, che forniscono, oltre che l’ambiente delle finestre, anche le icone del desktop e un mucchio di programmi aggiuntivi. I loro nomi sono Gnome e KDE; quale dei due sia il migliore è oggetto di dispute (io preferisco KDE), ma una cosa è certa: sono entrambi, come qualità e modificabilità, decisamente superiori all’attuale sistema usato da Windows XP e non molto inferiori a quello usato da Mac OS X. Prevedono funzionalità anche molto avanzate e sono entrambi veramente comodi da usare. Come impostazione, Gnome è più simile a Mac OS X e KDE a Windows ma sono entrambi estremametne modificabili.
Gnome:
KDE:
Ultimamente, qualcosa si muove nel mondo X: si chiama XGL e serve ad utilizzare gli acceleratori grafici presenti ormai su ogni PC per avere effetti come le trasparenze (già presenti in Mac OS X e che saranno presenti in Windows Vista). Si tratta ancora di software sperimentale, ma abbastanza stabile da potersi godere un bellissimo screenshot con tutte le finestre in trasparenza (assolutamente inutile ma bello da vedere). Nel mondo reale, XGL sarà utile per mostrare un po’ di eye-candy anche su Linux come su Mac OS X senza rallentare, anzi, velocizzando il desktop per mezzo degli acceleratori grafici. Ecco qua il mio schermo (ho installato XGL ieri):
