Sei sulla pagina 1di 16

Lezione 7.

X: struttura e configurazione
essenziale
X un sistema grafico per gli ambienti Unix. X Window System stato sviluppato originariamente nei
laboratori del MIT (Massachusetts
Institute of Technology ) e in seguito tutti i diritti sono stati assegnati al
X Consortium, a partire dal 1 gennaio 1994. Nel 1998, X Consortium diventato parte di The Open
Group.
I termini X, X Window e X Window System sono da intendersi come sinonimi dello stesso sistema grafico,
mentre il nome X Windows non corretto. Tuttavia, bene sottolineare che X Window System un
marchio registrato di The Open Group.
X Window System un marchio di The Open Group (<http://www.camb.opengroup.org/tech/desktop/x/>) e a
partire dalla versione 11R6.4 non pi software libero. Nell'appendice L riportata la licenza originale,
valida fino alla versione 11R6.3. Attualmente, lo sviluppo di X come software libero avviene per opera di

The XFree86 Project, per il quale continua a essere valida la vecchia licenza MIT (appendice L).7.1

Struttura
Nel sistema X si utilizzano alcuni termini importanti che rappresentano altrettante parti di questo.
1
servente X
Il servente X il programma che gestisce le funzionalit grafiche e le mette a disposizione degli
altri programmi. Per questa ragione, l'elaboratore su cui si fa funzionare il servente X deve essere
dotato di video grafico, tastiera e mouse. Il servente grafico fornisce anche un servizio di rete dal
momento che consente l'accesso a programmi in funzione presso altri elaboratori.
2
cliente X
I clienti X sono i programmi che utilizzano questo ambiente grafico comunicando con il servente
X. Un cliente X pu essere messo in funzione anche in un elaboratore diverso da quello sul quale
in funzione un servente X.
3
protocollo X
Tra i clienti X e il servente X, intercorre una comunicazione, attraverso un protocollo prestabilito.
4
librerie Xlib
I programmi che utilizzano i servizi del servente X utilizzano le funzioni di librerie specifiche che
sono conosciute come Xlib.
5
gestore di finestre
Un gestore di finestre, ovvero un window manager , un programma speciale che si occupa di
gestire le finestre delle varie applicazioni. In generale, nell'ambiente X si tratta di un cliente X.

7.1.1 Hardware

Dal punto di vista di X, l'hardware ci che consente di interagire in questo sistema grafico (nel senso
che il resto non di sua competenza). Si tratta della tastiera, dello schermo grafico e del dispositivo di
puntamento. In pratica il ruolo di X quello di controllare tutto questo.

Figura 7.1. X un sistema attraverso il quale, teoricamente, possibile avere macchine che fanno girare pi di un servente grafico,
ognuno in grado di controllare una stazione grafica (display) che a sua volta utilizza uno o pi schermi grafici.

All'interno di un elaboratore possono funzionare teoricamente pi serventi grafici per controllare altrettante
stazioni grafiche di lavoro. Inoltre, sempre teoricamente, una stazione grafica pu utilizzare pi di uno
schermo grafico contemporaneamente.
Nel gergo di X la stazione grafica il display , e viene identificata da un numero a partire da zero, nella
forma :n. Se una stazione grafica dotata di pi di uno schermo, quando si deve fare riferimento a uno di
questi occorre aggiungere all'indicazione del numero della stazione grafica quello dello schermo. Anche in
questo caso, il primo corrisponde a zero. La forma diventa quindi :n.m , dove n la stazione grafica e m
lo schermo. La figura 7.1 dovrebbe chiarire il meccanismo. Il valore predefinito di stazione grafica e
schermo zero, per cui, quando non si specificano queste informazioni, si intende implicitamente lo
schermo :0.0.
I dispositivi di puntamento, solitamente il mouse, possono avere un numero variabile di tasti; teoricamente
si va da un minimo di uno a un massimo di cinque. Nell'ambiente X, questi tasti si distinguono attraverso
un numero: 1, 2, 3, 4 e 5. Il tasto sinistro il primo, e da l si continua la numerazione. Quando si utilizza
un mouse a tre tasti, il tasto numero due quello centrale.
Il vero problema che X utilizza normalmente tre tasti, mentre la maggior parte dei mouse in circolazione
ne mette a disposizione due (compatibilit Microsoft). Nei mouse a due tasti, il tasto destro svolge la
funzione del tasto numero tre, e solitamente il tasto centrale (cio il numero due) si ottiene con l'uso
contemporaneo dei due tasti esistenti.
Questo problema viene ripreso nella descrizione della configurazione di XFree86 e l dovrebbe risultare
pi chiaro.

7.1.2 Cliente-servente
Il programma che si occupa di gestire la stazione grafica il servente grafico. un servente perch offre
solo dei servizi e non interagisce direttamente con l'utente. Sono i programmi clienti a interagire con
l'utente. Questi richiedono al servente di poter utilizzare uno schermo determinato, e attraverso la
stazione grafica corrispondente sono in grado di ricevere l'input della tastiera e dell'unit di puntamento.
Tra i programmi clienti, quello che riveste un ruolo fondamentale il gestore di finestre, attraverso il quale
si rendono disponibili quei meccanismi con cui si pu passare facilmente da un programma all'altro e le
finestre possono essere ridimensionate o ridotte a icona.
X trasparente nei confronti della rete. Un programma cliente pu utilizzare i servizi di un servente
remoto, interagendo con la stazione grafica di quel servente. Questo tipo di utilizzo richiede comunque
una forma di autorizzazione o autenticazione, per motivi di sicurezza.
Quando si vuole identificare uno schermo particolare di un certo elaboratore nella rete, si antepone alle
coordinate (gi viste nella sezione precedente) il nome o l'indirizzo di quell'elaboratore: host :n.m . La figura
7.3 mostra un esempio di questo tipo di utilizzo.

Figura 7.3. Il servente grafico pu concedere l'utilizzo della stazione grafica anche a programmi in esecuzione su elaboratori remoti.

7.1.3 Servizio attraverso la rete


Nella sezione precedente si visto che un programma cliente pu connettersi con un servente X sia
locale che remoto. Per una connessione remota occorre stabilire un collegamento. Il servente X resta
normalmente in ascolto sulla porta 6 000 + n , dove n rappresenta il numero della stazione grafica, ovvero
del servente X.
Nel caso di una stazione grafica con indirizzo :1, la porta su cui dovrebbe trovarsi in ascolto il servente
relativo la numero 6 001.
Il concetto di cliente-servente per ci che riguarda la rete viene ripreso nei capitoli dedicati proprio alle
connessioni in rete (87 e successivi).

