Difference between revisions of "Xorg (Italiano)"

From ArchWiki
Jump to: navigation, search
(Più schede grafiche: cambio nvidia con nouveau - nvidia non funziona con driver ati))
(All. Pag. Aggiunta sezione "Metodi per l'avvio dell'ambiente grafico")
Line 508: Line 508:
  
 
Se si dovesse presentare qualche problema, allora si consulti il log in {{Filename|/var/log/Xorg.0.log}}. Si cerchi qualsiasi riga che cominci per {{Codeline|(EE)}} che sta ad indicare gli errori, ed anche {{Codeline|(WW)}} che avvisa di possibili altre conseguenze.
 
Se si dovesse presentare qualche problema, allora si consulti il log in {{Filename|/var/log/Xorg.0.log}}. Si cerchi qualsiasi riga che cominci per {{Codeline|(EE)}} che sta ad indicare gli errori, ed anche {{Codeline|(WW)}} che avvisa di possibili altre conseguenze.
 +
 +
===Metodi per l'avvio dell'ambiente grafico===
 +
Seguono un paio di metodi per l'avvio di un ambiente grafico dalla riga di comando.
 +
{{Note|Se si utilizza un ambiente desktop completo (Gnome, KDE, ecc), potrebbe essere più utile leggere la relativa pagina wiki.}}
 +
 +
====Utilizzo dei runlevel====
 +
Per impostazione predefinita, Linux è configurato per avere diversi [[runlevels]]. Arch viene avviato per default al runlevel 3. Il runlevel 5 è in genere utilizzato in per il caricamento del server X.
 +
Editare il file /etc/inittab. Nell'ultima sezione alla fine del file, decommentare la riga appropriata per il display manager del proprio ambiente desktop. Per esempio, per XDM (X Display manager) dovrebbe essere simile a questo:
 +
# Example lines for starting a login manager
 +
x:5:respawn:/usr/bin/xdm -nodaemon
 +
#x:5:respawn:/usr/sbin/gdm -nodaemon
 +
#x:5:respawn:/usr/bin/kdm -nodaemon
 +
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1
 +
 +
Ora, è sufficiente avviare il proprio ambiente desktop:
 +
# init 5
 +
 +
====Utilizzo di .xinitrc====
 +
Questo metodo implica ulteriori configurazioni.
 +
 +
Prima di tutto bisogna configurare ~/.xinitrc
 +
 +
Una delle funzioni principali di questo file è quello di dettare a '''X''' ciò che è invocato con '''/usr/bin/startx''' (a livello globale) e/o con '''/usr/bin/xinit''' (a livello utente). (Lo script  '''startx''' è solo un front-end per il più versatile comando '''xinit'''.) Ci sono moltissimi altri tipi di specifiche configurazioni e comandi che possono essere aggiunte a ~/[[.xinitrc]] come  ulteriore personalizzazione del sistema.
 +
 +
{{Note | '''[[.xinitrc]]''' è un così chiamato "dot" (.) file. I file che sono preceduti da un punto (.) in un filesystem *nix are "nascosti", e non verranno mostrati con una normale comando "ls", solitamente per la buona abitudine di mantenere in ordine le directory. I dot file sono visibili tramite il comando '''ls -a'''. Il suffisso "rc" significa ''Run Commands'' e indica semplicemente che si tratta di un file di configurazione. Dal momento che controlla come un programma viene eseguito, è anche chiamato (ma storicamente non corretto!) "Run Control".}}
 +
 +
I comandi '''startx''' e '''xinit''' avviano il server '''X''' ed i client. Per determinare il client da eseguire, '''startx/xinit''' cercherà di analizzare prima un file [[.xinitrc]] nella home directory dell'utente. Se il file ~/[[.xinitrc]] non esistesse, si rivolgerà di default al file globale xinitrc, nella cartella xinit; /etc/X11/xinit/xinitrc, che usa di default il window manager TWM. (Quindi, se si richiama startx senza il file ~/[[.xinitrc]], si avvierà una sessione TWM). Ulteriori approfondimenti nella pagina wiki [[.xinitrc]].
 +
 +
Passare all'utente '''''normale, non-root''''':
 +
 +
# su - ''yourusername''
 +
 +
* /etc/skel/ contiene i file e le directory necessarie a fornire valori predefiniti corretti agli account utente appena creati. Il nome '''skel''' è derivato dalla parola '''skeleton''', perché i file in esso contenuti costituiscono la struttura di base per le home directory degli utenti.
 +
{{Note | Un modello di file '''[[.xinitrc]]''' sarà reperibile in /etc/skel una volta installato il pacchetto '''xorg-xinit'''.}}
 +
 +
* Un file .xinitrc d'esempio è reperibile [[Xinitrc#A_standard_.xinitrc | qui]]
 +
Copiare il file d'esempio xinitrc da /etc/skel/ alla propria cartella home:
 +
 +
$ cp /etc/skel/[[.xinitrc]] ~/
 +
Editare il file:
 +
$ nano ~/.xinitrc
 +
