Guida alla configurazione di X server
1.
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.
2.
Installare Xorg
Prima di installare Xorg vanno configurate due importanti variabili nel file
/etc/make.conf.
La prima è 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 grado di fornire l'accelerazione 3D per le schede Radeon
più datate, ma non gestiscono ancora le funzionalità dei modelli più recenti.
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
keyboard mouse 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:
Codice 2.1: Righe di esempio per make.conf |
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"
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.
Nota:
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 all'architettura
amd64 e xorg-server-1.2.
|
Codice 2.2: Visualizzazione dei valori disponibili dei driver |
emerge -pv xorg-server
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] x11-base/xorg-server-1.2.0-r3 USE="dri nptl xorg (-3dfx) -debug
-dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse -acecad
-aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev
-fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax
-penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom"
VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx
-glint -i128 (-i740) -i810 (-impact) (-imstt) -mach64 -mga -neomagic (-newport)
(-nsc) -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB
|
Dopo aver impostato tutte le variabili necessarie installare il pacchetto Xorg.
Codice 2.3: Installare Xorg |
# emerge xorg-server
|
Nota:
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, potrebbe essere 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.
Codice 2.4: Reinizializzare le variabili d'ambiente |
# env-update
# source /etc/profile
|
3.
Configurare Xorg
Il file xorg.conf
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:
Codice 3.1: Richiamare la pagina di manuale di xorg.conf |
# man xorg.conf
|
La lettura della pagina del manuale non è però necessaria, essendo disponibile
un modo per la creazione in automatico del file di configurazione.
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:
Codice 3.2: Generare un file xorg.conf |
# 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 abbia funzionato, viene stampato l'avviso che è stato creato il file
/root/xorg.conf.new, pronto per essere provato.
Codice 3.3: Provare il file xorg.conf.new |
# Xorg -config /root/xorg.conf.new
|
Se tutto è andato a buon fine, si dovrebbe vedere un semplice schema bianco e
nero. Si può muovere il mouse per verificarne il funzionamento, e verificare se
la risoluzione è corretta. Se si ricevono errori riguardanti "/dev/mouse",
provare a modificare la voce "Device" riguardante il mouse nella sezione
"InputDevice" del file xorg.conf, facendola puntare a
/dev/input/mice. 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.
Modalità alternativa: Generazione semiautomatica di xorg.conf
Xorg mette a disposizione uno strumento chiamatoxorgconfig che ponendo
delle domande all'utente riguardo al sistema (adattatore grafico, tastiera, ...)
crea un file xorg.conf.
Codice 3.4: Generazione semiautomatica di xorg.conf |
# xorgconfig
|
Un altro strumento, anch'esso fornito da Xorg, è xorgcfg, il quale prima
cerca di eseguire Xorg -configure e poi fa partire l'X server per un
ritocco finale alla configurazione.
Codice 3.5: Usare xorgcfg |
# xorgcfg
# xorgcfg -textmode
|
Sovrascrivere xorg.conf
Per prima cosa copiare il xorg.conf.new sul file
/etc/X11/xorg.conf in modo da poter utilizzare i comandi
startx o X invece di Xorg -config.
Codice 3.6: Sovrascrivere il file xorg.conf |
# 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.
Codice 3.7: Far partire X |
# 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, anche se non danneggia il sistema.
4.
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.È possibile utilizzare
dei programmi che ricercano le specifiche del monitor, come
sys-apps/ddcxinfo-knoppix.
Avvertenza:
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 1024x768 a 24 bit. I valori riportati sono
solo di esempio e potrebbero differire da quelli voluti nel proprio sistema.
Codice 4.1: Cambiare la sezione Screen in /etc/X11/xorg.conf |
Section "Screen"
Identifier "Default Screen"
Device "S3 Inc. ProSavage KN133 [Twister K]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
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), bisogna cercare la sezione InputDevice che contiene la
configurazione della tastiera e aggiungere l'opzione XkbLayout per
specificare il layout di tastiera desiderato. L'esempio qui sotto mostra come
fare per una tastiera belga. Basta sostituire il codice paese con quello
appropriato (per l'Italia it, NdT):
Codice 4.2: Cambiare il layout della tastiera |
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "be"
EndSection
|
Configurare il Mouse
Se il mouse non funziona, per prima cosa bisogna accertarsi che venga rilevato
correttamente dal kernel. I mouse (come dispositivi) sono accessibili come
/dev/input/mouse0 (o /dev/input/mice se si utilizzano
più dispositivi di puntamento). In altri casi viene utilizzato
/dev/psaux. In ogni caso è possibile controllare se un dispositivo
rappresenta il mouse controllando l'output di quest'ultimo e muovendo il mouse.
Se esso rappresenta il mouse, di solito compaiono caratteri "strani" sullo
schermo. Per terminare la sessione premere Ctrl-C.
Codice 4.3: Controllare un dispositivo |
# cat /dev/input
|
Se il mouse non è rilevato, verificare che tutti moduli necessari siano stati
caricati.
Se il mouse è rilevato, trascrivere il nome del dispositivo appropriato nella
sezione InputDevice. Nel prossimo esempio vengono specificate altre due
opzioni: Protocol (che indica il protocollo di comunicazione da
utilizzare, che è PS/2 o IMPS/2 per la maggior parte degli utenti) e
ZAxisMapping (che permette l'utilizzo di una eventuale rotellina sul
mouse).
Codice 4.4: Cambiare la configurazione del mouse in Xorg |
Section "InputDevice"
Identifier "TouchPad Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection
|
Eseguendo startx si può verificare il risultato. Ora si dovrebbe avere a
disposizione sul sistema una installazione funzionante di Xorg. Il passo
successivo, che esula dallo scopo di questa guida, è quello si sostituire il
window manager minimale con una maggiormente dotato, o addirittura un ambiente
desktop come KDE o GNOME.
5.
Risorse
Creare e mettere a punto xorg.conf
Per prima cosa, man xorg.conf fornisce una veloce ma completa guida
sulla sintassi utilizzata dal file di configurazione. È opportuno averla aperta
su un altro terminale mentre si modifica il file di configurazione.
E' utile leggere il file di esempio /etc/X11/xorg.conf.example:
conviene farne una copia e usarla come base per mettere a punto il proprio
xorg.conf.
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.
Alcune sono qui elencate, utilizzare Google per trovarne di ulteriori. Dato che
xorg.conf e XF86Config (il file di configurazione per
XFree86) usano la stessa sintassi per la maggior parte delle opzioni di
configurazione, e poiché vi sono più informazioni disponibili per
XF86Config, vengono elencate anche queste ultime.
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.5 da una versione
precedente, assicurarsi di leggere la corrispondente
Guida all'aggiornamento.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|