Archive for May, 2006

L’Incognita X

Friday, May 12th, 2006

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:

immagine twm

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):

immagine fluxbox

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):

immagine fluxbox

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:

immagine fluxbox

KDE:

immagine fluxbox

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):

immagine fluxbox

Distro per tutti i gusti

Thursday, May 11th, 2006

Come promesso, eccomi qui ad elencare distro per tutti i gusti o quasi. Parlerò delle distro più diffuse (Fedora, openSuSE, Mandriva), delle distro più “tecniche” (Debian, Slackware e Gentoo) e infine delle mia preferita, Ubuntu. Tengo a precisare che NON ho provato personalmente nè Fedora nè Slackware e che quindi mi baso su informazioni che ho trovato principalmente su internet. Oltre a queste, esistono centinaia di altre distribuzioni che però sono solo lievemente modificate rispetto a queste.

Fedora è una delle distro desktop più sviluppate e diffuse. E’ una distro “nella media” in tutte le sue caratteristiche (prima fra tutte la facilità di installazione e utilizzo); gli aspetti peculiari di Fedora sono l’utilizzo dei pacchetti RPM per le installazioni (i più diffusi) e del manager per installazioni YUM che a quanto ne so è discretamente comodo. Il vantaggio principale dei pacchetti RPM è che sono estremamente diffusi.

openSuSE è la versione completamente open source della distribuzione desktop Linux di casa Novell. E’ caratterizzata da una grande facilità di installazione ed uso, al prezzo di una libertà un po’ minore, almeno per gli utenti non troppo esperti. Il suo più grosso difetto è che usa un sistema di installazione per i pacchetti RPM un po’ pasticcione.

Mandriva è una delle distro desktop più apprezzate dai “principianti di Linux in quanto facilissima da installare e configurare; utilizza i pacchetti RPM ma a dir la verità non so se attualmente si appoggi a qualche manager (qualche tempo fa però aveva dei problemi come SuSE per questo argomento).

Debian è chiamata a volta la regina delle distro; o la si ama o la si odia (io la amo). E’ la più vicina al free software, insieme con Slackware, di tutte le distro (non ha nessuna velleità di tipo commerciale). Non è facilissima da installare (ma nemmeno difficilissima come vogliono certe leggende), utilizza un sistema di pacchetti DEB che è leggermente meno diffuso del RPM ma ha dalla sua il potentissimo sistema di gestione pacchetti APT: basta avere una connessione a internet, digitare apt-get install programma e il programma è già pronto ad essere usato; praticamente nessuna difficoltà. La Debian è disponibile in tre versioni: una “stable”, in cui tutti i programmi installabili sono estremamente controllati (ma un po’ vecchi), una “unstable” con i programmi più nuovi e una “testing” che è una via di mezzo. Data la disponibilità della distro stable e dato che la Debian, appena installata, è “pulitissima” (non installa nulla di superfluo se non glielo si chiede, nemmeno l’interfaccia grafica), viene utilizzata spessissimo per i sistemi server ma pochino per quelli desktop.

Slackware è la distro più anziana di Linux (la prima versione risale al 1993) e anche la più “conservatrice” riguardo alla gestione del sistema; la sue particolarità principali sono l’utilizzo di un altro sistema di pacchettizzazione (TGZ) e soprattutto il fatto che usa un kernel di Linux senza nessuna modifica rispetto a quello ufficiale pubblicato su www.kernel.org .

Gentoo è una delle distro più giovani (insieme con Ubuntu) dato che la prima versione risale al 2003, se non sbaglio. Si è subito imposta per una grossa particolarità: la si deve compilare interamente sul proprio computer; niente pacchetti precompilati. In questo modo un grandissimo numero di utenti Linux abbastanza esperti si è spostata su questa piattaforma, che ora gode di una documentazione eccellente ed, essendo auto-compilata, è più performante di ogni altra. Assolutamente sconsigliabile a chi è del tutto digiuno di informatica, ma non a chi è nuovo di Linux: la documentazione è così chiara da non dare problemi nemmeno a chi è “nuovo”.