e decommentare la riga corrispondente al proprio Desktop Environment. Per esempio, se si usa Xterm, dovrebbe essere un qualcosa di simile:
 +
 +
<pre>
 +
#!/bin/sh
 +
#
 +
# ~/.xinitrc
 +
#
 +
# Executed by startx (run your window manager from here)
 +
 +
# exec gnome-session
 +
# exec startkde
 +
# exec startxfce4
 +
# exec wmaker
 +
# exec icewm
 +
# exec blackbox
 +
# exec fluxbox
 +
# exec openbox-session
 +
# ...or the Window Manager of your choice
 +
exec xterm
 +
</pre>
 +
 +
{{Note | ''Assicurarsi di avere '''una sola''' riga '''exec''' decommentata in ~/.xinitrc''.}}
 +
 +
Ora siamo pronti per lanciare X. Avviare '''X''' da utente '''normale, non-root''' con:
 +
 +
$ startx
 +
o
 +
$ xinit
 +
 +
Il desktop dovrebbe ora avviarsi. È possibile verificare la tastiera e il suo layout, come anche usare il mouse.
 +
 +
In caso di problemi con l'automount, provare a utilizzare il seguente comando in ~/.xinitrc.  (Sostituire "startxfce4" con il comando appropriato per il proprio window manager/DE.)
 +
exec ck-launch-session startxfce4
 +
Ciò garantirà che le differenti variabili d'ambiente siano impostate correttamente avviando una sessione consolekit pulita. ConsoleKit è un framework per tenere traccia dei vari utenti, delle sessioni, e delle sedi presenti in un sistema. Fornisce un meccanismo software che reagisce ai cambiamenti di qualsiasi di questi elementi o dei metadati ad essi associati. Lavora in parallelo con dbus, e altri strumenti.
  
 
==Suggerimenti==
 
==Suggerimenti==

Revision as of 22:51, 11 January 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start

Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Xorg è un'applicazione pubblica e open-source del sistema X-window versione 11. Dal momento che Xorg è la scelta più popolare tra gli utenti Linux, la sua ubiquità ha portato a renderlo un requisito sempre presente per le applicazioni GUI, con conseguente adozione massiccia dalla maggior parte delle distribuzioni. Consultare l'articolo di Wikipedia Xorg o visitare Xorg website per ulteriori informazioni.

Contents

Installazione

Prima di iniziare, assicurarsi che pacman sia aggiornato:

# pacman -Syu

Poi installare l'intero gruppo "xorg":

# pacman -S xorg

Nella nuova versione 1.8, Xorg-server non richiede più HAL per l'hardware. Udev rileva l'hardware in maniera autonoma.

quindi si può rimuovere il demone hal dal file Template:Filename senza nessun problema, ma solo se non si dispone di qualsiasi altra applicazione installata che richieda HAL come dipendenza. Inoltre, le impostazioni che prima si trovavano nel file Template:Filename, sono da ora nella cartella contenente tutti i file relativi, e cioè Template:Filename.

Udev dovrebbe essere in grado di rilevare tutto l'hardware senza problemi e evdev (xf86-input-evdev) è il moderno driver di input hotplugging per quasi tutti i dispositivi, di cui nella maggior parte dei casi, l'installazione di driver extra potrebbe non essere necessario.

Se evdev non supporta il proprio dispositivo, installare i driver necessari dal gruppo xorg-input-drivers.

Xorg-server può essere avviato col comando startx. Si dovrebbe utilizzare solo nel caso si abbia correttamente modificato il file ~/.xinitrc.

Note: Nel caso in cui si utilizzi un ambiente desktop (GNOME, KDE ecc), si consiglia di utilizzare un DM (KDM, GDM, ecc), che gestirà le possibili applicazioni specifiche e librerie che dovrebbero essere precaricate.

Configurazione

I file di configurazione si trovano in Template:Filename.

Si dovrebbe avere Template:Filename che gestisce la tastiera, il mouse, il touchpad e il touchscreen. Si è liberi di creare nuovi file di configurazione, che devono però iniziare da XX- e terminare con .conf (per esempio 10 prima di 20).

Touchpad//Synaptics

Se si ha un laptop, si potrebbe anche voler installare il driver Synaptic.

# pacman -S xf86-input-synaptics

Dopo l'installazione, si troverà Template:Filename nella cartella Template:Filename. Si potrà quindi commentare, o eliminare, la "InputClass" del touchpad in Template:Filename.

Schede Grafiche e Driver

