The Linux XFree86 HOWTO
di Eric S. Raymond
v6.1, 21 aprile 2000
Questo documento descrive come ottenere, installare e configurare la
versione 4.0 di XFree86, una versione dell'X Window System per i sis�
temi Linux. Questa � una guida passo passo alla configurazione di
XFree86 sul proprio sistema. Traduzione di Federico Cossu,
<
[email protected]>, flug-firenze.
1. Introduzione
L'X Window System � un grande e potente (qualcuno dice eccessivamente
grande e complesso) ambiente grafico per i sistemi UNIX. L'X Window
System originale � stato sviluppato al MIT; i rivenditori commerciali
ne hanno fatto lo standard industriale per le piattaforme UNIX.
Virtualmente ogni workstation UNIX nel mondo utilizza una qualche
variante del sistema X Window.
Una versione liberamente ridistribuibile del MIT X Window System
versione 11, release 6 (X11R6) per sistemi UNIX 80386/80486/Pentium �
stata sviluppata da un team di programmatori originariamente guidati
da David Wexelblat <
[email protected]>. La release, nota come XFree86,
� disponibile per System V/386, 386BSD, e altre implementazioni UNIX
x86, tra cui Linux. Include tutti i binari, file di supporto, librerie
e strumenti necessari.
Informazioni complete su XFree86 sono disponibili nel sito web di
XFree86 <
http://www.XFree86.org>.
In questo documento, verr� data una descrizione passo passo su come
installare e configurare XFree86 per Linux, ma star� poi al lettore
integrarla in maggior dettaglio leggendo la documentazione distribuita
con XFree86 stesso (questa documentazione viene descritta in seguito).
Ovviamente, l'uso e la personalizzazione dell'X Window System sono
argomenti che vanno oltre questo documento: su tali argomenti � bene
procurarsi uno dei tanti buoni libri sull'uso dell'X Window System.
1.1. Altre fonti di informazione
Se non si � mai sentito nulla su Linux, ci sono parecchie fonti di
informazioni basilari sul sistema. Il miglior posto in cui trovarle �
nella home page del Linux Documentation Project
<
http://metalab.unc.edu/LDP>. L� � possibile trovare anche l'ultima e
pi� aggiornata versione (in inglese) di questo documento:
<
http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html>.
Una buona fonte di informazioni in lingua italiana � la home page
dell'Italian Linux Documentation Project
<
http://www.pluto.linux.it/ildp>.
1.2. Nuove versioni di questo documento
Le nuove versioni del XFree86 HOWTO saranno periodicamente postate su
comp.os.linux.help, su comp.os.linux.announce e su news.answers.
Saranno anche disponibili su vari siti Linux WWW e FTP, inclusa la
home page di LDP.
Si potr� sempre vedere l'ultima versione di questo documento sul World
Wide Web all'URL
<
http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html>.
1.3. Commenti e correzioni
Se si hanno domande o commenti su questo documento, per favore si
invii una mail a Eric S. Raymond, a
[email protected]. Accetter�
benevolmente ogni suggerimento o critica. Se si trovano errori in
questo documento, me lo si faccia sapere cosicch� possa correggerli
nella prossima versione. Grazie.
Per piacere, non mi si inviino domande su come far funzionare la
propria scheda video e il proprio monitor con X. Questo HOWTO vuole
essere una guida rapida e anti-panico a una normale installazione
usando il nuovo metodo di configurazione interattivo. Se si
incontrano problemi, si punti il proprio browser a
<
http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html>
(questo � la versione HTML aggiornata del file `Videomodes.doc' di
XFree86). Quel documento dice tutto quello che so a proposito della
configurazione e dei problemi relativi a essa. Se anche questo non pu�
aiutarvi, io non posso fare altro.
2. Requisiti hardware
Si pu� leggere una lista aggiornata delle schede e dei chipset
supportati presso
http://www.xfree86.org/4.0/Status.html.
La documentazione inclusa nella propria scheda video dovrebbe
specificare il chipset usato. Se si ha intenzione di comprare una
nuova scheda video, o si sta comprando una nuova macchina che ha gi�
una scheda video, si deve sapere (il rivenditore dovrebbe dichiararlo)
esattamente qual � la marca, modello e chipset che utilizza. A tal
fine potrebbe essere necessario che il venditore chiami il supporto
tecnico al vostro posto; in generale i rivenditori saranno felici di
farlo. Molti rivenditori di hardware per PC diranno che la scheda
video � una ``scheda VGA standard'' che ``dovrebbe funzionare'' sul
proprio sistema. Gli si spieghi che il proprio software (si citi pure
Linux e XFree86!) non supporta tutti i chipset video e che si devono
avere informazioni dettagliate.
Si pu� anche determinare il chipset della proprio scheda video facendo
partire il programma SuperProbett> incluso nella distribuzione di
XFree86. Ci� sar� discusso pi� in dettaglio dopo.
Le schede video che usano questi chipset sono supportate su tutti i
tipi di bus, inclusi VLB e PCI.
Un problema incontrato dagli sviluppatori di XFree86 � che alcuni
produttori di schede video usano dei meccanismi non standard per
determinare le frequenze di clock alle quali le schede lavorano.
Alcuni di questi non rilasciano neanche le specifiche su come
programmare la scheda, o richiedono agli sviluppatori di firmare una
dichiarazione di non-rivelazione per ottenere tali informazioni.
Questo ovviamente limiterebbe la libera distribuzione del software
XFree86, e il team di sviluppo di XFree86 non � disposto a permettere
ci�. Per un lungo periodo, questo � stato un problema con certe schede
video della Diamond, ma con la release 3.1 di XFree86 la Diamond ha
cominciato a lavorare con il team di sviluppo per rilasciare driver
gratuiti per quelle schede.
La configurazione consigliata per XFree86 sotto Linux � un 486 o
qualcos'altro di meglio, con almeno 8 Mbyte di RAM, e una scheda video
con uno dei chipset elencati sopra. Per avere prestazioni ottimali, si
suggerisce di usare una scheda accelerata, come una scheda basata su
chipset S3. Si dovrebbe controllare la documentazione di XFree86 e
verificare che la propria scheda sia supportata, prima di acquistare
hardware costoso.
Come nota di colore, il sistema personale di Matt Welsh (il creatore
di queste FAQ) era un 486DX2-66, 20 Mbyte di RAM, equipaggiato con una
scheda video VLB S3-864 con 2 Mbyte di DRAM. Faceva andare gli X
benchmark su quella macchina bene quanto su una workstation Sun Sparc
IPX. Il sistema Linux era all'incirca 7 volte pi� veloce dello Sparc
IPX (per i curiosi, XFree86 3.1 sotto Linux, con quella scheda video
andava a circa 171,000 xstones; la Sparc IPX a circa 24,000). In
generale, XFree86 su un sistema Linux con una scheda accelerata
offrir� prestazioni molto pi� elevate di quelle disponibili su una
workstation UNIX commerciale (che utilizza solitamente dei semplici
framebuffer per la grafica).
La propria macchina avr� bisogno di almeno 4 Mbyte di RAM fisica e 16
Mbyte di RAM virtuale (ad esempio 8 Mb di fisica e 8 di Swap). Si
ricorda che pi� memoria fisica si ha, meno il proprio sistema si
appogger� alla swap del disco quando la memoria � poca. Poich� la swap
� intrinsecamente lenta (i dischi sono molto pi� lenti della RAM
fisica) avere 8 Mbyte di RAM o pi� � necessario per usare XFree86 in
maniera confortevole. 16 sono ancora meglio. Un sistema con 4 Mbyte di
RAM fisica potrebbe andare molto pi� lentamente (anche 10 volte di
pi�) di uno con 8 Mb o pi�.
3. Installare Xfree86
� assai probabile aver trovato XFree86 incluso in una distribuzione
Linux, nel qual caso non � necessario scaricare separatamente il
software. Oppure si � in possesso dei binari precompilati per la
propria macchina in formato RPM, in questo caso sar� sufficiente
installarli con rpm(1). In entrambi i casi si salti pure il resto di
questa sezione.
La distribuzione binaria di XFree86 pu� essere trovata su un gran
numero di siti FTP. Sul sito di XFree86 presso
<
ftp://ftp.xfree86.org/pub/XFree86/current/binaries/>
Prima di fare qualunque altra cosa, si scarichi e si esegua lo script
shell `Xinstall.sh'. Questo aiuter� a sapere quali siano prerequisiti
da soddisfare prima di continuare l'installazione. Ci sono delle
istruzioni complete per installare la distribuzione binaria di XFree86
presso <
http://www.xfree86.org/4.0/Install2.html>.
La directory di XFree86 dovrebbe contenere, nel file RELNOTES, le note
di rilascio per la versione corrente. Le si consulti per i dettagli
sull'installazione.
Tutto quello che � richiesto per installare XFree86 sono i file sopra
elencati, inoltre si deve creare (come root) la directory /usr/X11R6,
e scompattare in /usr/X11R6 i file con un comando tipo:
gzip -dc Xbin.tgz | tar xfB -
Si ricorda che questi file tar sono impacchettati relativamente alla
directory /usr/X11R6 e quindi � importante che vengano decompressi l�.
Si deve anche controllare attentamente che /usr/X11R6/bin sia nel
proprio path. Questo pu� essere fatto modificando il file /etc/profile
o /etc/csh.login (a seconda della shell usata dagli utenti del
sistema). Oppure si pu� semplicemente aggiungere la directory nel
proprio path personale modificando ~/.bashrc o ~/.cshrc, a seconda
della propria shell.
Ci si deve assicurare anche che /usr/X11R6/lib possa essere
localizzato da ld.so, il linker dinamico. Per fare ci�, si aggiunga la
riga
/usr/X11R6/lib
al file /etc/ld.so.conf e si esegua /sbin/ldconfig come root.
4. Configurare XFree86
4.1. Configurazione normale
Configurare correttamente XFree per usare il mouse, la tastiera, il
monitor e la scheda video era una sorta di pratica mistica, che
richiedeva un intenso hacking manuale di un complesso file di
configurazione. Non pi�; con le recenti versioni questo processo �
diventato quasi banale. La faccenda si � molto semplificata dal
momento che non ci sono pi� server separati per differenti tipi di
schede,ma solo dei moduli che vengono caricati da un server comune.
Tutto quello che si deve fare � lanciare il programma XF86Setup.
Questo programma conta sul fatto che tutto l'hardware dei PC odierni �
equipaggiato con monitor capaci di supportare la EGA/VGA. Il programma
chiama il server SVGA16 e lo usa per far partire X a 640x480 in una
modalit� sicuramente supportata. Dopo di che lancia un programma
interattivo che guider� attraverso una serie di 5 pannelli di
configurazione per mouse, tastiera, scheda video, monitor e `altro'
(si tratta di varie opzioni per il server). L'intero processo �
assolutamente anti-panico.
(Se usi la distribuzione Linux Red-Hat potrai notare che esiste anche
un differente programma di configurazione chiamato xf86config. Questo
funziona similmente a XF86Setup ma non si usano n� l'interfaccia di X
n� il server VGA16)
Una piccola cosa da tenere a mente � questa: se si usa un PC moderno
come la maggior parte delle persone, la propria tastiera � quella che
XF86Setup chiama ``Generic 102-key PC (intl)'' piuttosto che quella
predefinita ``Generic 101-key PC''. Se si sceglie quella predefinita
(101-tasti) il gruppo di tasti all'estrema destra della propria
tastiera (il tastierino numerico e compagni) potrebbe smettere di
funzionare.
Se non si � sicuri sul tipo di monitor che si ha, si provi tutti
quelli della lista in successione. Lo si cerchi partendo dall'alto
verso il basso (quelli in alto richiedono velocit� di dot-clock pi�
basse e sono meno esigenti nelle richieste hardware). Si torni
indietro se si ottiene un disastro o un'immagine seriamente distorta.
Le distorsioni minori (immagine leggermente troppo larga, leggermente
troppo piccola, o un po' scentrata) non sono un problema; si avr�
occasione di correggerle immediatamente affinando i modi video.
E quando il programma lancia xvidtune per permettere di affinare il
modo video, non ci si lasci innnervosire dal messaggio d'avviso
iniziale. I moderni monitor multisync (a differenza dei loro
predecessori a frequenza fissa) non sono facili da danneggiare in
questa maniera.
XF86Config assume che il device del proprio mouse sia /dev/mouse. Se
questo non dovesse funzionare, ci pu� essere bisogno di fare un link a
/dev/mouse verso un qualsiasi altro /dev/ca[01] sul quale c'� il
mouse. Se poi si scopre che XFree86 d� un errore ``mouse busy''
quando � in esecuzione gpm, pu� invece essere necessario fare il link
verso /dev/ttyS[01].
Il processo di configurazione opera selezionando un server per la
propria generica scheda video e configurando XF86Config, file che il
server legger� all'avvio per ottenere i parametri specifici relativi
alla propria installazione. La posizione di XF86Config varia a seconda
del sistema operativo, ma uno dei posti in cui potrebbe essere �
/etc/X11
Nelle vecchie versioni di XFree86, XF86Setup fa un link diretto fra il
comando `X' e il server in uso. Mentre nelle versioni recenti, `X' �
direttamente linkato a un programma wrapper set-user-id chiamato
Xwrapper. L'idea � che tutte le chiamate setuid root vengono
localizzate nell'Xwrapper in modo che il server non debba partire
setuid root.
4.2. Risoluzione dei problemi
Occasionalmente, qualcosa potrebbe non andare benissimo quando si
lancia per la prima volta l'X server. Ci� � quasi sempre causato da un
problema nel file di configurazione. Solitamente, i valori di timing
del monitor sono sbagliati, o il dot-clock della scheda video �
impostato scorrettamente. I problemi minori possono essere corretti
con xvidtune; uno schermo veramente ingarbugliato indica di solito che
si devi tornare indietro in XF86setup e scegliere un monitor con
prestazioni minori.
Se la propria schermata sembra rotolare, o i contorni non sono ben
definiti, questi sono indici evidenti del fatto che i valori di timing
del monitor e del dot-clock della scheda sono sbagliati. Ci si
assicuri anche di aver specificato il chipset corretto per la propria
scheda video, cos� come le altre opzioni per la sezione Device del
file XF86Config. Ci si assicuri soprattutto di usare il giusto X
server e che /usr/X11R6/bin/X sia un link simbolico a quel server.
Se tutto ci� non bastasse, si provi a far partire X in modalit�
``essenziale'', usando questo comando
X > /tmp/x.out 2>&1
Poi si pu� far terminare l'X server (usando la combinazione di tasti
ctrl-alt-backspace ed esaminare il contenuto del file /tmp/x.out. L'X
server riporter� ogni avviso o errore, ad esempio se la propria scheda
video non ha un dot-clock corrispondente al modo supportato dal pro�
prio monitor.
Si ricorda che � possibile usare le combinazioni ctrl-alt-numeric + e
ctrl-alt-numeric - per passare tra i modi video elencati nella linea
Modes della sezione Screen del file XF86Config. Se il modo a pi� alta
risoluzione non si vede bene, si provi a passare a risoluzioni pi�
basse. Fare questo per lo meno dir� quali parti della propria
configurazione di X funzionano correttamente.
Si controllino anche i pomelli che regolano le dimensioni dello
schermo sul proprio monitor. In molti casi � necessario aggiustarli
quando si fa partire X. Ad esempio, se lo schermo appare leggermente
spostato da un lato si usino i controlli del monitor per correggerlo.
Il gruppo USENET comp.windows.x.i386unix � dedicato a discussioni su
XFree86, cos� come lo � comp.os.linux.x. Potrebbe essere una buona
idea guardare in questi gruppi per vedere se ci sono post relativi
alla propria configurazione video: si potrebbe imbattersi in qualcuno
che ha gi� avuto gli stessi problemi.
4.3. Configurazioni personalizzate
Se il proprio monitor supporta la risoluzione di 1600x1200 ci sar�
bisogno di fare dell'hand-hacking (NDT: modificare e correggere a mano
i file di configurazione) sulla configurazione di X per ottenere delle
prestazioni ottimali, in quanto la pi� alta risoluzione che XF86Setup
pu� supportare direttamente � 1280x1024.
Se si vuole fare dell'hand-hacking sulla propria configurazione video,
per questa o altre ragioni, si veda L'XFree86 Video Timings HOWTO di
LDP, presso: <
http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-
HOWTO.html> (questo � versione aggiornata in HTML del file
`Videomodes.doc' di XFree86).
4.4. Usare i colori a 16 bit
Di default, X utilizza una profondit� di colore a 8 bit rendendo
disponibili 256 colori. Per aggirare questa restrizione molte
applicazioni allocano le proprie mappe di colore, ottenendo di
conseguenza degli improvvisi ``sbalzi'' di colore quando il cursore si
muove tra due finestre, poich� ognuna di esse ha una propria mappa di
colore.
Se si ha intenzione di usare applicazioni grafiche avanzate, 256
colori potrebbero non essere sufficienti. Pu� essere necessario
passare a una profondit� di colore a 16 bit (65,536 colori). Ma si
faccia attenzione che non tutte le applicazioni funzioneranno con
colori a 16 bit.
Si pu� usare la profondit� di colore a 16 bit con 65K diversi colori
semplicemente lanciando X con
______________________________________________________________________
startx -- -bpp 16
______________________________________________________________________
oppure mettendo quest'altra linea:
______________________________________________________________________
exec X :0 -bpp 16
______________________________________________________________________
nel proprio file .xserverrc. Comunque, affich� questo funzioni �
necessario avere una sezione screen nel proprio XF86Config con
______________________________________________________________________
DefaultColorDepth 16
______________________________________________________________________
Se si usa xdm, pu� essere necessario modificare il file Xservers, che
probabilmente � contenuto in /etc/X11/xdm/. Una configurazione tipica
ha solo una riga non commentata, simile a
______________________________________________________________________
:0 local /usr/X11R6/bin/X
______________________________________________________________________
Si aggiunga -bpp 16 alle opzioni di avvio:
______________________________________________________________________
:0 local /usr/X11R6/bin/X -bpp 16
______________________________________________________________________
Inoltre, si dovr� aggiungere una sezione ``screen'' al proprio
XF86Config, e nella sotto-sezione Display bisogner� impostare a 16 il
valore di Depth. In generale, basta copiare la sezione a 8-bit e
cambiare il valore di Depth.
Pi� colori significano che la propria scheda video dovr� trasferire
pi� dati nello stesso tempo. Se la propria scheda non pu� farcela,
dovranno essere ridotte o la risoluzione o la frequenza di refresh. Di
default XFree riduce la risoluzione. Se si vuole mantenere la
risoluzione e ridurre la frequenza di refresh, si deve inserire una
Modeline appropriata nel file XF86Config che definisce quella
risoluzione con una frequenza di refresh pi� bassa. Ad esempio, si
rimpiazzino i vecchi valori
Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
con
Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync.
I numeri magici 75 e 65 sono i rispettivi clock rate che X ha ripor�
tato nel proprio file .X.err. Si consulti il file dei monitor nella
documentazione di XFree86 per i Modeline adatti al massimo clock rate
che la propria scheda video pu� supportare con 16 bit di profondit� di
colore.
5. Lanciare XFree86
Con il proprio file XF86Config ben configurato, si � pronti per
lanciare l'X server e per farlo girare. Per prima cosa, ci si assicuri
che /usr/X11R6/bin sia nel proprio path.
Il comando per far partire XFree86 �:
startx
Questo � un front-end per xinit (nel caso in cui si sia abituati a
usare xinit su altri sistemi UNIX).
Questo comando far� partire l'X server e i comandi trovati nel file
.xinitrc nella propria home directory. .xinitrc � solamente uno script
shell che contiene i client X da far partire. Se questo file non
esiste, sar� utilizzato quello predefinito di sistema:
/usr/X11R6/lib/X11/xinit/xinitrc.
Un file .xinitrc standard assomiglia a questo:
#!/bin/sh
xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &
exec fvwm2
Questo script far� partire due client xterm, un oclock e imposter� il
colore della finestra root (sfondo) a midnightblue. E poi far� partire
fvwm2, il window manager. Nota che fvwm2 � eseguito con il comando
(statement) exec della shell; questo fa s� che il processo xinit venga
rimpiazzato da fvwm2. Non appena il processo fvwm2 termina, ci� fa
terminare pure l'X server. � possibile far terminare fvwm2 usando i
men� sullo sfondo: si prema il primo bottone del mouse sullo sfondo
del desktop - ci� mostrer� un men� a discesa che permette di chiudere
la sessione premendo su Exit Twm.
Ci si assicuri che l'ultimo comando nel file .xinitrc sia preceduto da
exec e che questo non sia eseguito in background (niente & alla fine
della linea). Altrimenti l'X server verr� terminato non appena avr�
lanciato i client del file .xinitrc.
In alternativa, si pu� uscire da X premendo la combinazione ctrl-alt-
backspace. Questa terminer� direttamente il server X, provocando
l'uscita dal sistema X window.
Quella precedente � una configurazione semplicissima del desktop.
Molti stupendi programmi e configurazioni saranno disponibili
lavorando un po' sul file .xinitrc.
Se si � nuovi all'ambiente X Window System, si raccomanda fortemente
di prendersi un libro tipo: The Joy of X : An Overview of the X Window
System di Niall Mansfield (Addison-Wesley 1993), ISBN 0201-565129).
Usare e configurare X � un argomento troppo vasto, e non pu� essere
trattato tutto qui. Si leggano le pagine man di xterm, oclock e fvwm2
per avere indicazioni su come cominciare.
5.1. Condizioni d'uso
This document is copyright 1996 by Eric S. Raymond. You may use,
disseminate, and reproduce it freely, provided you:
� Do not omit or alter this copyright notice.
� Do not omit or alter the version number and date.
� Do not omit or alter the document's pointer to the current WWW
version.
� Clearly mark any condensed or altered versions as such.
These restrictions are intended to protect potential readers from
stale or mangled versions. If you think you have a good case for an
exception, ask me.
L'unica licenza valida � quella originale in lingua inglese.
Di seguito ne trovate una traduzione abbastanza fedele che
per� non ha alcun valore.
Questo documento � protetto da copyright, 1996 di Eric S. Raymond. Si
pu� usarlo, disseminarlo, distribuirlo, e riprodurlo liberamente, a
patto che:
� Non si ometta o alteri questa nota di copyright
� Non si ometta o alteri il numero della versione e la data
� Non si ometta o alteri il puntatore alla versione corrente WWW del
documento
� Si evidenzi chiaramente ogni versione alterata, condensata o altro
Queste restrizioni hanno l'intenzione di proteggere il potenziale
lettore da versioni vecchie o mutilate. Se si crede di avere un buon
motivo per un'eccezione, si chieda a me.
5.2. Ringraziamenti
Questo documento � stato concepito da Matt Welsh nei ritagli di tempo.
Grazie, Matt!
6. Translations
� Italian <
http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html>
� Slovenian <
http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-
sl.html>
� Croatian <
http://meta.mioc.hr/XFree86-KAKO.html>
� Dutch <
http://www.nl.linux.org/doc/HOWTO/>
� Hungarian
<
http://www.ppk.ini.hu/texts/XFree86-HOGYAN/XFree86-HOGYAN.html>