7.1.4 Xlib
I programmi che utilizzano i servizi di un servente grafico fanno uso di librerie particolari. Queste librerie
sono dunque indispensabili anche per quei programmi clienti che utilizzano i servizi di serventi remoti.

7.2 XFree86
XFree86 una collezione di serventi X per i sistemi operativi Unix. In origine, si trattava esclusivamente
della piattaforma i386, e questa la ragione della sigla 86 che compare nel nome, ma poi il progetto si
esteso anche ad altre. XFree86 una derivazione di X386.
Si tratta di una collezione di serventi perch uno solo non basterebbe per gestire tutti i tipi di scheda video
esistenti, di conseguenza, quando si usa X, si deve scegliere il programma servente in relazione alla
scheda video utilizzata.
XFree86 un marchio di The XFree86 Project, Inc.

7.2.1 Collocazione nel file system


La struttura prevista per il file system di GNU/Linux colloca tutti i file statici di X (binari, documentazione,
librerie, ecc.) al di sotto di /usr/X11R6/. I file di configurazione, sono invece collocati al di sotto di
/etc/X11/.
Per ragioni di compatibilit, vengono aggiunti alcuni collegamenti simbolici.
/usr/bin/X11 -> /usr/X11R6/bin

/usr/lib/X11 -> /usr/X11R6/lib/X11


/usr/include/X11 -> /usr/X11R6/include/X11

7.2.2 Configurazione tradizionale


Per poter utilizzare XFree86 occorre configurare il file /etc/X11/XF86Config, di solito attraverso programmi
come xf86config e XF86Setup.
Il primo dei due un programma interattivo che non fa uso di grafica ed piuttosto scomodo: fa una serie
di domande e non possibile tornare indietro quando si scopre di avere sbagliato qualcosa. Si pu solo
ricominciare. Il secondo, un programma grafico, pi comodo, che per potrebbe non funzionare,
soprattutto se sono stati installati solo alcuni serventi grafici e manca quello per la scheda VGA standard.
Di seguito si descrive l'operazione di configurazione attraverso xf86config. Chi utilizza la distribuzione Red
Hat, pu anche usare Xconfigurator che descritto nella sezione 7.2.3, ma la lettura di questa sezione
opportuna ugualmente, essendo pi dettagliata.
importante ribadire che i serventi X sono molti, ognuno specializzato per un gruppo ristretto di schede
video. Generalmente, i programmi di configurazione non avvisano l'utente della presenza o meno del
servente necessario per le scelte che vengono fatte, e la persona inesperta si trova spesso nella
situazione di non poter capire il motivo del mancato funzionamento di X. Quindi, se manca il servente X,
occorre installarlo manualmente, attraverso gli strumenti offerti dalla propria distribuzione
GNU/Linux.Prima di avviare il programma di configurazione occorre avere ben chiare in mente le
caratteristiche dell'hardware video-tastiera-mouse. Per quanto riguarda il monitor si deve conoscere il
valore minimo e massimo delle frequenze di scansione orizzontale e verticale. La frequenza orizzontale
espressa in kHz mentre quella verticale in Hz. La scheda video l'elemento pi delicato e di essa, oltre
che il nome dell'integrato che si occupa della grafica, occorre conoscere la quantit di memoria. Negli
esempi seguenti si fa riferimento a un monitor in grado di utilizzare frequenze orizzontali da 31 kHz a 60
kHz e frequenze verticali da 50 Hz a 90 Hz, una scheda video con integrato S3 Trio64+, una tastiera
italiana standard e un mouse seriale Microsoft compatibile (a due tasti).
$ su[Invio]
meglio operare con i privilegi dell'utente root per fare questa operazione, altrimenti viene creato un file
XF86Config all'interno della propria directory personale invece che nella sua destinazione corretta.
# xf86config[Invio]
This program will create a basic XF86Config file, based on menu selections you
make.
The XF86Config file usually resides in /usr/X11R6/lib/X11 or /etc. A
sample XF86Config file is supplied with XFree86; it is configured for a
standard VGA card and monitor with <num>640</num>x<num>480</num>
resolution. This program will ask for a pathname when it is ready to
write the file

7.2.3 Configurazione con Xconfigurator


Come accennato in precedenza, la distribuzione Red Hat offre l'applicativo Xconfigurator per facilitare la
configurazione di XFree86. Questo stesso programma viene utilizzato nella fase di installazione della
distribuzione.
Xconfigurator
L'eseguibile Xconfigurator non prevede argomenti ed interattivo. All'avvio, esegue una scansione
diagnostica alla ricerca della scheda video. Se si tratta di una scheda PCI molto probabile che venga
identificata. Se la ricerca fallisce, viene richiesto all'utente di scegliere un tipo di scheda, o direttamente il
servente grafico. Successivamente si passa all'indicazione del tipo di monitor.
poco probabile che si riesca a trovare il proprio modello tra quelli proposti dall'elenco, per cui quasi
obbligatorio indicare il tipo Custom. Si deve quindi indicare la frequenza orizzontale e verticale.
importante che le frequenze selezionate non superino i limiti stabiliti dalla casa costruttrice del monitor.
A seconda del tipo di scheda video disponibile potrebbe essere richiesta la selezione del cosiddetto
RAMDAC. Se viene richiesto, in caso di dubbio si pu rinunciare a specificarne il valore.

Un punto delicato dato invece dal cosiddetto Clockchip . Se non si sa di cosa si tratti, bene non
indicare alcunch.
Successivamente deve essere selezionata la quantit di memoria a disposizione della scheda video.
importante non indicarne pi di quanta realmente presente.
Infine, si devono indicare le modalit video, cio la dimensione dello schermo espressa in punti. Per
evitare fastidi inutili, sarebbe conveniente indicare una sola risoluzione per tutti i tipi di profondit di colori.
Al termine, viene provato l'avvio del servente grafico selezionato, utilizzando la configurazione indicata, in
modo da permettere una verifica del suo funzionamento. In modalit grafica viene presentata una finestra
di dialogo per richiedere la conferma del funzionamento. Se la risposta affermativa, viene anche chiesto
se si intende avviare immediatamente il sistema operativo in modo grafico.

7.3 Lettura del file /etc/X11/XF86Config


La lettura del file /etc/X11/XF86Config pu dare molte informazioni utili sull'organizzazione di XFree86. In
particolare, i programmi utilizzati per generarlo sono realizzati in modo da inserire molti commenti, e tra
questi molti esempi di direttive che potrebbero essere utilizzate, cos da agevolare chi volesse modificarlo
successivamente a mano.
Il simbolo # serve a iniziare un commento che termina alla fine della riga, inoltre le righe bianche e quelle
vuote vengono ignorate.