Il driver (xf86-video-vesa) non è un driver ottimale (non attiva l'accellerazione 3D e non supporta alcune risoluzioni), potrebbe essere necessario installare il driver adatto alla scheda video.

Per conoscere il nome della scheda installata sul proprio sistema

$ lspci | grep "VGA"

Si può avere una lista di tutti i driver con il comando:

# pacman -Ss xf86-video

Driver comuni (open source):

  • nvidia: xf86-video-nouveau (vedere Nouveau)
  • intel: xf86-video-intel (vedere Intel)
  • ati: xf86-video-ati (vedere ATI)

Driver proprietari

Xorg dovrebbe funzionare senza problemi senza i driver "closed source", che in genere sono necessari solo per funzioni avanzate come il fast rendering con accelerazione 3D per i giochi, configurazioni dual-screen e TV-out. Consultare NVIDIA e ATI.

Nvidia

Durante l'installazione, verrà creato un file di configurazione (20-nvidia.conf) nella cartella Template:Filename. Permette a Xorg di utilizzare i driver NVIDIA all'avvio.

Impostazioni del monitor

Come iniziare

Note: Questo passo è OPZIONALE e non dovrebbe essere fatto se non si sa cosa si sta facendo.
Note: Questo passaggio èOBBLIGATORIO se si usano due monitor o i driver nouveau. Consultare Nouveau#Configuration.

Per prima cosa, creare un nuovo file di configurazione, Template:Filename per esempio.

# nano /etc/X11/xorg.conf.d/10-monitor.conf

Fare un "Copia e Incolla" con il seguente codice

Section "Monitor"
    Identifier    "Monitor0"
EndSection

Section "Device"
    Identifier    "Device0"
    Driver        "vesa" #Choose the driver used for this monitor
EndSection

Section "Screen"
    Identifier    "Screen0"  #Collapse Monitor and Device section to Screen section
    Device        "Device0"
    Monitor       "Monitor0"
    DefaultDepth  16 #Choose the depth (16||24)
    SubSection "Display"
        Depth     16
        Modes     "1024x768_75.00" #Choose the resolution
    EndSubSection
EndSection

Multiple monitors/Dual screen

Nvidia

Per ottenere un doppio schermo, è sufficiente modificare il file Template:Filename fatto prima.

Per ogni monitor "fisico", aggiungere un Monitor, Device, e una voce Screen Section, ed aggiungere anche una sezione ServerLayout per gestirlo. Occorre considerare che quando Xinerama è attivato, i driver proprietari nVidia disattivano automaticamente il compositing. Se si desidera il compositing, si dovrebbe commentare la linea Xinerama in "ServerLayout" e utilizzare Twinview (vedi sotto).

Section "ServerLayout"
    Identifier     "DualSreen"
    Screen       0 "Screen0"
    Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
    Option         "Xinerama" "1" #To move windows between screens
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable" "true"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable" "true"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Screen         0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Screen         1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
        Modes          "1280x800_75.00"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
    EndSubSection
EndSection
TwinView

Se si desidera un solo grande schermo invece di due, cambiare l'argomento TwinView a 1. Questa opzione deve essere usato al posto di Xinerama (vedi sopra), se si desidera il compositing.

Option "TwinView" "1"
Utilizzo delle impostazioni Nvidia

È inoltre possibile utilizzare lo strumento Nvidia-settings-tool. Con questo metodo verrà utilizzato il software proprietario che Nvidia mette a disposizione con il proprio driver. Basta accedere alle impostazioni come root, configurare come si desidera, e quindi salvare la configurazione in /etc/X11/xorg.conf.d/10-monitor.conf.

Più schede grafiche

È necessario definire il driver da utilizzare ed aggiungere l'ID bus della scheda grafica.

Section "Device"
    Identifier      "Screen0"
    Driver          "nouveau"
    BusID           "PCI:0:12:0"
EndSection

Section "Device"
    Identifier      "Screen1"
    Driver          "radeon"
    BusID           "PCI:1:0:0"
EndSection

Per ottenere l'ID bus :

$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)

Nell'esempio, l'ID bus è 1:0:0.

Dimensione dello schermo e DPI

D: Come fa l'Xorg server a calcolare il DPI?
R: Il DPI dell'X server è determinato nel modo seguente:

  1. L'opzione riga di comando dpi ha la massima priorità.
  2. Se questa non viene utilizzata, l'impostazione della dimensione dello schermo nel file di configurazione di X, è utilizzata per determinare il DPI, data la risoluzione dello schermo.
  3. Se non viene fornita la dimensione schermo, i valori di dimensione del monitor DDC vengono utilizzati per ricavare la DPI, data la risoluzione dello schermo.
  4. Se il DDC non specifica una dimensione, il valore DPI 75 viene utilizzato di default.

Per ottenere una corretta impostazione dei "punti per pollice" (DPI), la dimensione del display deve essere conosciuta oppure impostata. Impostare correttamente il DPI è necessario soprattutto quando è richiesta una risoluzione fine (come per il rendering dei font). In precedenza i produttori cercavano di creare uno standard per 96 DPI (un monitor 10.3 " in diagonale sarebbe 800x600, un monitor 13,2" 1024x768). I monitor attuali possono essere di un qualsiasi numero di DPI e questo non può corrispondere orizzontalmente e verticalmente. Per essere in grado di impostare il DPI, il server Xorg tenta di rilevare automaticamente la dimensione fisica dello schermo del monitor tramite la scheda grafica con DDC. Quando il server Xorg sarà a conoscenza della dimensione fisica dello schermo, sarà anche in grado di impostare il corretto DPI a seconda delle dimensioni di risoluzione.

Per verificare se le dimensioni del display e DPI sono rilevati e calcolati correttamente:

