Guida alla configurazione di X server Sven Vermeulen Federico Della Ricca Xorg è il server X Window che permette agli utenti di avere a disposizione un ambiente grafico. Questa guida spiega cos'è Xorg, come installarlo e il significato delle varie opzioni di configurazione. 1.23 2009-12-08 Cos'è il server X Window?
Interfaccia grafica vs. riga di comando

L'utente medio può essere intimorito al pensiero di dovere digitare i comandi. Perché non dovrebbe essere in grado di puntare e cliccare a suo piacimento nell'ambito della libertà tipica di Gentoo (e in generale di Linux)? Ovviamente, questo è possibile! Linux offre una grande varietà di comode interfacce utente e ambienti grafici che è possibile aggiungere ad un'installazione esistente.

Una delle più grandi sorprese per gli utenti è che l'interfaccia utente non è nient'altro che un programma che viene eseguito nel sistema. Non è parte del kernel di Linux né di altre parti fondamentali del sistema. Essa è un potente mezzo per sfruttare le capacità grafiche della propria workstation.

Data l'importanza degli standard, ne esiste uno per disegnare e muovere le finestre sullo schermo, interagire con l'utente tramite tastiera e mouse e gestire altri importanti aspetti di base. Questo standard si chiama X Window System, solitamente abbreviato in X11 o anche solo X. Viene utilizzato in Unix, Linux e in sistemi operativi tipo Unix in tutto il mondo.

L'applicazione che fornisce agli utenti Linux la capacità di eseguire interfacce utenti grafiche e utilizza lo standard X11 è Xorg-X11, un derivato del progetto XFree86. XFree86 ha deciso di utilizzare una licenza che potrebbe essere non compatibile con la licenza GPL, per cui si raccomanda l'uso di Xorg. Il Portage ufficiale non contiene più nessuna versione di XFree86.

Il progetto Xorg

Il progetto X.org ha creato e mantiene una implementazione open-source liberamente ridistribuibile dello standard X11. Esso è un'infrastruttura desktop open-source basata su X11.

Xorg fornisce un'interfaccia fra l'hardware e il software grafico che si vuole utilizzare. Oltre a ciò, Xorg è completamente trasparente alla rete, nel senso che è possibile eseguire un programma su un sistema mentre lo si visualizza su un altro.

Installare Xorg
Configurazione del kernel

Di predefinito, Xorg usa evdev, un driver generico per dispositivi di input. Il supporto per evdev va attivato modificando la configurazione del kernel. (Leggere la Guida alla configurazione del kernel Linux in Gentoo per informazione su come configurare il proprio kernel).

Device Drivers --->
  Input device support --->
  <*>  Event interface

Prima di installare Xorg vanno configurate due importanti variabili nel file /etc/make.conf.

La prima variabile è VIDEO_CARDS. Serve a specificare i driver video che si vogliono usare e di solito dipende dal tipo e marca della propria scheda video. I valori più comuni sono nvidia per schede Nvidia e fglrx per schede ATI Radeon. Questi sono i driver proprietari per, rispettivamente, Nvidia e ATI. Se si preferiscono le versioni open source, usare nv al posto di nvidia come valore per la variabile, tenendo ben presente che in questo caso non si avrà l'accelerazione 3d. I driver liberi per ATI (radeon e radeonhd) sono grosso modo equivalenti al driver proprietario fglrx. Il driver intel va usato per sistemi desktop o portatili con i diffusi chipset grafici integrati Intel. La variabile VIDEO_CARDS può contenere più di un driver, in questo caso i valori nell'elenco devono essere separati da spazi.

La seconda variabile è INPUT_DEVICES e serve per determinare i driver da compilare per i dispositivi di input. Nella maggior parte dei casi il valore evdev dovrebbe funzionare. Se si usano dispositivi di input ulteriori, come ad esempio un touchpad Synaptics per un portatile, assicurarsi di aggiungerli a INPUT_DEVICES.

A questo punto si devono decidere i driver da usare e modificare di conseguenza il file /etc/make.conf:

(Per attivare il supporto a mouse, tastiera e touchpad Synaptic)
INPUT_DEVICES="evdev synaptics"
(Per schede Nvidia)
VIDEO_CARDS="nvidia"
(O, per schede ATI Radeon)
VIDEO_CARDS="fglrx"