Lezione 7a. X: funzionamento e accesso

Con le distribuzioni GNU/Linux normali, dopo la configurazione del servente X, dovrebbe essere
sufficiente avviare lo script startx, senza argomenti, per vedere funzionare questo ambiente grafico.
$ startx[Invio]
Avendo avviato il servente X, vale la pena di provare a cambiare la risoluzione di visualizzazione
attraverso la combinazione [Ctrl+Alt+num(+)] (control, alt, + del tastierino numerico) e
[Ctrl+Alt+num(-)] (control, alt, - del tastierino numerico).
Per passare dal servente X a una console virtuale, sufficiente utilizzare la combinazione [Ctrl+Alt+F1],
oppure [Ctrl+Alt+F2],... invece del solito [Alt+Fn ] che non potrebbe funzionare. Il servente X occupa
normalmente la posizione della prima console virtuale libera, che solitamente la settima; per cui si
raggiunge con la combinazione [Ctrl+Alt+F7].
Per concludere l'esecuzione del servente X ci sono due modi:
1
interrompere il servente attraverso la combinazione [Ctrl+Alt+Backspace];
2
concludere l'esecuzione del gestore di finestre.
L'interruzione dell'esecuzione del servente X con la combinazione [Ctrl+Alt+Backspace] il modo pi
brutale, ma pu essere opportuno quando non si vede pi nulla, specie quando si avviato X dopo una
configurazione sbagliata.

7a.1 Procedura di avvio


Nelle sezioni precedenti si accennato al modo con cui possibile avviare e concludere il funzionamento
del servente X. Dovrebbe essere chiaro che per avviare X si utilizza normalmente lo script startx, ma
questo non l'unico modo, e in ogni caso, da questo script si articola una struttura piuttosto articolata che
opportuno conoscere.
Il servente grafico un programma distinto a seconda del tipo di scheda grafica. Teoricamente sarebbe
necessario avviare il sistema grafico utilizzando il programma adatto al proprio hardware, in pratica, il
sistema di configurazione provvede a creare un collegamento simbolico in modo da poter avviare il
servente utilizzando semplicemente il nome X.
Se si avvia semplicemente il servente, utilizzando il nome X oppure quello specifico di una particolare
scheda grafica, si ottiene solo una superficie grafica su cui fare scorre il mouse. Per poter fare qualcosa,
occorre almeno avere in funzione un programma che consenta di avviarne altri. Occorrono cio dei
clienti.(1)
Per risolvere questo problema si deve utilizzare il programma xinit, attraverso il quale si possono definire

alcuni clienti di partenza (per esempio un gestore di finestre), il tipo di servente da utilizzare e le sue
opzioni eventuali.

7a.1.1 $ xinit
xinit [[cliente ] opzioni ] [ -- [servente ] [stazione_grafica ] opzioni ]
xinit viene usato per avviare il servente X e un primo programma cliente. Quando questo programma
cliente termina la sua esecuzione, xinit invia un segnale di interruzione al servente X e quindi, a sua volta,
termina la sua esecuzione.
Se non viene indicato un programma cliente specifico, xinit tenta di avviare il file ~/.xinitrc, che di solito
dovrebbe corrispondere a uno script, e se questo manca, tenta di avviare il programma xterm nel modo
seguente:
xterm -geometry +1+1 -n -login -display :0
Se non viene indicato un programma servente specifico, xinit tenta di avviare il file ~/.xserverrc, e se
questo manca, tenta di avviare il programma X nel modo seguente:
X :0
Quando si vuole fare in modo che il servente X venga avviato inizialmente con un gruppetto di programmi
clienti, si fa in modo che xinit utilizzi per questo uno script. Di solito si tratta proprio del file ~/.xinitrc, quello
che verrebbe avviato in modo predefinito. All'interno di questo script, i programmi dovrebbero essere
avviati sullo sfondo, con la possibile eccezione di quelli che terminano immediatamente la loro funzione.
L'ultimo di questi programmi deve funzionare in primo piano (foreground ), in modo che la sua conclusione
corrisponda con quella dello script stesso.
Di solito, xinit viene avviato senza l'indicazione esplicita di cliente e servente. Se si intende utilizzare
questa possibilit, i nomi di questi devono comprendere il percorso per raggiungerli: devono cio inziare
con un punto (.) oppure con una barra obliqua (/). Diversamente non verrebbero riconosciuti come tali, ma
come opzioni per il programma cliente o per il programma servente, a seconda che si trovino a sinistra o a
destra dei due trattini di separazione (--).
Esempi
$ xinit
Avvia xinit con i valori predefiniti. In questo modo xinit tenta di avviare il servente X utilizzando il
programma o lo script ~/.xinitrc come cliente, oppure il programma xterm in sua mancanza.
$ xinit -- /usr/X11R6/bin/X86_SVGA
Si richiede a xinit di avviare il servente /usr/X11R6/bin/X86_SVGA. Per quanto riguarda il cliente, si
utilizzano i valori predefiniti.

7a.1.2 $ startx
Nella sezione precedente si visto che possibile avviare il servente X attraverso xinit. Questo modo
potrebbe per risultare scomodo quando si ha la necessit di utilizzare sistematicamente determinati
attributi. Il sistema grafico dovrebbe essere avviato attraverso lo script startx, che predisposto per xinit
nel modo pi adatto alle esigenze particolari del proprio sistema.
Di solito la distribuzione GNU/Linux fornisce uno script adattato alla sua impostazione, oppure in futuro, lo
stesso programma di configurazione di X potrebbe predisporre da solo questo file. In ogni caso,
l'amministratore del sistema dovrebbe rivedere questo script ed eventualmente ritoccarlo.
La sintassi di startx, quando si tratta di una versione aderente all'impostazione originale di X,
praticamente uguale a quella di xinit.
startx [[cliente ] opzioni ] [ -- [servente ] opzioni ]
startx offre per la possibilit di predisporre delle opzioni predefinite per cliente e servente.
Da quanto visto finora, si pu intuire l'importanza dello script ~/.xinitrc. il mezzo attraverso cui avviare
pi programmi clienti, ma non solo: esistono programmi che hanno lo scopo di configurare alcune
impostazioni del servente X e questo l'unico posto comodo per metterli in esecuzione in modo
automatico. Un esempio di questi programmi xset.

7a.1.3 ~/.xinitrc
Questo script quello predefinito per l'avvio dei primi programmi clienti di un servente X avviato attraverso
il programma xinit.