$ xdpyinfo | grep dimensions
$ xdpyinfo | grep "dots per inch"

Verificare che le dimensioni corrispondano alla dimensione di visualizzazione. Se il server Xorg non è in grado di calcolare correttamente le dimensioni dello schermo, il valore verrà predefinito a 75x75 DPI e si dovrà calcolarlo ed impostarlo manualmente.

Se si dispone di indicazioni sulla dimensione fisica dello schermo, possono essere inserite nel file di configurazione di Xorg, in modo che il DPI corretto venga calcolato come segue:

Section "Monitor"
    Identifier "Monitor0"
    DisplaySize 286 179    # In millimeters
EndSection

Se non si dispone di specifiche per la larghezza e l'altezza dello schermo orizzontale e fisico (attualmente la maggior parte delle specifiche sono elencate solo per dimensione diagonale), è possibile utilizzare la risoluzione nativa del monitor (o rapporto di aspetto) e di lunghezza diagonale per calcolare le dimensioni fisiche orizzontali e verticali. Utilizzando il teorema di Pitagora in uno schermo con diagonale 13,3", con risoluzione nativa 1280x800 (o aspect ratio 16:10):

echo 'scale=5;sqrt(1280^2+800^2)' | bc  # 1509.43698

Questo darà la lunghezza della diagonale in pixel e con questo valore si possono ottenere le lunghezze fisiche orizzontali e verticali (e convertirle in millimetri):

echo 'scale=5;(13.3/1509)*1280*25.4' | bc  # 286.43072
echo 'scale=5;(13.3/1509)*800*25.4' | bc   # 179.01920
Note: Questo calcolo funziona per le dimensioni di più tipi di monitor, tuttavia vi sono monitor più economici che di rado possono comprimere il rapporto di aspetto (per esempio la risoluzione 16:10 a 16:9) in tal caso si dovrebbe misurare la dimensione dello schermo manualmente.

Il DPI può essere impostato anche se si prevede di utilizzare solo una risoluzione:

Section "Monitor"
    Identifier "Monitor0"
    Option   "DPI" "96 x 96"
EndSection

Se per qualche strano motivo i driver nvidia non impostano il DPI corretto, è possibile disattivare il rilevamento automatico:

  Option   "UseEdidDpi" "false"

Per i driver RandR compatibili, è possibile impostare con:

xrandr --dpi 96

Consultare Execute commands after X start per rendere salvare i cambiamenti.

DPMS

Il DPMS (Display Power Management Signaling) è una tecnologia che permette il risparmio energetico dei monitor quando il computer non è in uso. Ciò permetterà di avere monitor che vanno automaticamente in standby dopo un determinato periodo . Si veda: DPMS

Disabilitare Input Hot-plugging

Dalla versione 1.8 Xorg-server usa udev per il rilevamento dei dispositivi. Ciò che segue disabiliterà udev.

Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection
Warning: Questa operazione disabiliterà l'hot-plugging di Xorg per tutti i dispositivi di input e si riavranno le caratteristiche proprie di xorg-server 1.4. È molto più conveniente configurare i dispositivi con udev che con xorg.conf. Per tanto , disabilitare Hot-plugging, non è consigliato! Consultare: Xorg Input Hotplugging

InputClasses

Preso da: https://fedoraproject.org/wiki/Input_device_configuration

Gli inputClasses sono una nuova sezione di configurazione che non si applica ad un singolo dispositivo ma piuttosto ad una classe di dispositivi, compresi i dispositivi dinamici. Una sezione InputClass è limitata dalle parti specificate da applicare ad un dispositivo di input: tutte le parti saranno applicate a un dispositivo. Un esempio viene riportato di seguito:

Section "InputClass"
    Identifier      "touchpad catchall"
    MatchIsTouchpad "on"
    Driver           "synaptics"
EndSection

Il prossimo frammento potrebbe anche essere utile:

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Se questo frammento è presente nel file Template:Filename o xorg.conf.d, ad ogni touchpad eventualmente presente nel sistema verrà assegnato il driver Synaptics. Si noti che a causa dell'ordine di precedenza (ordinamento alfanumerico dei frammenti xorg.conf.d) l'impostazione del driver sovrascrive le opzioni del driver precedentemente impostato, il più generico della classe, quello che dovrebbe essere elencato per primo. Il frammento di default fornito con il pacchetto xorg-x11-drv-00-Xorg è Template:Filename e applica il driver evdev a tutti i dispositivi di input.

Le opzioni di abbinamento specificano a quali dispositivi può essere applicata una sezione. Per abbinare un dispositivo, tutte le righe devono essere applicate. Le righe seguenti sono supportate (con esempi):

Una sezione d'esempio per configurazioni specifiche è la seguente:

Section "InputClass"
    Identifier     "lasermouse slowdown"
    MatchIsPointer "on"
    MatchProduct   "Lasermouse"
    MatchVendor    "LaserMouse Inc."
    Option         "ConstantDeceleration" 20
EndSection

Questa sezione dovrebbe corrispondere a un dispositivo di puntamento contenente "Lasermouse", da "Lasermouse Inc", e applicare una decelerazione costante di 20 su questo dispositivo.