Ulteriori istruzioni su come configurare le schede video nVidia e ATI si trovano nelle guide Guida nVidia per Gentoo Linux e Gentoo Linux ATI FAQ. Se non si sa quale driver scegliere, fare riferimento a queste guide per ulteriori informazioni.

Se i valori suggeriti non funzionano, si dovrebbe eseguire emerge -pv xorg-server, controllare tutte le opzioni disponibili e scegliere quelle attinenti al proprio sistema. L'esempio seguente si riferisce ad un sistema con mouse, tastiera, touchpad Synaptic e scheda video Radeon.
 emerge -pv xorg-server

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-base/xorg-server-1.6.3.901-r2  USE="hal nptl xorg -debug
-dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
[ebuild   R   ]  x11-base/xorg-drivers-1.6  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse
-mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) (-imstt) -intel -mach64 -mga -neomagic
(-newport) -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via
-virtualbox -vmware (-voodoo) (-xgi)" 0 kB

Dopo aver impostato tutte le variabili necessarie installare il pacchetto Xorg.

# emerge xorg-server
E' possibile installare il metapacchetto xorg-x11 invece del più leggero xorg-server. Funzionalmente i due pacchetti sono equivalenti. Tuttavia il pacchetto xorg-x11 installa anche molti altri pacchetti probabilemente non richiesti, come un enorme assortimenti di caratteri (font) per un gran numero di lingue. Questi pacchetti non sono necessari per avere un desktop funzionante.

Quando l'installazione è terminata, è necessario reinizializzare alcune variabili d'ambiente prima di continuare. Tutto ciò che è necessario fare è eseguire il comando env-update seguito da source /etc/profile e tutto dovrebbe andare a posto.

# env-update
# source /etc/profile
Configurare Xorg
Usare HAL

Le versioni recenti di X server sono progettate per funzionare così come sono, senza doverne modificare manualmente i file di configurazione.

Per prima cosa, provare a lanciare X senza creare /etc/X11/xorg.conf.