Per preparare il proprio script personalizzato si pu partire da quello predefinito della distribuzione
GNU/Linux che dovrebbe trovarsi all'interno di /usr/X11R6/lib/X11/xinit/ (oppure /etc/X11/xinit/). Basta
copiarlo nella propria directory personale e cambiargli nome facendolo diventare ~/.xinitrc.
La preparazione di questo script molto importante, se non altro perch permette di definire il tipo di
gestore di finestre che si vuole utilizzare.
Inizialmente occorre concentrarsi nella parte finale, quella che inizia dopo il commento: # start some nice
programs. Nel caso in cui il proprio sistema sia stato predisposto originalmente per utilizzare il gestore di
finestre fvwm, le ultime righe potrebbero apparire come nell'esempio seguente:
# start some nice programs
xsetroot -solid SteelBlue
fvwm
Il programma xsetroot definisce lo sfondo, in questo caso solo un colore, e quindi termina
immediatamente l'esecuzione. Il programma fvwm il gestore di finestre (window manager ) da avviare.
Eventualmente, prima di avviare il gestore di finestre si possono indicare altri programmi che si vuole
siano gi pronti in esecuzione quando si avvia il servente. Per esempio, volendo avviare xclock
basterebbe modificare le ultime righe come segue:
# start some nice programs
xsetroot -solid SteelBlue
xclock &
fvwm
In questo caso, xclock viene avviato sullo sfondo perch altrimenti, a differenza di xsetroot, rimarrebbe in
funzione fino al ricevimento di un segnale di interruzione, impedendo cos l'avvio del gestore di finestre
fino al termine del suo funzionamento.

7a.2 Stazioni grafiche virtuali multiple


XFree86 pu gestire pi di una stazione grafica virtuale simultaneamente, con una modalit d'uso simile a
quella delle console virtuali di GNU/Linux. In pratica, possibile avviare diversi serventi X a cui si abbina
un numero di stazione grafica differente. Dal momento che si tratta sempre della stessa macchina fisica,
la configurazione non cambia.
L'avvio di pi stazioni grafiche virtuali pu creare dei problemi con il mouse se il dispositivo
corrispondente non consente la lettura simultanea da parte di pi processi. Questo sempre lo stesso
problema legato ai mouse bus e si pu risolvere utilizzando il demone gpm con l'opzione -R, e facendo
poi in modo che XFree86 utilizzi il dispositivo /dev/gpmdata.Come stato descritto nelle sezioni
precedenti, il sistema grafico viene avviato generalmente attraverso lo script startx, o eventualmente
richiamando direttamente il programma xinit. Quando non si specificano opzioni particolari, si intende
voler avviare il servente X utilizzando la stazione grafica :0. Questo si traduce in pratica nell'utilizzo della
posizione corrispondente alla prima console virtuale libera di GNU/Linux, che di solito la settima.
Se si vogliono avviare altri serventi X, occorre specificare un diverso numero di stazione grafica, cosa che
serve solo a distinguerle. Cos, ogni nuovo servente avviato utilizzer una posizione corrispondente alla
prima console virtuale rimasta libera. In pratica, [Ctrl+Alt+F7] dovrebbe permettere di raggiungere la
prima di queste stazioni grafiche virtuali, [Ctrl+Alt+F8] la successiva, e cos di seguito.
Semplificando quanto mostrato nelle sezioni precedenti, a proposito di xinit e di startx, si pu fare
riferimento alla sintassi seguente per avviare un servente X.
xinit -- [stazione_grafica ] [opzioni ]
startx -- [stazione_grafica ] [opzioni ]
Dopo i due trattini di separazione della parte cliente da quella servente, possibile indicare il numero
della stazione grafica, e subito dopo si possono indicare altre opzioni.
Di solito, si avvia startx (e meno frequentemente si avvia direttamente xinit) senza indicare alcuna
stazione grafica, facendo riferimento implicitamente al numero :0. Dopo averne avviato uno con questo
numero, non ne possono essere avviati altri con lo stesso, quindi, se si vogliono gestire pi serventi
contemporaneamente, occorre definire la stazione grafica.
$ startx -- :1
L'esempio mostrato avvia una copia del servente X utilizzando la stazione grafica :1.
Ci possono essere dei motivi per avviare diversi serventi X simultaneamente; per esempio per avere due
o pi sessioni funzionanti in qualit di utenti differenti, oppure per poter confrontare il funzionamento in

presenza di diverse opzioni del servente, come nel caso seguente, dove si specifica una profondit di
colori di 16 bit.
$ startx -- :2 -bpp 16
importante tenere a mente che le opzioni del servente, che nell'esempio sono costituite solo da -bpp 16,
vanno poste dopo l'indicazione della stazione grafica.

7a.3 Definizione dello schermo


Per l'utilizzo normale che si pu fare di X non necessario doversi rendere conto che ogni programma
cliente deve specificare lo schermo su cui vuole apparire. Infatti, viene definita automaticamente la
variabile di ambiente DISPLAY contenente le coordinate dello schermo predefinito. Modificando
eventualmente il contenuto di questa variabile, si cambia l'indicazione dello schermo predefinito per i
programmi che verranno avviati ricevendo quel valore.
Generalmente possibile informare un programma dello schermo su cui questo deve apparire attraverso
un argomento standard, -display.

7a.4 Accedere allo schermo