Alcuni dispositivi possono venire abilitati dal server X, quando in realtà non lo dovrebbero essere. Questi dispositivi possono essere configurati per essere ignorati:

Section "InputClass"
    Identifier     "no need for accelerometers in X"
    MatchProduct   "accelerometer"
    Option         "Ignore" "on"
EndSection

Esempio di configurazioni

La sezione seguente descrive alcune configurazioni d'esempio riguardo opzioni di configurazione di uso comune. Si noti che se si utilizza un ambiente desktop come GNOME o KDE, le opzioni impostate nel file xorg.conf possono essere sovrascritte con opzioni specifiche per l'utente al login.

Esempio: emulazione rotellina (per un trackpoint)

Se possedete un computer con un Trackpoint (un Thinkpad per esempio) si può aggiungere quanto segue al file xorg.conf per usare il tasto centrale emulando la rotellina del mouse:

Section "InputClass"
    Identifier     "Wheel Emulation"
    MatchIsPointer "on"
    MatchProduct   "TrackPoint"
    Option         "EmulateWheelButton" "2"
    Option "EmulateWheel" "on"
EndSection

Per il supporto completo al trackpoint (compreso lo scorrimento orizzontale), è possibile utilizzare il seguente:

Section "InputClass"
    Identifier	"Trackpoint Wheel Emulation"
    MatchProduct	"TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
    MatchDevicePath	"/dev/input/event*"
    Option		"EmulateWheel"		"true"
    Option		"EmulateWheelButton"	"2"
    Option		"Emulate3Buttons"	"false"
    Option		"XAxisMapping"		"6 7"
    Option		"YAxisMapping"		"4 5"
EndSection
Esempio: Tap-to-click

Il tap-to-click può essere attivato nella finestra di configurazione del mouse (nella scheda touchpad), ma se si ha bisogno di questa funzionalità già abilitata al gdm, la specifica seguente è quella più adatta:

Section "InputClass"
    Identifier "tap-by-default"
    MatchIsTouchpad "on"
    Option "TapButton1" "1"
EndSection
Esempio: la tastiera ed il modello su Acer 5920G Laptop

Il modello e il layout della tastiera può essere impostato nel file Template:Filename o qualsiasi altro file .conf nella stessa directory.

laptop keyboard. Si può sostituire Template:Codeline con il layout di tastiera attuale.

Si noti che un elenco di layout di tastiera e modelli possono essere trovati in Template:Filename

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbModel" "acer_laptop"
    Option                 "XkbLayout" "it"
    Option                 "XkbVariant" "sundeadkeys"
EndSection

Impostazioni della tastiera

Xorg potrebbe fallire nel riconoscere correttamente la tastiera. Ciò potrebbe dare problemi con il layout della tastiera o con il modello, non essendo impostata correttamente.

Per trovare una lista completa di modelli di tastiera, layout, varianti e opzioni, si apra:

/usr/share/X11/xkb/rules/xorg.lst

Per impostare la mappatura della tastiera per la sessione corrente di Xorg

# setxkbmap dvorak

Ritardo di ripetizione e frequenza dei tasti

Usare Template:Codeline per modificarli, e xinitrc per salvare i cambiamenti.

Visualizzazione delle impostazioni della tastiera

 $ setxkbmap -print -verbose 10
Setting verbose level to 10
locale is C
Applied rules from evdev:
model:      evdev
layout:     us
options:    terminate:ctrl_alt_bksp
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)+terminate(ctrl_alt_bksp)
geometry:   pc(pc104)
xkb_keymap {
        xkb_keycodes  { include "evdev+aliases(qwerty)" };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)"    };
        xkb_geometry  { include "pc(pc104)"     };
};

Impostare la mappatura della tastiera con Hot-Plugging

Per rendere le modifiche permanenti, si aggiunga a Template:Filename:

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "dvorak"
EndSection

Si noti che questo è in una sezione InputClass e non la sezione InputDevice per la tastiera.

Impostare la mappatura della tastiera senza Hot-Plugging (deprecato)

Note: Cambiare il layout di tastiera con questo metodo richiede la disabilitazione dell'inserimento hot-plugging.

Per cambiare il layout della tastiera, si usi l'opzione XkbLayout nella sezione InputDevice keyboard. Per esempio, se si possiede una tastiera con layout italiano:

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option "XkbLayout" "it"
EndSection

Per cambiare il modello della tastiera, si usi l'opzione XkbModel nella sezione InputDevice keyboard. per esempio, nel caso di una tastiera Microsoft Wireless Multimedia:

Option "XkbModel" "microsoftmult"

Cambio tra diversi layout della tastiera

Per facilitare il cambiamento dei layout della tastiera, modificare le Options usate in entrambi i metodi descritti sopra. Per esempio tra un layout americano e uno svedese si usi (con il tasto Blocco Maiuscole):

Option "XkbLayout"  "us, se"
Option "XkbOptions" "grp:caps_toggle"

Ciò è particolarmente utile se non si sta usando un DE che si occupa dei layout della tastiera.