Se Xorg non parte, (se c'è qualcosa che non va con lo schermo o con la tastiera o il mouse), provare a risolvere il problema tramite il file di configurazione corrispondente.

Di predefinito, Xorg fa uso di HAL (Hardware Abstraction Layer) per trovare e configurare dispositivi come tastiere e mouse.

HAl è fornito con molte regole preconfezionate per i disposivi, dette anche "policy". Questi file contenenti le policy si trovano in /usr/share/hal/fdi/policy/. Trovate le regole che più si avvicinano alle proprie necessità e copiatele in /etc/hal/fdi/policy/.

Non modificare i file in /usr/share/hal/fdi/! Copiate solo quelli necessari, e modificateli dopo che sono al proprio posto in /etc.

Per esempio, per fare funzionare una normale combinazione mouse più tastiera, si potrebbero copiare i seguenti file in /etc/hal/fdi/policy/:

# cp /usr/share/hal/fdi/policy/10osvendor/10-input-policy.fdi /etc/hal/fdi/policy
# cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy

Ci sono moltre altre policy per HAL in /usr/share/hal/fdi/ che potrebbere essere utili, come configurazioni per portatili, gestione delle periferiche dati, gestione dell'alimentazione e altro. Basta copiare i file di policy in /etc/hal/fdi/policy/.

Si possono modificare a piacere i file in /etc/hal/fdi/policy. E' possibile fare degli aggiustamenti o abilitare delle funzioni aggiuntive. Ecco un esempio di come modificare i file di policy.

Un trucco molto utile è di chiudere completamente il server X premendo Ctrl-Alt-Backspace. E' utile quando il server X funziona male, è bloccato, etc. E' una misura meno estrema rispetto a riavvare la macchina con Ctrl-Alt-Canc.

Le versioni recenti dei server X hanno questa combinazione disabilitata. E tuttavia possibile riabilitarla copiando 10-x11-input.fdi in /etc/hal/fdi/policy e modificandola. Basterà aggiungere solo una linea alla sezione corretta, come mostrato qui sotto:

(Aprire il file con l'editor che si preferisce)
# nano -w /etc/hal/fdi/policy/10-x11-input.fdi
(Trovare la sezione "input.keys")
<match key="info.capabilities" contains="input.keys">
(Aggiungere la stringa "terminate"/merge come mostrato)
<match key="info.capabilities" contains="input.keys">
      <merge key="input.x11_driver" type="string">keyboard</merge>
      <merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>>
      <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
             string="Linux">
        <merge key="input.x11_driver" type="string">evdev<merge>
      </match>
    </match>

Ora si ha a disposizione un modo pratico di chiudere un server X che non risponde. Ciò è utile quando i programmi sono del tutto bloccati o quando si sta configurando o affinando il proprio ambiente X. Si presti attenzione a chiudere X con questa combinazione, molti programmi non reagiscono bene alla chiusura in questo modo, e si potrebbe perdere tutto o in parte quello su cui si stava lavorando.

Il lavoro con i policy file dovrebbe essere sufficiente ad ottenere un desktop X funzionante. Se Xorg ancora non parte, o ci sono altri problemi, allora è necessario configurare manualmente xorg.conf come mostrato nella sezione seguente.

Il file xorg.conf Configurare xorg.conf va visto come un'opzione da "ultima spiaggia". Se possibile, il suo uso va evitato, effettuando tutta la configurazione tramite i file di policy di HAL. Se tuttavia non si riesce ad ottenere una configurazione funzionante, continuare a leggere.

Il file di configurazione di Xorg è chiamato xorg.conf e risiede in /etc/X11/. Xorg fornisce un esempio di file di configurazione in /etc/X11/xorg.conf.example che può essere utilizzato per creare la propria configurazione. Questo file di esempio è dettagliatamente commentato, ma se è necessaria maggiore documentazione riguardo alla sintassi, è disponibile la pagina di manuale:

# man xorg.conf
Modalità predefinita: Generazione automatica di xorg.conf

Xorg stesso è in grado di ricavare la maggior parte dei parametri. Nella maggior parte dei casi, è necessario solo cambiare alcune linee per impostare la risoluzione voluta. Nel caso si desideri un regolazione più raffinata, leggere attentamente i link forniti alla fine del capitolo. Per prima cosa generare un file di configurazione per Xorg:

# X -configure

Leggere con attenzione le ultime linee stampate a schermo dopo che Xorg ha finito di interrogare l'hardware. Se riporta errori di qualche tipo, sarà necessario procedere alla scrittura manuale del file xorg.conf. Nel caso in cui tutto abbia funzionato, viene stampato l'avviso che è stato creato il file /root/xorg.conf.new, pronto per essere provato.

# Xorg -config /root/xorg.conf.new

Se tutto è andato a buon fine, si dovrebbe vedere un semplice schema bianco e nero.Verificare che il mouse funzioni e che la risoluzione sia corretta. Anche se non si riesce a dedurre la risoluzione esatta, si può lo stesso rendersi conto se è troppo bassa. In ogni momento si può premere Ctrl-Alt-Backspace per chiudere l'X server.

Sovrascrivere xorg.conf

Per prima cosa copiare il xorg.conf.new sul file /etc/X11/xorg.conf in modo da poter utilizzare il comando startx invece di Xorg -config.

# cp /root/xorg.conf.new /etc/X11/xorg.conf
Usare startx

Eseguire l'X server, facendolo partire con il comando startx. startx è uno script che fa partire una X Session (sessione di X, NdT), ovvero esegue l'X Server e inoltre lancia alcune applicazioni grafiche che si appoggiano all'X Server. startx decide che applicazioni lanciare sulla base delle seguenti regole:

  • Se nella home dell'utente esiste un file chiamato .xinitrc, vengono eseguiti i comandi in esso contenuti.
  • In alternativa, viene letto il contenuto della variabile d'ambiente XSESSION ed eseguita la sessione corrispondente fra quelle definite nella directory /etc/X11/Sessions/ (è possibile impostare il valore di XSESSION in /etc/env.d/90xsession per assegnarle un valore predefinito per tutti gli utenti del sistema). Per esempio, come utente root, eseguire echo XSESSION="Xfce4" > /etc/env.d/90xsession. In questo modo verrà creato il file 90xsession ed impostata la sessione X predefinita a Xfce4.
  • Come ultima risorsa, fa partire un semplice gestore di finestre, solitamente twm.
# startx

Nel caso in cui venga avviato twm (lo si riconoscerà dall'aspetto veramente spartano e minimale) lo si può chiudere digitando exit o premendo Ctrl-D nei terminali X visualizzati. Si può anche terminare la sessione X con la combinazione Ctrl-Alt-Backspace. Questa è una maniera però piuttosto brutale, da non utilizzarsi abitualmente.

Modificare xorg.conf
Configurare la Risoluzione

Se non si è soddisfatti della risoluzione, è necessario controllare due sezioni nella configurazione. Per prima cosa vi è la sezione Screen in cui può essere presente l'elenco delle risoluzioni disponibili per l'X server. Di predefinito questa sezione potrebbe non elencare nessuna risoluzione. In questo caso, Xorg valuta le risoluzioni sulla base delle informazioni presenti nella seconda sezione, Monitor.

Xorg controlla i valori di HorizSync e VertRefresh nella sezione Monitor per calcolare le risoluzioni valide. Per ora, lasciare questi valori così come sono. Solo nel caso in cui i cambiamenti alla sezione Screen (descritti più avanti) non funzionino sarà necessario consultare le specifiche del monitor e introdurre i valori corretti.

Non provare a cambiare i valori di queste due variabili riguardanti il monitor senza consultarne le specifiche tecniche. Introdurre valori non corretti può portare nel caso migliore a errori di sincronia, nel peggiore a danneggiare permanentemente il monitor.

Procedere con il cambio della risoluzione. Nell'esempio che segue da /etc/X11/xorg.conf vengono aggiunte una linea Modes e una con un valore per DefaultDepth in modo che l'X server parta in modo predefinito con la risoluzione di 1440x900 a 24 bit. I valori riportati sono solo di esempio e porbabilemente non sono quelli desiratati nel proprio sistema.

Section "Screen"
  Identifier  "Default Screen"
  Device    "RadeonHD 4550"
  Monitor   "Generic Monitor"
  DefaultDepth  24
  # Alcune righe sono state rimosse per una maggiore
leggibilità
    Depth   24
    Modes   "1440x900"
  EndSubSection
EndSection

Eseguendo X (startx) esso utilizza ora la risoluzione desiderata.

Configurare la Tastiera

Per configurare X per l'utilizzo di una tastiera internazionale (non americana, NdT), si può copiare il contenuto di /usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2 in /etc/hal/fdi/policy/10-xinput-configuration.fdi:

# bzcat /usr/share/doc/hal-*/*/use-estonian-layout.fdi > /etc/hal/fdi/policy/10-xinput-configuration.fdi

Ora si può modificare il file 10-xinput-configuration.fdi e cambiare il layout della tastiera da estone(ee) al proprio, per esempio italiano (it) o polacco (pl).

Dopo aver finito, eseguire run /etc/init.d/hald restart come root per assicurarsi che HAL faccia uso dei file di configurazione così modificati.

Messa a punto finale

Eseguire startx e gioire del risultato!. Congratulazione, ora (si spera) il proprio sistema ha un ambiente X funzionante. Il prossimo passo è di sostituire il fin troppo minimale twm con un window manager con più funzioni, o con un ambiente desktop come KDE o GNOME, ma questo esula dallo scopo di questa guida.

Risorse
Creare e mettere a punto xorg.conf

First of all, man xorg.conf and man evdev provide quick yet complete references about the syntax used by these configuration files. Be sure to have them open on a terminal near you when you edit your configuration files! Per prima cosa, man xorg.conf e man evdev forniscono una veloce ma completa guida sulla sintassi utilizzata da questi file di configurazione. È opportuno averli aperti su un altro terminale mentre si modificano i file di configurazione.

Possono essere utili le FAQ messe a disposizione sul proprio sito dal progetto X.org, in aggiunta al resto della loro documentazione (in inglese, NdT).

Ci sono molte risorse online sulla modifica del file xorg.conf, utilizzare Google per trovarle.

Altre risorse

Informazioni aggiuntive sull'installazione e configurazione dei vari ambienti grafici e delle applicazioni si trovano nella sezione Documentazione Desktop Gentoo della nostra documentazione.

Se si sta effettuando l'aggiornamento a xorg-server-1.6 da una versione precedente, assicurarsi di leggere la corrispondente Guida all'aggiornamento.