Quando si esegue una sessione Telnet, o qualunque altra cosa che permetta di accedere a un sistema
remoto, si avvia una procedura di accesso su un altro elaboratore, utilizzando il proprio come terminale o
console remota. Quando si utilizza un servente X possibile condividere lo schermo del proprio monitor.
Per farlo occorre autorizzare l'utilizzo del proprio schermo all'elaboratore remoto. Si osservi il comando
seguente:
tizio@dinkel.brot.dg:~$ xterm -display :0 &
Si tratta dell'utente tizio, che dall'elaboratore dinkel.brot.dg intende avviare il programma xterm utilizzando
lo schermo :0 presso il suo stesso elaboratore locale. Si osservi anche che se l'utente in questione avvia
questo comando da una finestra di terminale che si trova gi a funzionare sullo schermo :0, il comando
tizio@dinkel.brot.dg:~$ xterm &
significherebbe la stessa cosa, in quanto l'informazione sullo schermo verrebbe ottenuta dalla variabile di
ambiente DISPLAY, senza bisogno di utilizzare l'opzione -display.
Questo comando avvia xterm, il quale tenta di connettersi con il servente X che gestisce lo schermo
locale :0.0 (abbreviato con :0), allo scopo di poterlo utilizzare: se il servente X si rifiuta, xterm deve
rinunciare.
L'autorizzazione ad accedere allo schermo deve essere definita anche per lo stesso utente che ha avviato
il servente X; tuttavia, questa autorizzazione viene predisposta inizialmente in modo
automatico.L'autorizzazione all'utilizzo del proprio schermo grafico da parte di programmi in esecuzione
su altri elaboratori connessi in rete pu avvenire semplicemente in base a un elenco di indirizzi autorizzati,
oppure attraverso altre forme di riconoscimento. Qui vengono spiegati solo i modi pi semplici e meno
sicuri; per avere una visione completa delle possibilit si devono consultare le pagine di manuale X (1),
xauth (1) e Xsecurity (1).
importante non sottovalutare il pericolo di un accesso indesiderato al proprio servente X, in quanto un
aggressore preparato pu sfruttare questa possibilit per arrivare anche a utilizzare la tastiera. In pratica,
un aggressore potrebbe fare tutto quello che gli concedono i privilegi con cui stato avviato il servente
X.Il metodo pi semplice in assoluto per concedere l'accesso al servente X quello di stabilire attraverso
il comando xhost quali sono gli elaboratori che possono accedere. Questo significa implicitamente che
tutti gli utenti di questi elaboratori possono accedere. Volendo distinguere tra gli utenti, occorre utilizzare
almeno il metodo delle chiavi in chiaro (MIT-MAGIC-COOKIE-1).
Per attuare in pratica questo secondo meccanismo, viene utilizzato un file di configurazione personale,
~/.Xauthority, nel quale sono elencati degli indirizzi di serventi X e le chiavi di accesso relative. Questo file
non leggibile direttamente; tuttavia, a titolo di esempio, potrebbe contenere le informazioni seguenti, che
si riferiscono all'utente tizio presso il solito elaboratore dinkel.brot.dg:
dinkel/unix:0 MIT-MAGIC-COOKIE-1 0f207ef0f71e2490b0648c26ed4f3e41
dinkel.brot.dg:0 MIT-MAGIC-COOKIE-1 0f207ef0f71e2490b0648c26ed4f3e41
Questo contenuto determina che il servente X, avviato dall'utente a cui appartiene questo file, accetta
connessioni locali (attraverso un socket di dominio UNIX) e connessioni remote, attraverso la tecnica del
MIT-MAGIC-COOKIE-1,
quando
chi
accede
fornisce
la
chiave
di
riconoscimento
0f207ef0f71e2490b0648c26ed4f3e41. In questo caso, la chiave la stessa, sia per le connessioni locali
che per quelle attraverso la rete, ma potrebbero essere diverse; quello che conta che il cliente sia in
grado di fornire la chiave giusta in base al tipo di connessione che effettua con il servente.

Per fare in modo che il cliente sappia quale chiave utilizzare, occorre che l'utente che tenta di accedere al
servente X abbia un file ~/.Xauthority contenente un record adatto. In pratica, se l'utente caio vuole
accedere, deve avere il record
dinkel/unix:0 MIT-MAGIC-COOKIE-1 0f207ef0f71e2490b0648c26ed4f3e41
nel caso questo avvenga nell'ambito dello stesso elaboratore locale, oppure il record
dinkel.brot.dg:0 MIT-MAGIC-COOKIE-1 0f207ef0f71e2490b0648c26ed4f3e41
nel caso debba accedere da un altro elaboratore.
Lo stesso utente che ha avviato il servente X deve essere autorizzato, e il suo file ~/.Xauthority serve ad
autorizzare se stesso, e a imporre agli altri la chiave di accesso.Si pu comprendere meglio il
meccanismo della chiave di riconoscimento MIT-MAGIC-COOKIE-1, solo se si pensa allo scopo che ha:
una persona pu avere la possibilit di accedere a pi elaboratori di una stessa rete locale, e le utenze
relative potrebbero anche corrispondere a nominativi-utente distinti, a seconda dell'elaboratore. Questa
persona pu avere la necessit di accedere a uno di questi elaboratori, attraverso la rete, avviando l un
programma che per deve apparire presso la stazione da cui sta operando. In altri termini, quando c' la
necessit di avviare un programma che deve apparire sullo schermo di un altro elaboratore, di solito si
tratta di utenze che appartengono alla stessa persona fisica; in questo senso non c' nulla di strano se
tutte queste utenze condividono la stessa chiave.
Per la precisione, nel caso di due utenti che appartengono allo stesso elaboratore, il record che descrive
la chiave di accesso locale deve essere identico per entrambi. Di conseguenza, la condivisione di questo
implica che il servente X avviato da uno di questi due anche accessibile dall'altro.Dal momento che il file
~/.Xauthority non un file di testo normale, per accedervi, si utilizza generalmente il programma xauth.

7a.4.1 $ xauth
xauth [opzioni ] [comando argomento ...]
xauth il programma necessario per poter accedere alle informazioni contenute nei file di autorizzazione,
normalmente ~/.Xauthority, e per poterle modificare. Per la maggior parte delle situazioni, xauth non ha
bisogno di contattare il servente X.
xauth interviene in base a dei comandi, che gli possono essere impartiti come argomenti della stessa riga
di comando, nella parte finale, oppure in modo interattivo, attraverso l'invito seguente:
xauth>
Spesso, i comandi richiedono l'indicazione di un file. In quella occasione, se si utilizza un trattino singolo
), questo viene inteso come lo standard input, oppure lo standard output, a seconda del contesto.
Alcune opzioni
-f file_di_autorizzazione
Permette di accedere a un file di autorizzazioni differente da quello standard, che di solito
~/.Xauthority.
-b
L'accesso al file delle autorizzazioni regolato attraverso un file di lock, che alle volte potrebbe
rimanere presente senza che ce ne sia pi bisogno. Eccezionalmente, e con prudenza, si pu
utilizzare questa opzione per forzare il blocco ed eliminare il file di lock relativo.
Alcuni comandi
I comandi di xauth possono essere impartiti in modo interattivo, oppure possono essere indicati come
argomenti finali della riga di comando di xauth.
add stazione_grafica

protocollo

chiave_esadecimale

Questo comando serve ad aggiungere manualmente un record nel file di autorizzazione. Deve essere
specificata: la stazione grafica, ovvero un indirizzo che non arriva a specificare anche lo schermo (in
caso contrario questa informazione viene ignorata semplicemente); il tipo di protocollo, che pu anche
essere abbreviato con un punto singolo (.), nel caso si tratti del tipo MIT-MAGIC-COOKIE-1; la chiave
esadecimale, ovvero una stringa composta da un numero pari di cifre esadecimali, senza alcun
prefisso.

list [stazione_grafica

...]

Permette di visualizzare i record del file di autorizzazione, limitandosi alle stazioni grafiche indicate.
Se queste non sono specificate, il comando mostra l'elenco completo.
info
Permette di conoscere alcune informazioni generali sul file di autorizzazione.
extract file [stazione_grafica
nextract file stazione_grafica

...]
...

Questo comando permette di estrarre alcuni record dal file delle autorizzazioni, corrispondenti alle
stazioni grafiche indicate. Il risultato viene accumulato nel file indicato come primo argomento di
questo comando. Nel primo caso, con extract, le informazioni vengono memorizzate in forma binaria,
mentre nel secondo, con nextract, queste informazioni sono convertite in forma testuale.
merge file
nmerge file
Questo comando consente di acquisire nel file di autorizzazione i record contenuti nel file indicato.
Questi record vanno a sostituire quelli corrispondenti, riferiti alle stesse stazioni grafiche che
dovessero essere gi presenti nel proprio file di autorizzazione. Anche in questo caso vale la
differenza per cui merge si aspetta di attingere i record da un file binario, mentre nmerge utilizza un
file di testo normale.
remove stazione_grafica

...

Elimina i record specificati attraverso l'indicazione delle stazioni grafiche relative.


exit
quit
Questi due comandi riguardano il funzionamento interattivo di xauth. Con exit viene concluso il
funzionamento del programma, salvando le modifiche; con quit, si ottiene una conclusione senza
salvare.
Esempi
tizio@dinkel.brot.dg:~$ xauth add :0 . 12345678
L'utente aggiunge, o modifica, il record di autorizzazione riferito all'accesso locale, specificando per
questo il protocollo MIT-MAGIC-COOKIE-1 in modo predefinito, attraverso il punto, e indicando una
stringa esadecimale molto semplice: 1234567816.
tizio@dinkel.brot.dg:~$ extract /tmp/prova :0
Estrae una copia del record di autorizzazione all'accesso locale, e la salva nel file /tmp/prova.
caio@dinkel.brot.dg:~$ merge /tmp/prova :0
Un altro utente, si appropria dei record contenuti nel file /etc/prova.
tizio@roggen.brot.dg:~$
xauth
rsh dinkel.brot.dg xauth merge -

extract

$DISPLAY;

L'utente tizio che sta utilizzando l'elaboratore roggen.brot.dg ottiene attraverso rsh di aggiungere al
proprio file di autorizzazione remoto, quello presso la sua utenza corrispondente nell'elaboratore
dinkel.brot.dg, il record riferito al servente X che sta utilizzando in quel momento. In altri termini, fa in
modo di poter avviare dei programmi presso l'elaboratore remoto, utilizzando la stazione grafica su
cui si trova. Si osservi l'uso della variabile di ambiente DISPLAY per ottenere l'indicazione precisa
dello schermo che sta utilizzando, e anche l'uso del trattino per collegare i due programmi attraverso i
flussi standard.

7a.4.3 Riepilogo sull'utilizzo del file di autorizzazione


Il file di autorizzazione composto da record contenenti tre informazioni: la stazione grafica (senza il
dettaglio dello schermo), il nome di un protocollo di autenticazione, e una chiave, il cui significato varia a
seconda del tipo di protocollo utilizzato.
importante sottolineare che pu esistere un solo record per stazione grafica, per cui, ogni volta che si

aggiunge un record per una certa stazione, questo va a sostituire un altro record eventuale riferito alla
stessa stazione.
In generale, si distingue tra la stazione grafica locale, a cui si accede senza passare per la rete, e le
stazioni grafiche remote, che contengono anche l'indicazione del nome del nodo. Tra le stazioni remote ci
pu essere anche quella locale, indicata secondo il punto di vista della rete.
Perch possa avvenire una connessione tra un programma cliente e un servente X, necessario che il
record di autorizzazione a cui pu accedere il cliente, riferito al servente X in questione, sia identico a
quello corrispondente del servente X.
Il sistema di autorizzazione di X sembra fatto perch le chiavi siano cambiate spesso. In generale, si
cerca di sistemare l'autorizzazione sempre solo nel momento in cui ne esiste il bisogno, e subito dopo
sarebbe bene cambiare la chiave di autorizzazione.

7a.4.4 $ xhost
xhost [[+|-]nome ...]
xhost [+|-]
xhost permette di aggiungere o togliere nomi dalla lista di elaboratori e utenti a cui concesso di utilizzare
lo schermo grafico, senza utilizzare forme di autenticazione. Se non vengono utilizzati argomenti, xhost
emette un messaggio informando sullo stato attuale del controllo degli accessi. I nomi indicati nella
sintassi di xhost hanno una struttura particolare:
famiglia :indirizzo
in pratica, per le connessioni su reti IPv4 si utilizza la famiglia inet.
Le funzionalit di X non sono sempre presenti su tutte le piattaforme. In questo caso particolare, potrebbe
darsi che non sia possibile regolare gli accessi ai singoli utenti.
Se si vuole concedere sistematicamente l'accesso a qualche nodo, conviene inserire i comandi necessari
all'interno del file ~/.xinitrc in modo che siano eseguiti ogni volta all'avvio del servente X.
Opzioni
+
L'accesso consentito a tutti.
L'accesso consentito solo agli elaboratori e agli utenti inclusi nell'elenco di quelli autorizzati.
[+]nome
Il nome indicato -- pu trattarsi di un elaboratore o di un utente di un elaboratore -- autorizzato a
utilizzare lo schermo. Il segno + iniziale facoltativo.
-nome
Il nome indicato -- pu trattarsi di un elaboratore o di un utente di un elaboratore -- non autorizzato a
utilizzare lo schermo. Le connessioni in corso non vengono interrotte, ma le nuove connessioni
vengono impedite.
Esempi
$ xhost +
Autorizza chiunque ad accedere.
$ xhost Limita la possibilit di accesso ai soli nomi inseriti nell'elenco di elaboratori e utenti autorizzati.
$ xhost +inet:roggen.brot.dg
Consente all'elaboratore roggen.brot.dg di accedere al servente grafico.
$ xhost -inet:roggen.brot.dg
Elimina l'elaboratore roggen.brot.dg dalla lista di quelli a cui consentito accedere.

7a.5 Tipi di carattere -- fonts


In base a quanto indicato nel file di configurazione /etc/XF86Config nella sezione Files, i tipi di carattere
utilizzati da X sono collocati nelle directory successive a /usr/X11R6/lib/X11/fonts/. All'interno di queste

