I Desktop Environment di Linux

C’e’ stato un tempo, nemmeno troppo lontano, in cui al termine del processo di boot l’utente si trovava di fronte al login testuale della console, una volta fatto il login con il proprio utente, o con il dio Root, si accedeva alla shell a Linea di Comando (CLI) e da li si iniziava ad interagire con il computer tramite i comandi testuali. Negli anni 90 pero’ gia’ spopolavano le GUI e la console testuale, potentissimo strumento di controllo del computer, pur rimanendo di competenza degli specialisti allontanava gran parte degli utenti che oramai erano diventati avvezzi al punta e clicca del mouse e delle finestre. La metafora della scrivania e delle applicazioni nelle finestre aperte su questa scrivania, ideata nei laboratori Xerox alla fine degli anni 70 a cui si erano ispirati Apple per il primo Machintosh e Microsoft per Windows, era oramai la metafora dominante e, pur nascendo come OS per hackers, Linux fin da subito viene dotato di un sistema grafico per la gestione di finestre. X Windows System il sistema usato in ambito Unix per la realizzazione dell’interfaccia a finestre, fu portato su linux fin dalle prime versioni del kernel e seppure quasi inutilizzabile (se non per aprire delle finestre in cui far girare un emulatore di terminale) nei primi anni, divenne un elemento importantissimo per lo sviluppo successivo dei Windows Manager e dei Desktop Environment piu’ evoluti e quindi di fatto della possibilita’ di usare sistemi Linux in ambito desktop.

Caratteristica dei sistemi di tipo Unix e’ la modularita’, e anche l’interfaccia grafica e’ realizzata secondo questa filosofia.

X Windows System rappresenta la fondamenta di questo sistema, fornisce gli elementi di base per il funzionamento del puntatore e delle finestre’ senza entrare troppo nei dettagli tecnici ha una architettura Client/Server che nelle installazioni in cui client e server risiedono sulla stessa macchina in realta’ non e’ percepita dall’utente come tale.

“Sopra” X Windows System gira il Windows Manager che si occupa appunto della gestione delle finestre e costituisce le fondamenta del Desktop Environment la GUI vera e propria costituita dalla superficie del desktop su cui porre applicazioni e files, finestre, widgets e altri accesori che nel loro insieme compongono un ambiente coordinato nell’aspetto e nell’ergonomia generale, in alcuni casi il Windows Manager funziona anche come semplicissimo Desktop Environment.

Ma e’ proprio questa struttura modulare che fa si che nei sistemi Linux sia possibile usare diversi Desktop Environments, ogni Distribuzione puo’ scegliere quale interfaccia grafica usare, e spesso la stessa distribuzione offre piu’ versioni della stessa che si differenziano per il Desktop Environment fornito.

Come abbiamo visto quando abbiamo trattato le Distribuzioni la modularita’ e il fatto che i componenti siano software libero, fanno si che chiunque possa confezionarsi un sistema operativo basato su kernel linux e assemblato con i componenti preferiti, anche la GUI e’ tra i componenti selezionabili in base ai propri gusti.

Voglio ricordare che tutto questo pur essendo molto bello dal punto di vista delle liberta’ dell’utente comunque contribuisce a creare quell’estrema frammentazione che e’ comunque una delle debolezze maggiori per la diffusione di Linux in ambito desktop. Per esempio gli utenti di Linux Mint, che e’ una delle distribuzioni piu’ diffuse, si dividono tra le tre versioni basate sui desktop environment Cinnamon, Mate e XFCE, quindi pur condividendo il funzionamento dei componenti base della distribuzione in realta’ utilizzano tre interfacce grafiche diverse e magari un utente di Linux Mint XFCE potrebbe trovarsi piu’ a suo agio dovendo usare Manjaro XFCE invece che Mint Cinnamon.

Se pensiamo invece a quello che succede in ambito proprietario ci troviamo di fronte a Sistemi Operativi come Windows o macOS dove la GUI e’ quella stabilita dal produttore e non e’ sostituibile con una preferita, cosi e’ se vi pare.

Il primo Desktop Environment Usabile, Moderno e Bello e’ stato KDE, ed e’ stato una vera e propria rivoluzione, lanciato nel 1996 e rilasciato in versione 1.0 nel 1998, io l’ho usato con la mia prima installazione di Mandrake Linux, prima distribuzione ad esserne dotata e la prima a proporsi come una vera alternativa desktop ai sistemi proprietari anche per gli utenti comuni.

Mandrake e’ stata la mia prima distribuzione, nel 1998 con la 5.1 (basata su Red Hat 5.1 e KDE 1.0) fino alla 9.2 nel 2003 prima del mio passaggio a macOS (al tempo Mac OSX)

Nel 1997 viene lanciato il progetto Gnome come risposta a KDE che era basato sul QT toolkit proprietario (fino al 1999 e dalla versione 2.0 in poi open source), Gnome viene basato sul toolkit GTK su licenza GPL.

A parte questi due desktop environment che si contendono la maggioranza delle installazioni, ci sono molti altri desktop environment “minori” ma comunque diffusi ed utilizzati. Tra questi vale la pena familiarizzare con XFCE, Mate, Cinnamon, LXDE che sono tutti basati sul toolkit GTK+ su cui si basa Gnome.

XFCE e LXDE sono particolarmente adatti per installazioni su macchine con risorse limitate e sono i Desktop Environment predefiniti in Xubuntu e Lubuntu rispettivamente, anche se comunque sono disponibili come predefiniti per molte altre installazioni. Mate nasce come fork di Gnome 2 e ne prosegue la discendenza discostandosi dall’evoluzione che ha subito Gnome 3. Cinnamon e’ invece un fork di Gnome 3 ma mantiene sostanzialmente la metafora classica del desktop ed e’ stato sviluppato dal team di Linux Mint come Desktop Environment ad Unity il fork di Gnome3 sviluppato da Ubuntu e per reazione al quale e’ stata lanciata appunto Linux Mint come distribuzione derivata ed alternativa

Insomma la scelta e’ ampia e puo’ soddisfare tutti i gusti e preferenze e ogni Desktop Environment e’ poi altamente personalizzabile con l’aggiunta di elementi come docks, pannelli, widgets, e altri accessori tant’e’ che spesso gli utenti piu’ evoluti arrivano a livelli di personalizzazione tali per cui poi e’ difficile riconoscere gli elementi base del desktop environment di partenza.

Per concludere come nel caso delle distribuzioni consiglio di fare una scelta basandosi su un desktop environment classico che permette di usare il sistema operativo in modo intuitivo, e poi successivamente di provare altri desktop environment quando si provano distribuzioni diverse installate in virtual box o in altri sistemi di vitualizzazione o avviandole “Live” da dischi e chiavette USB, in questo modo si puo’ di fatto capire se si e’ fatta la scelta giusta o se poi si preferiscono altre soluzioni.

I Desktop Environment di Linux

Rispondi