Guida per principianti a GNU/Linux: Xorg e le interfacce grafiche

Avatar utente
Etabeta
Messaggi: 945

Guida per principianti a GNU/Linux: Xorg e le interfacce grafiche

Messaggio #1 »

domenica, 1. gennaio 2012, 14:40

Guida per principianti a GNU/Linux: Xorg e le interfacce grafiche

Molti neo utenti di GNU/Linux sono portati a pensare che l’interfaccia grafica sia una conquista recente per questo sistema. In realtà il sistema grafico di Unix esiste dal 1983, vale a dire prima della nascita del Macintosh e prima dell’avvento dell’MS DOS, il primo sistema operativo della Microsoft.

Questo sistema grafico per Unix si chiama X Windows System (per gli amici X) e come nel caso di Unix ne esistono varie incarnazioni, la più comune delle quali si chiama X.Org (o anche Xorg).

L’originale compito di X non era quello di offrire un ambiente per il desktop ma di fornire un output grafico per i programmi che lo richiedevano, in particolare applicazioni scientifiche che disegnavano grafici.

L’architettura di Xorg risente ancora di questa origine e alcuni considerano ciò un limite. In realtà, come accade a volte nella natura, ciò che sembra obsoleto è all’origine della sopravvivenza di un sistema che ormai ha 25 anni e che nella sua storia ne ha viste di tutti i colori (non solo quelli del monitor). Ma tralasciamo la complessa storia legale per addentrarci nelle caratteristiche tecniche di Xorg.

Lo scopo di Xorg, dicevamo, è quello di gestire la grafica, intendendo con ciò il minimo indispensabile: Xorg infatti si occupa di far comunicare le applicazioni con lo schermo, riservando loro uno spazio (finestra) su di esso e… basta. Xorg non permette di ridimensionarle, spostarle, chiuderle, ridurle a icona, ecc. In pieno stile Unix, ogni programma deve fare poche cose, ma fatte bene. E’ la combinazione di vari programmi che crea l’applicazione o l’ambiente grafico o un intero sistema operativo.

Così a Xorg va aggiunto qualcosa. Ma volete vedere Xorg “nudo e crudo” per farvi un’idea? Allora chiudete la sessione corrente e al login cliccate su “opzioni” e “scelta sessione”. Comparirà un menù che permette di scegliere il tipo di sessione da avviare. Scegliete “terminale d’emergenza”. Dopo un paio di secondi vi apparirà un terminale inserito nella grafica, ma senza bordi e impossibile da spostare.
Qualcosa come questa:

[IMG] non disponibile

Poco ma… ci si può lanciare qualche applicazione.

Ad esempio scrivete:
Citato:
"xeyes &,,


Vedrete comparire un paio di occhi che seguono il mouse. Ah già, perché, dimenticavo di dirlo, X, gestisce anche il mouse. E la tastiera. Insomma gestisce tutto ciò che in generale si potrebbe trovare su un terminale. Il terminale, per chi non lo sapesse, è un computer stupido, anzi non è neppure un computer, ma l’insieme di uno schermo e una tastiera, eventualmente anche un mouse. I terminali sono di solito collegati ai grandi server delle banche (o dell’Alitalia: avete mai visto l’agenzia di viaggio che effettua la prenotazione?) che fungono da elaboratori, mentre i vari terminali servono solo per l’Input/Output verso l’utente.

X è strutturato per funzionare così. Esso infatti è un programma server. Fornisce delle funzionalità ad altri programmi, chiamati client. E’ lo stesso principio su cui si basa il Web: ci sono dei computer che fanno da server dove sono memorizzate le pagine, e altri da client che le visualizzano.

Sul server gira un programma (ad esempio il web server Apache) e sul client un altro programma (ad esempio Firefox). L’insieme di questi due programmi fa la nostra applicazione.

Nel caso di X i client sono le stesse applicazioni che hanno bisogno di una interfaccia grafica. Il bello è che non è detto che il client e il server stiano sullo stesso computer! X è infatti nato proprio per computer che avevano tanti terminali e quindi è in grado di gestire connessioni remote. In sostanza quello che possiamo fare è avere un programma di rendering 3D come Blender su un computer molto potente a cui ci colleghiamo da remoto. Blender funzionerà su quel computer, ma l’output sarà gestito da X sul nostro computer obsoleto, magari un Pentium II con 128 mb di Ram.

Bello no?

Ma per avere un sistema desktop completo, dicevamo, non basta X. Ci serve anche qualcosa che gestisca le finestre. Ovvero un gestore delle finestre (windows manager). Ne esistono diversi, alcuni minimali come IceWM usato per computer obsoleti, ed altri che invece fanno parte di un’insieme di programmi molto numeroso. Ad esempio programmi di gestione di file, pannelli per ospitare menu e icone, ecc. Quando siamo di fronte a un sistema complesso che permette di avere una completa esperienza desktop parliamo di Ambiente Desktop. Gnome, Kde e Xfce sono ambienti desktop (in inglese Desktop Enviroment). Essi ci mettono a disposizioni tutti gli strumenti per gestire via grafica i compiti che ci aspetteremmo da un sistema operativo: operare sui file, lanciare applicazioni, offrire un ambiente uniforme per l’output, ecc.

A dire il vero, ormai, gli ambienti desktop si sono estesi fino al punto di includere anche applicazioni. Ad esempio sia Gnome che Kde includono un browser web (rispettivamente Epiphany e Konqueror), un pacchetto di ufficio (Gnome Office e Kde Office), programmi di ritocco fotografico (Gimp e Krita), ecc. ;)

Crescia
Etabeta