directory si trovano una serie di file contenenti le varie fonti tipografiche e i loro nomi sono contenuti negli
elenchi fonts.dir.

Lezione 7b. X: gestori di finestre


Il gestore di finestre, o window manager (WM), quel programma cliente, che si occupa di incorniciare le
superfici degli altri programmi clienti, di gestire la messa a fuoco, e quindi il passaggio da un programma
all'altro e di altre funzioni di contorno. Anche se apparentemente non sembra molto, il gestore di finestre
in grado di cambiare la faccia e il funzionamento operativo del sistema X.
Alcuni gestori di finestre consentono di utilizzare una superficie maggiore di quella che si vede sullo
schermo. Si parla in questi casi di gestori di finestre con superficie grafica virtuale, ovvero di virtual
window manager (VWM). Di solito, per passare da una zona all'altra della superficie grafica virtuale si
utilizza la combinazione [Ctrl+freccia...] nella direzione in cui ci si vuole spostare, oppure si utilizza il
mouse all'interno di una tabellina riassuntiva di tutta la superficie grafica virtuale.
Volendo, a puro titolo didattico, si pu utilizzare X senza un gestore di finestre.
$ xinit xterm -geometry =50x10+10+10
Per conoscere maggiori notizie sui gestori di finestre per X si pu consultare la pagina
<http://www.plig.org/xwinman>.

7b.1 twm
Il gestore di finestre tradizionale e pi semplice twm. l'unico che venga fornito assieme a X. Non
particolarmente amichevole, ma utilizza poche risorse, e cos adatto agli elaboratori pi lenti; e inoltre
facile da configurare. Vale sempre la pena di configurare in modo essenziale questo gestore di finestre
per avere un riferimento sicuro, anche quando se ne intende utilizzare principalmente un altro pi
sofisticato.

7b.1.1 twm e ~/.xinitrc


Per fare in modo che, attraverso lo script startx, si avvii automaticamente il gestore di finestre twm,
occorre ricordare di modificare il proprio script ~/.xinitrc.
Nel caso particolare di twm che un gestore di finestre piuttosto povero, pu essere conveniente l'avvio
di altri programmi prima di twm stesso. Ecco come potrebbe terminare il nostro ~/.xinitrc.
# start some nice programs
# TWM
xsetroot -solid gray
xclock -digital -geometry +0-0 &
xbiff -geometry -0-0 &
twm
In questo esempio si pu osservare che viene avviato prima il programma xsetroot per definire un colore
uniforme del fondale (la finestra principale), quindi vengono avviati xclock e xbiff sullo sfondo
(background ). Infine viene avviato il gestore di finestre twm.(1)

7b.1.2 ~/.twmrc
Il file ~/.twmrc contiene la configurazione personalizzata di twm. Se manca, viene utilizzata solitamente la
configurazione predefinita, e in tal caso potrebbe trattarsi di /usr/X11R6/lib/X11/twm/system.twmrc.
Segue un esempio molto semplificato di una possibile configurazione personalizzata, ottenuta attraverso
la modifica del file di configurazione distribuito assieme a twm.

7b.2 fvwm
Il gestore di finestre fvwm una derivazione di twm con superficie grafica virtuale e cornici tridimensionali.

7b.2.1 fvwm e ~/.xinitrc


Per fare in modo che, attraverso lo script startx, si avvii automaticamente il gestore di finestre fvwm,
occorre ricordare di modificare il proprio script ~/.xinitrc.
Generalmente sufficiente avviare il gestore di finestre, senza altri programmi accessori.
# start some nice programs

fvwm

7b.2.2 ~/.fvwmrc
Il file ~/.fvwmrc contiene la configurazione personalizzata di fvwm. Se manca, viene utilizzata solitamente
la configurazione predefinita, e in tal caso potrebbe trattarsi di /usr/X11R6/lib/X11/fvwm/system.fvwmrc.
Come al solito, la personalizzazione del file di configurazione parte da una copia di quello predefinito.
$ cp /usr/X11R6/lib/X11/fvwm/system.fvwmrc ~/.fvwmrc
Il file di configurazione predefinito potrebbe essere molto complesso, ma adeguatamente commentato in
modo da guidare chi desidera modificarlo. In generale, non conveniente personalizzare tutto. Di sicuro
necessario sistemare i men, mentre il resto pu rimanere com'.

7b.3.1 fvwm2 e ~/.xinitrc


Per fare in modo che, attraverso lo script startx, si avvii automaticamente il gestore di finestre fvwm2,
occorre ricordare di modificare il proprio script ~/.xinitrc.
Generalmente sufficiente avviare il gestore di finestre, senza altri programmi accessori.
# start some nice programs
fvwm2

7b.3.2 ~/.fvwm2rc
Il file ~/.fvwm2rc contiene la configurazione personalizzata. Se manca viene utilizzata solitamente la
configurazione predefinita e in tal caso potrebbe trattarsi di /usr/X11R6/lib/X11/fvwm2/system.fvwm2rc.
Per la personalizzazione del file di configurazione si parte normalmente da una copia di quello predefinito.
$ cp /usr/X11R6/lib/X11/fvwm2/system.fvwm2rc ~/.fvwm2rc
Il file di configurazione predefinito molto complesso, ma adeguatamente commentato in modo da
guidare chi desidera modificarlo. In generale, conveniente personalizzare almeno il sistema di men,
ma anche la barra delle applicazioni, quella che emula il comportamento di MS-Windows 95, necessita di
una verifica.

7b.4 fvwm95-2
Il gestore di finestre fvwm95-2 una variante di fvwm2 che si avvicina ancora di pi al comportamento di
MS-Windows 95.

7b.4.1 fvwm95-2 e ~/.xinitrc


Per fare in modo che, attraverso lo script startx, si avvii automaticamente il gestore di finestre fvwm95-2,
occorre ricordare di modificare il proprio script ~/.xinitrc.
Generalmente sufficiente avviare il gestore di finestre, senza altri programmi accessori.
# start some nice programs
fvwm95-2

7b.4.2 ~/.fvwm2rc95
Il file ~/.fvwm2rc95 contiene la configurazione personalizzata. Se manca viene utilizzata solitamente la
configurazione predefinita e in tal caso potrebbe trattarsi di
2/system.fvwm2rc95.
Per la personalizzazione del file di configurazione si parte normalmente da una copia di quello predefinito.
$ cp /usr/X11R6/lib/X11/fvwm95-2/system.fvwm2rc95 ~/.fvwm2rc95
Il file di configurazione predefinito molto complesso, ma adeguatamente commentato in modo da
guidare chi desidera modificarlo. In generale, conveniente personalizzare almeno il sistema di men,
ma anche la barra delle applicazioni, quella che emula il comportamento di MS-Windows 95, necessita di
una verifica.
Il formato di questo file compatibile con quello di fvwm2.

