Home > GNU/Linux, newbie > Guida per principianti a GNU/Linux: Xorg e le interfacce grafiche

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:

X Windows System "nudo"

X Windows System "nudo"

Poco ma… ci si può lanciare qualche applicazione. Ad esempio scrivete

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.

  1. Scacchia
    28 luglio 2008 alle 13:53

    Ottima spiegazione, come sempre😉

    Finalmente ho capito perche si chiama “server X”🙂

    continua cosi

  2. sid9477
    31 luglio 2008 alle 23:55

    come hai fatto a mettere l’orologio come quello di vista? nn che voglia copiarlo ma mi sarebbe utile… cosi mi accorgo di quanto tempo passa mentre sono al pc

  3. guiodic
    1 agosto 2008 alle 0:04

    Lo screenshot non è mio, comunque credo sia cairo-clock

  4. 3 agosto 2008 alle 8:31

    oppure l’orologio e il resto potrebbe essere le google gadgets, per gli utenti ubuntu credo si trovino su getdeb

  5. Alberto
    22 agosto 2008 alle 11:42

    se è tua l’immagine mi puoi dire dove hai preso lo sfondo, l’orologio e la barra in basso?

  6. mauro
    3 maggio 2009 alle 2:17

    Grazie, finalmente un metodo esplicativo semplice ma conciso e apprendibile da chi è alle prime armi con Linux

  7. 28 aprile 2013 alle 7:10

    It serves a lot more purposes and it cannot be destroyed or
    consumed physically.

  8. 15 ottobre 2014 alle 10:30

    I blog often and I really appreciate your information. This great article has truly peaked
    my interest. I’m going to take a note of your blog and keep checking for new details about once per week.
    I subscribed to your Feed as well.

  9. 2 settembre 2015 alle 17:03

    E’ importante per chi comincia a usare il sistema capire la gestione client server tipica di Linux
    Sul sito http://www.alessioligabue.it/linux-gui-vecchi-pc ho classificato alcune fra le interfacce più usate in base alle richieste hardware e loro completezza, cercando di orientare l’articolo a chi utilizza computer datati per provare il sistema o per trashware

  1. 18 settembre 2010 alle 23:02

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: