La panoramica sull'architettura di X e i suoi strumenti di sviluppo,
peraltro interessante per un programmatore o aspirante tale, ha lo
scopo di rendere il lettore più consapevole di quanto accade sotto
il cofano del luccicante ambiente grafico. All'atto pratico, sarà
sufficiente scegliere l'ambiente grafico tra i due più importanti
KDE e GNOME (se avete scelto qualche altro ambiente grafico probabilmente
non avete bisogno di leggere questo manuale). Inserite eventualmente:
-
- # aptitude install kde
oppure
-
- # aptitude install gnome
La configurazione standard di Debian prevede all'avvio di eseguire
il runlevel due (paragrafo 2.8.2),
che fa partire il server X ed attiva automaticamente il login
grafico che lancerà KDE o GNOME. Alcuni utenti potrebbero preferire
di restare in console e lavorare mediante la shell, senza avviare
automaticamente il server X. In questo caso, possiamo poi in qualunque
momento avviare il server X con il comando:
-
- $ startx
che in generale prende la seguente sintassi:
-
- $ startx - :<n> vt<g>
ove:
Provate:
-
- $ startx - :1 vt8
Facendo però partire il server X da console, dobbiamo specificare
noi quale ambiente grafico lanciare, modificando il file ~/.xinitrc
inserendovi la seguente riga:
-
- startkde
per far partire KDE oppure:
-
- gnome-session
per far partire GNOME. Per ottenere tale risultato, potremmo per esempio
personalizzare il runlevel tre, commentando nel file /etc/inittab
la riga:
-
- id:2:initdefault:
ed impedendo l'avvio del login grafico nel runlevel
tre; nel caso per esempio si usi il session manager kdm del
KDE, occorrerà inserire:
-
- # update-rc.d -f kdm remove
# update-rc.d kdm start 99 2 4 5 . stop 01 0 1 6 .
Con questa personalizzazione il computer si fermerà durante l'avvio
a chiedere il valore di runlevel da utilizzare; inserendo il
numero tre avremo il login che ci porterà direttamente
in console.
Spesso gli utenti incontrano problemi a far funzionare correttamente
la scheda video del computer; ciò dipende dal fatto che i produttori
mantengono segrete le specifiche tecniche e nel migliore dei casi
rilasciano driver proprietari, che non possono essere inclusi
in Debian (e che spesso funzionano anche male). Un certo numero di
schede video è supportato dal relativo driver all'interno di
XFree86; per togliervi ogni dubbio in proposito andatevi a leggere
il file (compresso) :
-
- $ zless /usr/share/doc/xserver-xfree86/Status.gz
ma non aspettatevi miracoli; sono pochi i programmatori che hanno
la capacità di scrivere driver video in reverse-engineering.
E' sempre possibile tornare sul menu di configurazione della scheda
video, inserendo:
-
- # dpkg-reconfigure xserver-xfree86
Figure 4.2:
Flightgear: Cessna C-172 in volo a diecimila piedi
|
Attenzione, perché purtroppo debconf non dà alcuna indicazione sul
modello di scheda video, richiedendo direttamente di specificare il
driver. Le note si fanno ancora più dolenti per la grafica
tridimensionale accelerata in hardware, che XFree86 ha introdotto
usando DRI (Direct Rendering Infrastructure), indispensabile
per far funzionare molti giochi e programmi che fanno un uso intenso
della grafica, come modellatori molecolari o simulatori di volo e
spaziali (Fig.4.2). Se non sono tante le schede
video supportate direttamente da XFree86, ancora meno sono quelle
capaci di usare DRI; per sapere se la vostra scheda ha l'accelerazione
hardware attiva, inserite in una console grafica, ovvero
sotto X:
-
- $ glxinfo
Se nel copioso output leggete la riga:
-
- direct rendering: no
allora non avete l'accelerazione grafica hardware attiva. Solo una
maggiore apertura dei produttori delle schede video ed un impegno
delle distribuzioni Linux a dedicare allo sviluppo di X la stessa
attenzione e lo stesso numero di programmatori che forniscono al kernel
potrà eliminare l'aspetto - la mancanza di driver video - che
causa problemi all'utente finale.
Mauro Darida
2006-07-25