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 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 --->
    (Disabilitare tutti i driver, inclusi VGA, Intel, nVidia, e ATI)

    (Più in basso, abilitare il supporto base alla console, che è quello usato da KMS)
    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

(Inpostare il kernel per usare il firmware radeon-ucode)
Device Drivers --->
  Generic Driver Options --->
  [*]  Include in-kernel firmware blobs in kernel binary
  # Schede delle serie RadeonHD 2000, 3000, e 4000:
  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
  # Schede RadeonHD 5000 (Evergreen):
  (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
  # Schede Radeon HD 6000/7300 (Fusion APU):
  (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
  # Schede Radeon HD 6400-6900 (Northern Island):
  (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
  # Schede Radeon HD 7500/7600 (Fusion APU):
  (radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
   External firmware blobs
  # Schede Radeon HD 7700-7900 (Southern Islands):
  (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
  # Tutti:
   (/lib/firmware/) Firmware blobs root directory

(Abilitare il supporto KMS per schede Radeon)
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

(Per attivare il supporto a mouse, tastiera e touchpad Synaptic)
INPUT_DEVICES="evdev synaptics"
(Per schede Nvidia)
VIDEO_CARDS="nouveau"
(Per schede AMD/ATI)
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

(Assicurarsi che udev sia tra le proprie USE flags)
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
(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, 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.



Stampa

Aggiornato il 24 luglio 2012

La versione originale di questo documento non è più mantenuta

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.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.