Gentoo Logo

Guida alla configurazione di X server

Indice:

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

(Per attivare il supporto a mouse e tastiera)
INPUT_DEVICES="keyboard mouse"
(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.

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
(Nel caso X si blocchi o la configurazione fallisca, provare:)
# 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
  # Alcune righe sono state rimosse per una maggiore
leggibilità
  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
(Non dimenticarsi di premere Ctrl-C per terminare)

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.



Stampa

Aggiornato il 2 ottobre 2009

Oggetto: 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.

Sven Vermeulen
Autore

Joshua Saddler
Autore

Federico Della Ricca
Traduzione

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Online Kredit Index
Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.