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, , 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 . 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 . 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 . Là è possibile trovare anche l'ultima e più aggiornata versione (in inglese) di questo documento: . Una buona fonte di informazioni in lingua italiana è la home page dell'Italian Linux Documentation Project . 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 . 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 esr@thyrsus.com. 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 (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 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 . 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: (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 · Slovenian · Croatian · Dutch · Hungarian