Disabilitare permanentemente i tasti del mouse

Per disabilitare permanentemente i tasti del mouse e prevenire la loro abilitazione tramite Shift+NumLock o Shift+Alt+NumLock, si editi:

/usr/share/X11/xkb/compat/complete

e si commenti:

augment "mousekeys"
augment "accessx(full)"

Fonts

Su Font Configuration ci sono alcuni suggerimenti riguardo la configurazione dei font.

Modello di file xorg.conf

Chiunque abbia redatto un file Xorg.conf funzionante, vada avanti e condivida qui un link ad esso per permettere ad altri di consultarlo. Non si inserisca tutto il file di configurazione; lo si carichi da qualche altra parte e si incolli il link.
Si inseriscano solo configurazioni di hotplugging, altrimenti si avvisi che la propria configurazione non usa l'input hotplugging. (Xorg 1.8 = udev)

- Un Esempio: xorg.conf & xorg.conf.d/10-evdev.conf

Questo è un esempio di file di configurazione che utilizza Template:Filename per il layout della tastiera:

Note: le sezioni "InputDevice" cono commentate, questo perchè ora sarà 10-evdev.conf a prendersi carico delle configurazioni.
xorg.conf: http://pastebin.com/raw.php?i=EuSKahkn
xorg.conf.d/10-evdev.conf: http://pastebin.com/raw.php?i=4mPY35Mw>
xorg.conf.d/10-monitor.conf (VMWare): http://pastebin.com/raw.php?i=fJv8EXGb
xorg.conf.d/10-monitor.conf (KVM): http://pastebin.com/raw.php?i=NRz7v0Kn

Eseguire Xorg

Si aggiunga dbus alla stringa DAEMONS del file Template:Filename:

DAEMONS=(syslog-ng dbus network crond)

Se si vuole avviare dbus manualmente senza riavviare:

# /etc/rc.d/dbus start

Infine, avviare Xorg:

$ startx

o

$ xinit -- /usr/bin/X -nolisten tcp
Note: Se si ha appena installato Xorg, ci sarà un file vuoto chiamato .xinitrc nella $HOME che occorre o cancellare o compilare per avviare correttamente X. Nel caso in cui non lo si faccia, X mostrerà una schermata vuota e non compariranno errori in Xorg.0.log. Semplicemente cancellandolo si otterrà un'istanza di X di base.

L'ambiente base di X è piuttosto semplice, e solitamente si cerca di installare un window manager o un desktop environments per completare X. Una lista d'opzioni utili è presente in Common Applications#Window Managers (WM).

Se si dovesse presentare qualche problema, allora si consulti il log in Template:Filename. Si cerchi qualsiasi riga che cominci per Template:Codeline che sta ad indicare gli errori, ed anche Template:Codeline che avvisa di possibili altre conseguenze.

Metodi per l'avvio dell'ambiente grafico

Seguono un paio di metodi per l'avvio di un ambiente grafico dalla riga di comando.

Note: Se si utilizza un ambiente desktop completo (Gnome, KDE, ecc), potrebbe essere più utile leggere la relativa pagina wiki.

Utilizzo dei runlevel

Per impostazione predefinita, Linux è configurato per avere diversi runlevels. Arch viene avviato per default al runlevel 3. Il runlevel 5 è in genere utilizzato in per il caricamento del server X. Editare il file /etc/inittab. Nell'ultima sezione alla fine del file, decommentare la riga appropriata per il display manager del proprio ambiente desktop. Per esempio, per XDM (X Display manager) dovrebbe essere simile a questo:

# Example lines for starting a login manager
x:5:respawn:/usr/bin/xdm -nodaemon
#x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1

Ora, è sufficiente avviare il proprio ambiente desktop:

# init 5

Utilizzo di .xinitrc

Questo metodo implica ulteriori configurazioni.

Prima di tutto bisogna configurare ~/.xinitrc

Una delle funzioni principali di questo file è quello di dettare a X ciò che è invocato con /usr/bin/startx (a livello globale) e/o con /usr/bin/xinit (a livello utente). (Lo script startx è solo un front-end per il più versatile comando xinit.) Ci sono moltissimi altri tipi di specifiche configurazioni e comandi che possono essere aggiunte a ~/.xinitrc come ulteriore personalizzazione del sistema.

Note: .xinitrc è un così chiamato "dot" (.) file. I file che sono preceduti da un punto (.) in un filesystem *nix are "nascosti", e non verranno mostrati con una normale comando "ls", solitamente per la buona abitudine di mantenere in ordine le directory. I dot file sono visibili tramite il comando ls -a. Il suffisso "rc" significa Run Commands e indica semplicemente che si tratta di un file di configurazione. Dal momento che controlla come un programma viene eseguito, è anche chiamato (ma storicamente non corretto!) "Run Control".

I comandi startx e xinit avviano il server X ed i client. Per determinare il client da eseguire, startx/xinit cercherà di analizzare prima un file .xinitrc nella home directory dell'utente. Se il file ~/.xinitrc non esistesse, si rivolgerà di default al file globale xinitrc, nella cartella xinit; /etc/X11/xinit/xinitrc, che usa di default il window manager TWM. (Quindi, se si richiama startx senza il file ~/.xinitrc, si avvierà una sessione TWM). Ulteriori approfondimenti nella pagina wiki .xinitrc.