7b.5 AfterStep
Il gestore di finestre afterstep una derivazione di fvwm in cui si emula il comportamento dell'interfaccia
grafica di NeXT. Dal punto di vista operativo si comporta in maniera molto simile a fvwm.

7b.5.1 ~/.steprc

Il file ~/.steprc contiene la configurazione personalizzata. Se manca viene utilizzata solitamente la


configurazione predefinita: /usr/X11R6/lib/X11/afterstep/system.steprc.

Introduzione a GNOME
Cosa GNOME
GNOME un ambiente integrato di lavoro con una interfaccia amichevole che permette agli utenti di
utilizzare e configurare in modo molto semplice il proprio computer. GNOME include un pannello ( per
avviare applicazioni e monitorare lo status del computer ), un desktop ( dove files e applicazioni possono
risiedere ), un set di applicazione e tool standard per la gestione del desktop, e un insieme di
caratteristiche che permettono alle applicazioni di cooperare facilmente tra loro e di condividere un
aspetto coerente. Gli utenti di altri sistemi operativi o ambienti integrati si troveranno come a casa
utilizzando l'ambiente altamente grafico che GNOME mette a disposizione.
GNOME interamente Open Soruce (software libero), e il suo codice, sviluppato da centinaia di
sviluppatori in tutto il mondo, disponibile liberamente. Se desiderate saperne di pi sul progetto GNOME
visitate il sito web di GNOME a http://www.it.gnome.org.
GNOME apporta numerosi vantaggi per gli utenti. GNOME rende molto semplice l'utilizzo e la
configurazione delle applicazioni senza sfruttare una interefaccia solo testo. GNOME altamante
configurabile, permettendovi di personalizzare il vostro desktop per accordarsi ai gusti e le esigenze di
ognuno. Il GNOME Session Manager ricorder per voi le impostazioni, cos tutto risulter configurato
come avete deciso voi stessi. GNOME molti linguaggi umani, e potete aggiungerne di nuovi senza
cambiare software. GNOME supporta inoltre molti protocolli di Drag and Drop per la massima
interoperabilit che le applicazioni che non sono GNOME-compatibili.
GNOME apporta inoltre numerosi vantaggi anche per gli sviluppatori che indirettamente aiutano anche gli
utenti. I programmatori non devono comprare una costosa licenza software per rendere le loro
applicazioni GNOME commerciali. Infatti, GNOME indipendente - nessuna componente dell'interfaccia
controllata da una unica societ oppure limitata nella modifica e distribuzione. Le applicazioni per GNOME
possono essere sviluppate in un gran numero di linguaggi di programmazioni, non obbligando quindi l'uso
di un singolo linguaggio. GNOME utilizza il Common Object Request Broker Architecture (CORBA) che
permette alle componenti software di interoperare senza difficolt, indipendentemente dal linguaggio di
programmazione in cui sono scritte, o addirittura il computer sulle quali sono in esecuzione. Infin, GNOME
pu essere utilizzato su molti sistemi operativi di tipo Unix, incluso Linux.
GNOME un acronimo per GNU Network Object Model Environment, quindi si pu dire che GNOME
una parte del progetto pi grande , GNU. Il progetto GNU iniziato nel 1984 con il fine di sviluppare un
sistema operativo di tipo Unix completamente libero. Se siete interessati sul progetto GNU potete trovare
maggiori informazioni a
http://www.gnu.org.

Introduzione a KDE
Cosa KDE
KDE il K Desktop Environment ovvero l' Ambiente Desktop "K".
KDE un progetto iniziato da Matthias Ettrich nel 1996. Lo scopo del progetto KDE di connetere la
potenza dei sistemi operativi Unix con il comfort di una moderna interfaccia utente.
In breve: KDE porter Unix sul desktop!

Cosa significa la K di KDE


K Desktop Environment, come la X in X window system.

Su quali piattaforme posso aspettarmi che KDE funzioni?


KDE un ambiente desktop per tutti i tipi di Unix. Mentre vero che molti sviluppatori del KDE usano
linux, KDE funziona bene con un gran numero di sistemi. Potersti dover modificare un po' le sorgenti per
far compilare il KDE in cloni Unix non molto popolari o se non usi il Kit di Sviluppo GNU in particolare il
compilatore gcc.
Alcuni dei sistemi dove linux funziona sono:
1
Linux
2
Solaris
3
FreeBSD
4
IRIX
5
HP-UX

Il KDE un window manager?


No, KDE non un window manager. Il KDE contiene un window manager,il KWM, ma molto di pi --
un ambiente desktop integrato. Oggi (Gennaio 98) conta pi di mezzo milione di linee di codice e solo
7000 sono quele relative alla gestione delle finestre.
Il KDE contiene un ambiente desktop completo che include un file manager, un window manager, una
guida, un sistema di configurazione, innumerevoli altri accessori e un numero sempre crescente di
applicazioni tra le quali dei client per le news e per la posta, programmi di disegno e scrittura,
visualizzatori di file postscript e dvi e altro ancora.

Il KDE un clone di CDE, Windows 95, MacOS?


No, KDE non un clone. In particolar modo non un clone di CDE o di Windows. Mentre gli sviluppatori
del KDE continuano a raccogliere le migliori caratteristiche dei Desktop gi esistenti KDE un ambiente
veramente unico che percorre e continuer a percorrere la sua strada.

Il KDE software libero?


Si, il KDE software libero secondo la GNU General Public License. Tutte le librerie del KDE sono
disponibili sotto la LGPL in modo che sia possibile sviluppare software commerciale per il KDE, tutte le
applicazioni sono sotto la licenza GPL.
Il KDE usa il Qt C++ crossplatform toolkit, che sotto una licenza a parte.
In breve,la licenza Qt ti permette di usare liberamente QT per sviluppo di software sotto X Windows finch
il codice delle tue applicazioni sar liberamente disponibile. Se non vuoi rendere libero il codice sorgente
delle tue applicazioni scritte usando Qt, devi ottenere una licenza commerciale per Qt. Puoi trovare
maggiori informazioni su Qt e su questa licenza al sito della Troll Tech.
Se sei in dubbio sul tipo di licenza che fa per te contatta direttamente la Troll Tech.
assolutamente legale rendere disponibili KDE e Qt su CD privi di costo. Non c' rischio di nessun tipo di
sanzione.

Potrebbero piacerti anche