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 poter installare Xorg, bisogna preparare il proprio sistema. Pe prima
cosa, si deve configurare il kernel per il supporto ai dispositivi di input e
alle schede video. Quindi va modificato il file /etc/portage/make.conf in
modo che vengano compilati ed installati i driver e i pacchetti di Xorg
corretti.
Supporto per i driver per i dispositivi di input
Come impostazione predefinita, Xorg usa evdev, un driver generico per i
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).
Codice 2.1: Abilitare evdev nel kernel |
Device Drivers --->
Input device support --->
<*> Event interface
|
Kernel modesetting
I driver grafici più recenti dipendono dal kernel modesetting (KMS). KMS
permette un migliore boot grafico con meno sfarfallii, un più rapido cambio di
utente, una console con framebuffer incorporata, la possibilitò di passare
rapidamente fra console e Xorg e altre caratteristiche. KMS è incompatibile con
i driver per framebuffer più vecchi, che devono rimanere disabilitati
nella configurazione del proprio kernel.
Per prima cosa va preparato il kernel per KMS. Questo fa fatto indipendentemente
dal driver video per Xorg che si usa.
Codice 2.2: Configurare i framebuffer |
Device Drivers --->
Graphics support --->
Support for frame buffer devices --->
Console display driver support --->
<*> Framebuffer Console Support
|
Dopo di ciò, configurare il proprio kernel per usare il driver appropriato per
la propria scheda video. Intel, nVidia, e AMD/ATI sono le schede più comuni, seguire
quindi i comandi descritti qui di seguito per la propria scheda.
Per schede Intel:
Codice 2.3: Impostazioni per Intel |
Device Drivers --->
Graphics support --->
/dev/agpgart (AGP Support) --->
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics
[*] Enable modesetting on intel by default
|
Per schede nVidia:
Codice 2.4: Impostazioni per nVidia |
Device Drivers --->
Graphics support --->
Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Nouveau (nVidia) cards
|
Per le schede AMD/ATI recenti (da RadeonHD 2000
in poi), bisogna installare radeon-ucode o linux-firmware.
Una volta installato uno di questi pacchetti, configurare così il proprio kernel:
Codice 2.5: Impostazioni per AMD/ATI |
Device Drivers --->
Generic Driver Options --->
[*] Include in-kernel firmware blobs in kernel binary
(radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
(radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin
radeon/REDWOOD_rlc.bin) External firmware blobs
(radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO2_me.bin
radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin
radeon/SUMO_rlc.bin) External firmware blobs
(radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin
radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
radeon/CAICOS_pfp.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin
radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/TURKS_mc.bin
radeon/TURKS_me.bin radeon/TURKS_pfp.bin) External firmware blobs
(radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
External firmware blobs
(radeon/PITCAIRN_ce.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_me.bin
radeon/PITCAIRN_pfp.bin radeon/PITCAIRN_rlc.bin radeon/TAHITI_ce.bin
radeon/TAHITI_mc.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin
radeon/TAHITI_rlc.bin radeon/VERDE_ce.bin radeon/VERDE_mc.bin
radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/VERDE_rlc.bin)
External firmware blobs
(/lib/firmware/) Firmware blobs root directory
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager --->
<*> ATI Radeon
[*] Enable modesetting on radeon by default
|
Nota:
Schede Radeon più vecchie (serie X1900 e precedenti) non necessitano né del
pacchetto radeon-ucode né di alcuna configurazione per il firmware.
Basta abilitare il Direct Rendering Manager e il modesetting per ATI Radeon.
|
Ora che si è impostato KMS, si può continuare con la prossima sezione e
praparare il file /etc/portage/make.conf.
configurazione di make.conf
Dopo la preparazione del kernel ma prima di installare Xorg vanno configurate
due importanti variabili nel file /etc/portage/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. Le impostazioni più comuni sono nouveau for le
schede nVidia e radeon per quelle ATI. Entrambi hanno driver
open-source ben supportati e attivamente sviluppati.
Nota:
Si potrebbe inoltre provare ad usare i driver proprietari per nVidia e AMD/ATI,
rispettivamente nvidia e fglrx. Comunque, la configurazione dei
driver proprietari trascende gli scopi di questa guida. Fare riferimento alla
Guida nVidia per Gentoo Linux e alle
Domande frequenti (FAQ) su ATI in Gentoo
Linux. Se si è incerti su quale drivere scegliere, fare riferimento a
queste guide per maggiori informazioni.
|
Il driver intel può essere usato per desktop o laptop con grafica
integrata Intel.
Nota:
VIDEO_CARDS può contenere più driver, separati da uno spazio.
|
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/portage/make.conf:
Codice 2.6: Righe di esempio per make.conf |
INPUT_DEVICES="evdev synaptics"
VIDEO_CARDS="nouveau"
VIDEO_CARDS="radeon"
|
Se i valori suggeriti non funzionano, si dovrebbe eseguire emerge -pv
xorg-drivers, 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.
Codice 2.7: Visualizzazione dei valori disponibili dei driver |
emerge -pv xorg-drivers
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] x11-base/xorg-drivers-1.9 INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage
-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox
-vmware (-voodoo) (-xgi)" 0 kB
|
Dopo aver impostato tutte le variabili necessarie installare il pacchetto Xorg.
Codice 2.8: Installare Xorg |
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
# 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, sarà necessario reinizializzare alcune
variabili d'ambiente prima di continuare:
Codice 2.9: Reinizializzare le variabili d'ambiente |
# env-update
# source /etc/profile
|
3.
Configurare Xorg
X server è progettato per funzionare già da subito, senza doverne modificare
manualmente i file di configurazione. Dovrebbe individuare e configurare
periferiche come monitor, tastiera e mouse.
Per prima cosa, provare a lanciare X senza
modificare nessun file di configurazione. Se Xorg non parte, o se c'è
qualche altro problema, allora è necessario configurare manualmente
Xorg come mostrato nella prossima sezione.
La directory xorg.conf.d
Nota:
Configurare i file in xorg.conf.d va visto come un'opzione da "ultima
spiaggia". Se possibile è consigliato eseguire Xorg senza particolari configurazioni.
Se tuttavia non si riesce ad ottenere una configurazione funzionante, continuare a leggere.
|
I file di configurazione di Xorg sono memorizzati in /etc/X11/xorg.conf.d.
A ciascun file è assegnato un nome univoco e termina con .conf.
Se il nome del file inizia con un numero, allora Xorg leggerà i file seguendo
l'ordine numerico. 10-evdev.conf sarà letto prima di
20-synaptics.conf, e così via. Non è obbligatorio assegnargli un
numero, ma potrebbe aiutare ad organizzarli.
Nota:
Xorg fornisce configurazioni di esempio in
/usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2.
È possibile utilizzarli per creare i propri file di configurazione in
/etc/X11/xorg.conf.d/. Gli esempi sono ampiamente commentati,
ma se si necessità di ulteriore documentazione riguardo alla sintassi,
leggere man xorg.conf. Altri esempi possono essere trovati nel
capitolo Risorse alla fine di questa guida.
|
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 Xfce. Ricordarsi
di eseguire env-update dopo aver modificato 90xsession.
Codice 3.1: Far partire X |
# startx
|
Se non si ha ancora installato un gestore di finestre, tutto quella che si
vedrà sarà solamente uno schermo nero. Siccome ciò può essere segno di qualche
malfunzionamento, è possibile installare twm e xterm solamente
per testare X.
Dopo aver installato questi due programmi, eseguire nuovamente startx.
Dovrebbero apparire alcune finestre di xterm, semplificando la verifica del
corretto funzionamento di X. Una volta soddisfatti dei risultati, eseguire
emerge --unmerge twm xterm come utente root, per rimuovere questi
pacchetti di test, in quanto non sono necessari una volta impostato un ambiente
desktop appropriato.
4.
Modificare xorg.conf
Configurare la Risoluzione
Se non si è soddisfatti della risoluzione, è necessario controllare due sezioni
nella propria configurazione in xorg.conf.d. Per prima cosa vi è la
sezione Screen che elenca le risoluzioni a cui l'X server verrà eseguito.
Questa sezione potrebbe non elencare nessuna risoluzione. In questo caso, Xorg valuta le
risoluzioni sulla base delle informazioni presenti nella seconda sezione,
Monitor.
Procedere con il cambio della risoluzione. Nell'esempio che segue da
/etc/X11/xorg.conf.d/40-monitor.conf viene aggiunta una linea
PreferredMode in modo che l'X server parta in modo predefinito con la
risoluzione di 1440x900 a 24 bit.
Il valore di Option nella sezione Device deve corrispondere al
nome per proprio monitor (DVI-0), che può essere ottenuto eseguendo
xrandr. Bisogna installarlo (emerge xrandr) per poterlo usare.
L'argomento dopo il nome del monitor (nella sezione Device) deve corrispondere
al valore del parametro Identifier nella sezione Monitor.
Codice 4.1: Modificare la sezione Monitor |
# nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
Identifier "RadeonHD 4550"
Option "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
Identifier "DVI screen"
Option "PreferredMode" "1440x900"
EndSection
|
Eseguendo X (startx) esso utilizza ora la risoluzione desiderata.
Monitor multipli
E' possbile configurare più di un monitor in /etc/X11/xorg.conf.d.
E' sufficiente assegnare un nome a ogni monitor, quindi specificare la sua
posizione fisica, come ad esempio "RighOf" (a destra di) or "Above" (Sopra a)
rispetto a un altro monitor.
L'esempio che segue mostra come configurare un monitor VGA e uno DVI, con il
monitor VGA sulla parte destra dello schermo:
Codice 4.2: Configurare monitor multipli |
# nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
Identifier "RadeonHD 4550"
Option "Monitor-DVI-0" "DVI screen"
Option "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
Identifier "DVI screen"
EndSection
Section "Monitor"
Identifier "VGA screen"
Option "RightOf" "DVI screen"
EndSection
|
Configurare la Tastiera
Per configurare X per l'utilizzo di una tastiera internazionale (non americana,
NdT), si deve semplicemente creare l'appropriato file di configurazione in
/etc/X11/xorg.conf.d/. Questo esempio mostra la configurazione
di una tastiera italiana:
Codice 4.3: Usare una tastiera internazionale |
# nano -w /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
Identifier "keyboard-all"
Driver "evdev"
Option "XkbLayout" "us,it"
Option "XkbModel" "logitech_g15"
Option "XkbRules" "xorg"
Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
Option "XkbVariant" ",qwerty"
MatchIsKeyboard "on"
EndSection
|
Il comando "terminate" (terminate:ctrl_alt_bksp) permette di chiudere
la sessione di X usando la combinazione di tasti Ctrl-Alt-Backspace.
Questo in ogni caso causerà un'uscita da X brutale -- qualcosa che non
sempre si desidera. Può essere utile quando dei programmi bloccano
completamente la visualizzazione, o quando si sta configurando o
modificando l'ambiente di Xorg. Fare attenzione quando si termina
l'ambiente desktop con questa combinazione di tasti -- la maggior parte
dei programmi non apprezza quando viene chiusa in questa maniera, e si
potrebbe perdere parte (o tutto) del materiale su cui si stava lavorando.
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 installare un window manager con più funzioni, o un
ambiente desktop come KDE o GNOME, ma questo esula dallo scopo di questa guida.
Informazioni riguardo all'installazione di questi ambienti desktop possono
essere trovate in Risorse Documentazione
Desktop Gentoo
5.
Risorse
Creare e modificare i file di configurazione
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.
Ci sono molte risorse online sulla modifica dei file di configurazione in
/etc/X11/. Qui ne vengono riportate solo alcune,
utilizzare Google per trovarne
altre.
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.9 da una versione
precedente, assicurarsi di leggere la corrispondente Guida
all'aggiornamento.
X.org fornisce molte FAQs
sul loro sito web, in aggiunta alla loro documentazione.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|