Passare all'utente normale, non-root:

# su - yourusername
  • /etc/skel/ contiene i file e le directory necessarie a fornire valori predefiniti corretti agli account utente appena creati. Il nome skel è derivato dalla parola skeleton, perché i file in esso contenuti costituiscono la struttura di base per le home directory degli utenti.
Note: Un modello di file .xinitrc sarà reperibile in /etc/skel una volta installato il pacchetto xorg-xinit.
  • Un file .xinitrc d'esempio è reperibile qui

Copiare il file d'esempio xinitrc da /etc/skel/ alla propria cartella home:

$ cp /etc/skel/.xinitrc ~/

Editare il file:

$ nano ~/.xinitrc

e decommentare la riga corrispondente al proprio Desktop Environment. Per esempio, se si usa Xterm, dovrebbe essere un qualcosa di simile:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

# exec gnome-session
# exec startkde
# exec startxfce4
# exec wmaker
# exec icewm
# exec blackbox
# exec fluxbox
# exec openbox-session
# ...or the Window Manager of your choice
exec xterm
Note: Assicurarsi di avere una sola riga exec decommentata in ~/.xinitrc.

Ora siamo pronti per lanciare X. Avviare X da utente normale, non-root con:

$ startx

o

$ xinit

Il desktop dovrebbe ora avviarsi. È possibile verificare la tastiera e il suo layout, come anche usare il mouse.

In caso di problemi con l'automount, provare a utilizzare il seguente comando in ~/.xinitrc. (Sostituire "startxfce4" con il comando appropriato per il proprio window manager/DE.)

exec ck-launch-session startxfce4

Ciò garantirà che le differenti variabili d'ambiente siano impostate correttamente avviando una sessione consolekit pulita. ConsoleKit è un framework per tenere traccia dei vari utenti, delle sessioni, e delle sedi presenti in un sistema. Fornisce un meccanismo software che reagisce ai cambiamenti di qualsiasi di questi elementi o dei metadati ad essi associati. Lavora in parallelo con dbus, e altri strumenti.

Suggerimenti

Modifiche allo script di avvio di X (/usr/bin/startx)

Per le opzioni di X si consulti:

$ man Xserver

Le seguenti opzioni devono essere aggiunte alla variabile Template:Codeline nel file Template:Filename.

  • abilitare il caricamento ritardato dei glyph per i font a 16 bit:
-deferglyphs 16

Nota: Se si avvia X con kdm, sembra che lo script startx non venga eseguito. Queste opzioni devono essere aggiunte alla variabile Template:Codeline o Template:Codeline nel file Template:Filename.

Le opzioni di kdm predefinite sono:

  ServerArgsLocal=-nolisten tcp
  ServerCmd=/usr/bin/X

Sessione virtuale di X

Per avviare un'altra sessione di X ad esempio in Template:Keypress + Template:Keypress + Template:Keypress occorre digitare in una console:

xinit /path/to/wm -- :1

Si cambi "/path/to/wm" in relazione al proprio file d'avvio del window manager o del proprio manager di login come gdm, kdm e slim.

Sessioni di X una dentro l'altra

Per avviare una sessione di X di un altro desktop environment dentro la presente:

$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1

Questo lancerà una sessione Window Maker in una finestra 1024x768 dentro la sessione corrente di X.

Richiede l'installazione del pacchetto xorg-server-xnest.

Risoluzione dei problemi

Problemi comuni

Se Xorg non dovesse avviarsi, o lo schermo fosse completamente nero, non funzionassero tastiera e mouse, ecc., innanzitutto si effettuino questi semplici passaggi:

  • Controllare il file di log: Template:Codeline
  • Installare i driver di input (tastiera, mouse, joystick, tablet, ecc...):
  • Alla fine, cercare i problemi più comuni negli articoli riguardanti ATI, Intel e NVIDIA.

Ctrl-Alt-Backspace non funziona

Ci sono due modi per riabilitare Template:Keypress+Template:Keypress+Template:Keypress; con e senza input-hotplugging. Usare l'hot-plugging è la scelta consigliata.

Con input hot-plugging

Nella maggior parte delle situazioni, usare configurazioni specifiche per l'utente è meglio di quelle generali per il sistema.

Note: In GNOME, queste impostazioni generali del sistema non hanno effetto. Ogni utente deve andare in Sistema-> Preferenze -> Tastiera -> Layouts -> [tasto] Opzioni -> Sequenza di tasti per uccidere il server X [espandere con il triangolo a sinistra]. Quindi si controlli l'opzione Ctrl + Alt + Backspace.
Note: In KDE, questa impostazione a livello di sistema non ha effetto. Per ripristinare, andare su Impostazioni di sistema e cliccare su 'Regional & Language'. In questa nuova finestra fare clic sulla scheda Tastiera e quindi selezionare la casella "Enable Keyboard layouts". Questo vi permetterà di fare clic sulla scheda Avanzate. In questa nuova finestra, espandere la voce relativa "Sequenza di tasti per terminare il server X" e assicurarsi che Control + Alt + Backspace sia selezionato. Fare clic su Applica e chiudere la finestra Impostazioni di sistema. Ora si riavrà la funzionalità CTRL-ALT-Backspace su KDE.
Configurazioni per tutto il sistema

