The Linux XFree86 HOWTO

Eric Steven Raymond

Thyrsus Enterprises (http://www.tuxedo.org/~esr/)

esr@thyrsus.com

Questo documento descrive come ottenere, installare e configurare la release 4.1.0 di XFree86, una versione dell’X Window System (X11R6) per sistemi Linux. Questa è una guida passo passo su come configurare XFree86 sul vostro sistema. Traduzione fino al 2000 a cura di Federico Cossu, dopo il 2000 a cura di Federico Lucifredi, <lucifred@fas.harvard.edu>, Harvard University; revisione a cura di Claudio Cattazzo.

Sommario

1. Introduzione ..............................................................................................................................................................2 1.1. Altre fonti di informazione.............................................................................................................................2 1.2. Nuove versioni di questo documento .............................................................................................................2 1.3. Commenti e Correzioni ..................................................................................................................................2

2. Requisiti Hardware...................................................................................................................................................3 3. Installare XFree86.....................................................................................................................................................3 4. Configurare XFree86 ................................................................................................................................................4

4.1. Configurazione normale .................................................................................................................................4 5. Eseguire XFree86 ......................................................................................................................................................5 6. Traduzioni..................................................................................................................................................................6

1. Introduzione

L’X Window System è un ambiente grafico per sistemi UNIX di grande flessibilità e potenza (qualcuno lo definirebbe eccessivamente grande e complesso). Il sistema X Window originale è stato sviluppato al MIT; sviluppatori commerciali lo hanno da allora reso lo standard industriale per piattaforme UNIX. Virtualmente ogni workstation UNIX nel mondo impiega 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 <dwex@XFree86.org>. Questa release, nota sotto il nome di XFree86, è disponibile per System V/386, 386BSD ed altre implementazioni di UNIX per piattaforma Intel x86, tra cui Linux. XFree86 è un sistema completo ed include tutti i binari, file di supporto, librerie e strumenti necessari.

Informazioni complete su XFree86 sono disponibili nel sito web del progetto 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 ben 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 parlare di Linux ci sono parecchie fonti di informazioni di base sul sistema. Il miglior posto in cui trovarle è la home page del Linux Documentation Project (http://metalab.unc.edu/LDP). Là è possibile trovare anche l’ultima e più aggiornata versione inglese di questo documento: http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html.

[NdT: la versione italiana del Linux Documentation Project è reperibile presso http://it.tldp.org]

1.2. Nuove versioni di questo documento

Le nuove versioni dell’XFree86 HOWTO saranno periodicamente rilasciate sul sito comp.os.linux.help (news:comp.os.linux.help), su comp.os.linux.announce (news:comp.os.linux.announce) e su news.answers (news:news.answers). Saranno anche disponibili su vari siti Web ed FTP dedicati a Linux, inclusa la home page di LDP.

È sempre possibile accedere all’ultima versione inglese di questo documento sul Web all’URL http://www.linuxdoc.org/HOWTO/XFree86-HOWTO.html.

La versione originale di questo documento è stata scritta da Matt Welsh negli oscuri abissi del tempo. Grazie, Matt!

1.3. Commenti e Correzioni

Se si hanno domande o commenti su questo documento sentitevi liberi di inviare un’e-mail a Eric S. Raymond all’indirizzo <esr@thyrsus.com>. Suggerimenti e critiche sono i benvenuti. Se trovate errori in questo documento, siete pregati di farmelo sapere affinché possa correggerli nella prossima versione. Grazie.

Siete pregati di non inviare domande su come far funzionare la vostra scheda video e il vostro monitor con X. Questo HOWTO vuole essere una guida rapida e indolore a una normale installazione usando il nuovo programma di configurazione interattivo. Se si incontrassero dei problemi, si legga l’XFree86 Video Timings HOWTO (http://www.linuxdoc.org/HOWTO/XFree86-Video-Timings-HOWTO.html) (questa è la versione HTML aggiornata del file ’Videomodes.doc’ di XFree86). Quel documento include tutto ciò che so a proposito della configurazione di X e dei problemi relativi a essa. Se questo documento non può aiutarvi, nemmeno io sono in grado di farlo.

2. Requisiti Hardware

Si può leggere una lista aggiornata delle schede e dei chipset supportati presso la 4.1.0 status page (http://www.xfree86.org/4.1.0/Status.html).

La documentazione inclusa con la vostra scheda video dovrebbe specificare il chipset da essa usato. Se si ha intenzione di comprare una nuova scheda video o si ha intenzione di acquistare una nuova macchina che include una scheda video, chiedete al rivenditore esattamente qual è la marca, il modello e quale chipset essa utilizza. A tal fine potrebbe essere necessario che il rivenditore chiami il supporto tecnico del produttore al vostro posto; in generale i rivenditori saranno felici di farvi questo favore. Molti rivenditori di hardware per PC diranno che la scheda video è una "scheda SVGA standard" che "dovrebbe funzionare" sul vostro 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 più dettagliate.

Si può anche determinare il chipset della proprio scheda video usando il programma SuperProbe incluso nella distribuzione di XFree86. Ciò sarà discusso in maggiore dettaglio in seguito.

Le schede video supportate funzioneranno indipendentemente dal tipo di bus, sia esso ISA, VLB o 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 produttori non rilasciano le specifiche su come programmare la scheda o richiedono agli sviluppatori di firmare una dichiarazione di confidenzialità prima di rilasciare tali informazioni. Questo limiterebbe la libera distribuzione del software XFree86, una restrizione che il team di sviluppo di XFree86 non è ovviamente disposto ad accettare. Per un lungo periodo questo è stato un problema con certe schede video della Diamond, ma dalla release 3.1 di XFree86 la Diamond ha cominciato a lavorare con il team di sviluppo per rilasciare driver per queste schede.

La configurazione consigliata per XFree86 sotto Linux è un 486 o un processore di classe superiore con almeno 8 Mbyte di RAM e una scheda video con uno dei chipset summenzionati. 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 questa FAQ) era un 486DX2-66, 20 Mbyte di RAM, equipaggiato con una scheda video VLB S3-864 con 2 Mbyte di DRAM. Dopo aver eseguito gli X benchmark su quella macchina e su di una workstation Sparc IPX di Sun, risultò che il sistema Linux era all’incirca 7 volte più veloce della Sparc IPX (per i curiosi, XFree86 3.1 sotto Linux con la scheda video menzionata andava a circa 171000 xstone; la Sparc IPX a circa 24000). In generale, XFree86 su un sistema Linux con una scheda accelerata offrirà prestazioni molto più elevate di quelle disponibili su una workstation UNIX commerciale (solitamente con solo dei semplici framebuffer a disposizione per la grafica).

La propria macchina avrà bisogno di almeno 4 Mbyte di RAM fisica e 16 Mbyte di RAM virtuale (una configurazione di esempio sarebbero 8 MB di fisica e 8 MB di swap). Si ricordi che più è la memoria fisica che si ha a disposizione, meno il proprio sistema dovrà far ricorso allo swap su disco quando la memoria è poca. Poiché lo swap su disco è un processo intrinsecamente lento (i dischi sono molto più lenti della RAM), avere 8 Mbyte di RAM o più è necessario per un uso confortevole di XFree86. 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

È molto probabile che abbiate trovato XFree86 incluso in una distribuzione Linux, nel qual caso non è necessario scaricare separatamente il software. Oppure potreste procurarvi dei binari precompilati per la vostra piattaforma in formato RPM, nel qual caso sarà sufficiente installarli con rpm(1). In entrambi i casi si salti pure il resto di questa sezione.

La distribuzione binaria di XFree86 per Linux può essere trovata su diversi siti FTP. Sul sito di XFree86 presso ftp://ftp.xfree86.org/pub/XFree86/4.1.0/binaries/. A seconda del processore del vostro computer (axp=alpha, ix86=Intel 80x86) e della versione della libreria GNU C del vostro sistema avrete bisogno di una delle sottodirectory Linux-axp-glibc21, Linux-ix86-glibc20 o Linux-ix86-glibc21.

Prima di fare qualunque altra cosa, si scarichi e si esegua lo script di shell ’Xinstall.sh’. Questo potrà aiutarvi a sapere quali siano i prerequisiti da soddisfare prima di continuare l’installazione. Le istruzioni complete da seguire per installare la distribuzione binaria di XFree86 sono reperibili all’URL http://www.xfree86.org/4.1.0/Install2.html.

La directory di XFree86 dovrebbe contenere, nel file RELNOTES, le note di rilascio per la versione corrente. Lo si consulti per i dettagli sull’installazione.

Tutto quello che è richiesto per installare XFree86 sono i file sopra elencati; si deve poi creare (come root) la directory /usr/X11R6 e scompattare in /usr/X11R6 i file con un comando come:

gzip -dc Xbin.tgz | tar xfB -

Si ricorda che questi file tar sono impacchettati relativamente alla directory /usr/X11R6 e quindi è importante che vengano estratti lì.

Si deve anche controllare attentamente che /usr/X11R6/bin sia nella vostra variabile di path. Questo può essere fatto modificando il file di default del sistema /etc/profile o /etc/csh.login (a seconda della shell usata da voi o dagli altri utenti del sistema). Oppure si può semplicemente aggiungere la directory nella propria variabile di path 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, avendo cura di farlo come utente root.

4. Configurare XFree86

4.1. Configurazione normale

Configurare correttamente XFree86 per usare il vostro mouse, tastiera, monitor e scheda video correttamente era una sorta di magia nera, che richiedeva un intenso hacking manuale di un complesso file di configurazione. Questo non è più il caso: 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.

Se state configurando X mentre procedete all’installazione di una distribuzione Linux, il processo di installazione vi porrà le poche domande necessarie alla configurazione di X. Altrimenti, tutto ciò che è necessario fare è lanciare il programma XFree86 -configure.

Entrambi i metodi contano sul fatto che tutto il nuovo hardware per PC venduto di questi tempi include monitor che possono riferire a X quali siano le proprie capacità. Quando X viene lanciato in tal maniera esso provvede a ottenere queste informazioni dal vostro hardware e procede anche a controllare che una tastiera ed un mouse siano presenti; completato questo passo X scrive su disco il file di configurazione che verrà usato dalle successive esecuzioni di X.

Un dettaglio minore ma da tenere in mente è che se voi fate parte della maggior parte degli utenti odierni di PC, la vostra tastiera e il tipo a cui XF86Setup si riferisce con il nome ’Generic 102-key PC (intl)’ piuttosto che il valore di default ’Generic 101-key PC’. Se selezionate il default (101) il gruppo di tasti situato sull’estrema destra della tastiera (il tastierino numerico e tasti ad esso associati) potrebbe non funzionare.

5. Eseguire XFree86

Con il proprio file XF86Config configurato, si è pronti per lanciare l’X server per una prova. Per prima cosa, ci si assicuri che /usr/X11R6/bin sia nella vostra variabile di 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 ed eseguirà i comandi trovati nel file .xinitrc se presente nella vostra home directory. .xinitrc è solamente uno shell script che elenca i client (programmi) X da far partire all’avvio. Se questo file non esiste, sarà utilizzato al suo posto il default 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 copie di xterm, un oclock e imposterà midnightblue come colore della root window (lo sfondo). Infine lo script farà partire fvwm2, il window manager. Si noti che fvwm2 viene eseguito con il comando exec della shell; questo fa sì che il processo xinit venga rimpiazzato da fvwm2. Non appena il processo fvwm2 termina, ciò fa terminare anche l’X server. È possibile far terminare fvwm2 usando i menu dello sfondo: si prema il primo bottone del mouse sullo sfondo del desktop - ciò mostrerà un popup menu che permette di chiudere la sessione tramite il comando Exit Fvwm2.

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à finito di lanciare 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.

The Linux XFree86 HOWTO

Quella precedente è una configurazione veramente semplice del desktop. Molti stupendi programmi e configurazioni diventano disponibili lavorando un poco sul vostro file .xinitrc. Se si è nuovi all’ambiente X, si raccomanda vivamente la lettura di un libro come 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 per essere trattato tutto qui. Si faccia riferimento alle pagine man di xterm, oclock e fvwm2 per avere alcuni indizi da cui cominciare.

6. Traduzioni

• Italiano (http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html)

• Sloveno (http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html)

• Croato (http://meta.mioc.hr/XFree86-KAKO.html)

• Olandese (http://www.nl.linux.org/doc/HOWTO/)

• Ungherese (http://www.ppk.ini.hu/texts/XFree86-HOGYAN/XFree86-HOGYAN.html)