Ubuntu è la mia distro preferita. Ha come proprio scopo quello di portare Debian sul desktop e quindi ne mantiene diversi tratti fondamentali (pacchetti DEB, sistema APT) concentrandosi sulla versione “unstable” di Debian e creandone una distribuzione fortemente coesa al suo interno: i programmi vengono modificati in modo da interagire meglio fra loro e il sistema. E’ una delle distribuzioni più sviluppate (fa una nuova versione ogni 6 mesi circa ed ogni versione è estremamente più affidabile e concreta delle precedenti). C’è molta documentazione su di essa perchè molti appassionati di Debian l’hanno adottata per il computer di casa, inoltre ha il grandissimo vantaggio di avere un sistema di segnalazione dei bug accessibile a tutti in modo che tutti possano contribuire alla loro risoluzione. Se non esiste un programma per fare una certa cosa che sarebbe utile al sistema, Ubuntu non aspetta che qualcun altro lo crei per aggiungerlo (come fanno molti altri), ma lo crea. Personalmente penso che entro due o tre versioni (un anno e mezzo) questa potrebbe diventare l’unica distro in grado di sfidare seriamente Windows XP e Mac OS X sui computer dei principianti dell’informatica.

Ma ’sto Linux… cos’è?

Wednesday, May 10th, 2006

Recentemente mi è stata chiesta da diversa gente qualche informazione su Linux, e ho notato che in giro c’è molta confusione su questo argomento. Quindi ho deciso di rispondere qui a questa domanda per fare un po’ di chiarezza (e così, se qualcuno mi chiederà di nuovo, mi basterà reindirzzarlo qua).

E’ noto che i tre sistemi operativi più diffusi e conosciuti sono Windows XP, Mac OS X e Linux. Quando però si va più nel dettaglio, si fa molta confusione, perchè non si capisce la differenza fra XP Professional e Home, fra Mac OS X Panther e Tiger, e fra Debian GNU/Linux e Fedora Core Linux (eccetera). Ognuno di questi tre sistemi è infatti ampiamente differenziato al suo interno.

Mac OS X è sicuramente il più monolitico dei tre: i nomi come Panther e Tiger servono semplicemente ad indicare le varie versioni in ordine di tempo (Tiger è la più nuova). In Windows, la differenza è principalmente nel tipo di utenza: Home è semplificato e poco potente rispetto a Professional, ma il sistema vero e proprio è praticamente identico.

In Linux, invece, ci sono molte differenze tra una versione e l’altra. Questo perchè la struttura stessa del sistema è completamente differente da quella degli altri due. Linux non è infatti un intero sistema operativo, ma solo un kernel (vedi Free Software – III parte). In ogni versione, ci sono programmi un po’ diversi o configurati in modo diverso per svolgere le operazioni del sistema operativo.

Ognuna di queste versioni è detta distribuzione o distro. Per capirci, la differenza fra una distro e l’altra è la stessa che potrebbe esserci fra diverse autovetture che montano lo stesso motore molto versatile: una è una macchina da corsa, un’altra una station wagon, una un’utilitaria e un’altra ancora un camioncino; il motore però è sempre lo stesso, con modifiche assolutamente marginali.

Proprio come nelle automobili, le distro simili tra loro si differenziano principalmente per gli accessori, cioè per i programmi che si possono installare con facilità direttamente dall’interno del sistema (e in Linux sono VERAMENTE TANTISSIMI). Infatti, in quasi tutti i sistemi Linux per installare un programma è sufficiente essere collegati a internet, sceglierlo da una lista di un apposito programma installer (una dotazione media di una distro è di diverse migliaia di programmi) e scaricandolo e installandolo automaticamente. Da questo punto di vista, Linux potrebbe essere senza dubbio molto più avanti di Windows e Mac OS X se non fosse che la grande abbondanza di distro ha impedito l’adozione di uno standard unico per le installazioni.

Riassumo per punti quello che Linux è e non è.

Linux è

  • un sistema operativo libero
  • un sistema operativo a basso costo
  • un sistema operativo con le stesse possibilità degli altri
  • un sistema operativo disponibile in versioni per tutti, dai programmatori agli inesperti assoluti
  • un sistema operativo che necessita, come ogni altro, un po’ di allenamento per essere sfruttato a dovere

Linux non è

  • il sistema operativo perfetto
  • un sistema operativo completamente gratuito, almeno non sempre
  • un sistema operativo monolitico e controllato dall’alto
  • un sistema operativo meno performante di Windows e Mac OS X
  • un sistema operativo programmato da dilettanti (quasi tutti i suoi programmatori sono programmatori professionisti che programmano Linux nel tempo libero)

Alla prossima puntata sto più sul pratico e vi dico la mia su qualcuna delle distro più diffuse.