Si aggiunga

Option  "XkbOptions" "terminate:ctrl_alt_bksp"

a InputClass in questo modo:

Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard	"yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
Specifiche dell'utente

Un altro modo consiste nell'aggiungere questa linea a xinitrc:

setxkbmap -option terminate:ctrl_alt_bksp

Senza input hot-plugging

Il nuovo Xorg disabilita di base la sua uccisione con Template:Keypress+Template:Keypress+Template:Keypress. Si può riabilitarla aggiungendo la seguente linea in Template:Filename,

Option  "XkbOptions" "terminate:ctrl_alt_bksp" 

alla sezione Template:Codeline per la tastiera.

Problemi con tastiere Apple

Consultate il wiki: Apple Keyboard

Problemi con il tap-click del Touchpad

Consultate il wiki Synaptics

Tasti extra del mouse non riconosciuti

Consultare: Get All Mouse Buttons Working

Errore avviando il client X con "su"

Se ottenete il messaggio di errore "Client is not authorized to connect to server" (il client non è autorizzato a connettersi al server), provate ad aggiungere la seguente stringa:

session        optional        pam_xauth.so

al file Template:Filename. Template:Codeline sarà quindi impostato per gestire le chiavi di Template:Codeline e le variabili d'ambiente.

Programmi che richiedono "font '(null)'"

  • Messaggio di errore: "unable to load font `(null)'." (Impossibile caricare il tipo di carattere (null))

Alcuni programmi funzionano solo con i font bitmap. Sono disponibili due pacchetti principali con i font bitmap, xorg-fonts-75dpi e xorg-fonts-100dpi. Non vi è la necessità di installarli entrambi: uno solo di essi dovrebbe essere sufficiente. Per scoprire quale dei due pacchetti è più indicato per le vostre esigenze, lanciate il seguente comando in un terminale:

$ xdpyinfo | grep resolution

quindi installate il pacchetto che più si avvicina al vostro dato (75 o 100 al posto di XX)

# pacman -S xorg-fonts-XXdpi

Problemi con la modalità Frame-buffer

Se il server X fallisce all'avvio e controllando il corrispettivo file log (Template:Filename), notate il seguente messaggio:

(WW) Falling back to old probe method for fbdev
(II) Loading sub module "fbdevhw"
(II) LoadModule: "fbdevhw"
(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so
(II) Module fbdevhw: vendor="X.Org Foundation"
       compiled for 1.6.1, module version=0.0.2
       ABI class: X.Org Video Driver, version 5.0
(II) FBDEV(1): using default device

Fatal server error:
Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices

Disinstallate fbdev:

# pacman -R xf86-video-fbdev

DRI smette di funzionare con le schede Matrox

Se usate una scheda Matrox e DRI smette di funzionare dopo aver aggiornato Xorg, provate ad aggiungere la riga:

Option "OldDmaInit" "On"

alla sezione Device che fa riferimento alla vostra scheda video nello xorg.conf.

Ripristino: disattivare Xorg prima della schermata di login

Se Xorg è impostato per avviarsi automaticamente e per qualche motivo è necessario evitare che si avvii prima che si presenti la schermata di login o che si entri nella propria sessione grafica (se ad esempio Template:Filename è erroneamente configurato e Xorg non riconosce il mouse o la tastiera), è possibile disattivare il suo caricamento in due modi.

  • Dal menu di GRUB, è possibile specificare il runlevel nella linea del kernel aggiungendo un numero alla fine della riga del kernel specificando il livello di esecuzione che si desidera. L'esempio seguente imposta il livello di esecuzione a 3:
 kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/..ro 3
  • Se oltre ad avere problemi con il file Template:Filename, avete anche impostato il tempo di attesa del menu di GRUB a zero, o non potete altrimenti utilizzare grub per impedire l'avvio di Xorg, è possibile utilizzare il CD live di Arch. Avviare il CD live ed effettuate il login come root. A questo punto necessitate di un punto di mount, ad esempio Template:Filename, ed è necessario conoscere il nome della partizione che si desidera montare al suo interno.
Potete utilizzare il comando,
 # fdisk -l
per vedere le vostre partizioni. Di solito, quello che si desidera sarà simile a Template:Filename. Dopodiché montate la vostra partizione in Template:Filename, utilizzando il comando
 # mount /dev/sda1 /mnt
In questo modo il file-system verrà visualizzato sotto Template:Filename. Così facendo il vostro file Template:Filename, per esempio, sarà presente nell'indirizzo Template:Filename. Da qui potate eliminare il modulo Template:Codeline ( o similare) per impedire l'avvio di Xorg normalmente, o apportare altre modifiche necessarie.

Fare riferimento inoltre a: