6.18. Il sistema X Window, principi di base e impostazione Debian

NotaNota del Traduttore
 

Questa sezione risulta obsoleta al momento della traduzione della Guida, poiché le ultime release di Debian GNU/Linux utilizzano Xorg in modo predefinito, ma è stata lasciata invariata in quanto può risultare ancora utile per quanto riguarda le informazioni di base che sono ancora almeno in parte utilizzabili.

6.18.1. Il Progetto XFree86, un'implementazione a codice aperto del sistema X Window

Da www.XFree86.org:

La XFree86 Project, Inc è l'organizzazione che produce XFree86, un'implementazione libera, ridistribuibile a codice aperto del sistema X Window che gira su sistemi operativi Unix(R) e simil-Unix come Linux, tutte le varianti di BSD, Sun Solaris x86, Mac OS X (tramite Darwin), oltre ad altre piattaforme come OS/2 e Cygwin.

XFree86, il prodotto, fornisce un'interfaccia client/server tra l'hardware (il mouse, la tastiera e display video) e l'ambiente desktop fornendo anche allo stesso tempo sia l'infrastruttura a finestre che una interfaccia per applicazioni standardizzata (API). XFree86 è indipendente dalla piattaforma, trasparente alla rete ed estensibile.

Con XFree86 un utente non può solo scegliere l'ambiente desktop che preferisce, ma siccome è un progetto a codice aperto, gli utenti possono anche modificare e aggiornare i propri sistemi a loro piacimento. Dato che XFree86 è sempre stato un imperturbabile sostenitore di libertà del desktop utente, incoraggiamo gli utilizzatori a personalizzare i propri desktop con l'applicazione a loro scelta, che sia KDE, GNOME, Enlightenment, Blackbox, AfterStep, fvwm o twm.

L'obbiettivo di XFree86 è di avere X che gira su ogni piattaforma disponibile, incluse quelle che non sono attualmente supportate, come il migliore sistema a finestre disponibile su quella piattaforma.

6.18.2. X Strike Force: il supporto XFree86/X Window per Debian

Visitare la sua pagina web, X Strike Force.

6.18.3. Installazione di XFree86

Debian potato (2.2) è rilasciata con XFree86 versione 3.6.6, mentre Debian woody (3.0)[1] ha XFree86 version 4. Si veda lo stato attuale sulla homepage di X Strike Force.

X4 possiede un mucchio di miglioramenti ed è ora standard in Debian. Non c'è molta differenza dalla prospettiva della amministrazione, ma le annotazioni saranno inserite dove necessario.

Si può installare il supporto X di base, il window manager icewm e il display manager wdm con:

# apt-get install xserver-xfree86 xbase-clients xfonts-base icewm 
  icewm-themes wdm 	

NotaNotare:
 

Se si sta utilizzando X3, dare apt-cache search xserver- e installare quello appropriato invece di xserver-xfree86.

wdm è un equivalente con un aspetto migliore di xdm, l'X Display manager (apre prompt di login grafici). È piacevole da avere, specialmente se si vogliono installare diversi window manager e poi selezionare quello da utilizzare dal menu di wdm. Se si sta utilizzando Gnome o KDE, considerare l'utilizzo dei loro programmi nativi, gdm o kdm.

6.18.4. Configurazione del server XFree86

Quando si installano i pacchetti, il processo di configurazione si avvia automaticamente. Se non funziona correttamente la prima volta, si può sempre riavviare la configurazione con:

# dpkg-reconfigure xserver-common
# dpkg-reconfigure xserver-xfree86

L'interfaccia è molto pulita e dovrebbe aiutare a creare configurazioni funzionanti di XFree in poco tempo. In caso di problemi, ispezionare il file di configurazione (/etc/X11/XF86Config-4 o /etc/X11/XF86Config) manualmente per essere sicuri di avere le opzioni corrette per i driver e che l'opzione UseFBDev sia impostata a "false" (questi sono gli errori più comuni).

SuggerimentoSuggerimento
 

Se non si vede l'opzione UseFBDev nel file di configurazione, è necessario aggiungerla manualmente e impostarla a false. La posizione corretta per farlo è la parte Section "Device" del file di configurazione e deve assomigliare più o meno a questo:

Section "Device"
    Driver      "ati"
    Option      "UseFBDev"   "false"
    BusID       "PCI:1:0:0"
EndSection

6.18.5. Impostare la risoluzione in X

Quando si avvia X, esso prende la profondità di colore predefinita, carica l'elenco di risoluzioni disponibili per la profondità data e visualizza quella più alta. Si può allora passare ciclicamente tra le altre risoluzioni predefinite con Ctrl+Alt+"+" e "-".

Tutto questo è impostato in /etc/X11/XF86Config-4. Questo è un estratto dalla configurazione per colori a 16bit con risoluzione predefinita a 1024x768:

...
Section "Screen"
 ...
 DefaultDepth 16
 SubSection "Display"
   Depth 1
   Modes "1152x864" "1024x768" "800x600" "640x480"
 EndSubSection
 ...
 SubSection "Display"
   Depth 16
   Modes "1024x768" "800x600" "640x480"
 EndSubSection
 ...
EndSection
...

Per avviare X esplicitamente con colori a 16bit (se non c'è l'opzione DefaultDepth o se è differente), usare:

startx -- -bpp 16

Se si desidera fare ulteriori esperimenti con frequenze di refresh e risoluzioni, si possono sia mettere a punto manualmente le definizioni di VertRefresh, HorizSync e Modeline (solo in X3), che vedere le linee guida per la regolazione di X di OpenBSD.

6.18.6. Autoriconoscimento dei dispositivi

Per sfruttare qualche tipo di riconoscimento automatico dei dispositivi, si vedano i seguenti programmi:

6.18.7. Il modello client-server

Siccome X è un modello basato su architettura client-server (come lo sono molte altre cose in Unix), significa che si ha una enorme nuova gamma di caratteristiche a propria disposizione. Le discuteremo adesso.

denali:~$ slogin monarch
Enter password: xxxxx
monarch:~$ echo $DISPLAY
denali:0
monarch:~$ xeyes&

NotaNotare:
 

Notare tuttavia che bisogna avere le seguenti opzioni abilitate per fare in modo che l'esempio succitato funzioni: X11Forwarding in /etc/ssh/sshd_config e ForwardX11 in /etc/ssh/ssh_config. Per riavviare il demone ssh, usare /etc/init.d/ssh restart

6.18.8. La Direct Rendering Infrastructure (DRI)

Ecco una piccola introduzione dal file Documentation/Configure.help (dei pacchetti kernel-doc-*):

AGP (Accelerated Graphics Port) è un bus di sistema utilizzato principalmente per connettere schede grafiche al resto del sistema. Se si ha un sistema AGP, sarà possibile utilizzare le funzionalità della propria scheda video 3D rendering. Notare che questo è il solo modo per far sì che XFree4/GLX usi il write-combining con il supporto MTRR sul bus AGP. Senza di esso il direct rendering OpenGL sarà molto più lento ma sempre più veloce di PIO.

Il supporto a livello kernel per la Direct Rendering Infrastructure (DRI) è stato introdotto in XFree86 4.0 (che voi dovete avere, se usate Debian Woody (3.0) o release più recenti).

6.18.9. Annotazioni su XFree86

X3 ha meno driver e si devono installare specifici driver per specifici gruppi di schede grafiche (per esempio, xserver-rage128, mach32, mach64, i128, 3dlabs, agx, 8514, s3v ecetera). In X4, ciò è stato risolto installando solamente xserver-xfree86, che è modulare e carica i moduli appropriati al volo. Inoltre il file di configurazione è /etc/X11/XF86Config-4 per X4 e semplicemente /etc/X11/XF86Config per il vecchio X3.

In generale, si utilizzi X3 su vecchie macchine sulle quali si desidera risparmiare memoria.

6.18.10. Risoluzione dei problemi

6.18.11. Window manager

Adesso avete il sistema X Window che gira. Che sia chiaro: si ha la necessità del server X perché sa come comunicare con il proprio hardware e mostrare effettivamente la grafica. Ma questo è tutto ciò che fa. L'aspetto reale della propria interfaccia dipende solamente dal "window manager". Se mi avete ascoltato, probabilmente ora avete icewm in esecuzione, ma ce ne sono altri (quando li installate diventano predefiniti o appaiono nel menu di login di wdm). Si provino wmaker, blackbox, afterstep, xfce o enlightenment. Provare anche twm e fvwm almeno per ragioni storiche, per comprendere il folclore Unix ;)

Se si installano ambienti GUI tipo Gnome e KDE, non ci si dovrà preoccupare dei window manager dato che essi si saranno già presi cura di tutto.

Non si resti delusi dall'aspetto di wdm o icewm (i gusti sono differenti), si hanno molteplici possibilità di scelta; si guardi decisamente il sito web Window Manager per X.

Per avere un programma che mostri il login grafico (così non si deve fare il login in console e digitare startx ogni volta), installare il pacchetto wdm (o uno qualsiasi dei suoi corrispettivi, xdm, kdm o gdm). Sarà anche possibile selezionare quale window manager utilizzare dal menu di wdm.

Si può anche avviare X senza window manager (solitamente per scopi di test). Provare avviando xinit.

6.18.12. Font (tipi di carattere) per X

I font che si possono desiderare si trovano nei pacchetti xfonts-*. Digitare questo comando per ricercarli:

# apt-cache search xfonts-

Se si è interessati all'utilizzo dei font ttf Microsoft, ci sono server di font che possono gestirli e io raccomanderei di provare xfstt. Nessun font viene fornito con esso dato che tutti hanno licenze non libere. Questo significa che si devono recuperare i font ttf per proprio conto, copiarli in /usr/share/fonts/truetype/, aggiungere FontPath “unix/:7101” a /etc/X11/XF86Config, eseguire /etc/init.d/xfstt restart e poi riavviare X.

Per navigare i font installati, vedere i programmi xfontsel e gfontview.

Si controlli anche il file http://www.linuks.mine.nu/fonts/readme.

In realtà, X4 può gestire i font TrueType direttamente, non è necessario il server font con supporto ttf; semplicemente aggiungere il FontPath dei ttf nel file di configurazione di X.

6.18.13. Gpm (il driver del mouse per console) e XFree86

Probabilmente si avranno dei problemi con gpm e XFree86 che girano contemporaneamente. La soluzione sarebbe quella di impostare il "repeat type" a "raw" nella configurazione di gpm e il dispositivo del mouse a /dev/gpmdata nel file di configurazione di X, ma ciò non sempre dà risultati usabili. Io preferisco disattivare gpm.

Note

[1]

La mia prima Debian :) (N.d.T.)