Xorg (Italiano)

From ArchWiki
Revision as of 10:37, 3 November 2013 by Lahwaacz (Talk | contribs) (fix group)

Jump to: navigation, search


Sommario help replacing me
Una panoramica sommaria sull'installazione e la gestione di Xorg
Panoramica
Template:Graphical user interface overview (Italiano)
Articoli correlati
Avviare X al login
xprofile
Display Manager
Gestori di finestre
Configurazione dei Font
Temi dei cursori
All Mouse Buttons Working
Ambienti Desktop
Wayland
Driver video liberi
Intel
ATI
Nouveau
Driver video proprietati
AMD Catalyst
NVIDIA

Da http://www.x.org/wiki/:

Il progetto X.Org fornisce un'implementazione open source del sistema X Window. Il lavoro di sviluppo è stato fatto in collaborazione con la comunità freedesktop.org. La Fondazione X.Org è l' organizzazione no-profit educativa, il cui Consiglio serve questo sforzo, e in cui tutti i membri conducono questo lavoro.

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

È necessario installare il pacchetto essenziale xorg-server, reperibile nei Depositi ufficiali.

Inoltre alcuni pacchetti del gruppo xorg-apps sono utili per alcune attività di configurazione, essi sono segnalati nella sezione/pagina dedicata.

# pacman -Syu xorg-server
Suggerimento: L' ambiente di default X è piuttosto spoglia , e si cercherà in linea di installare un window manager or a desktop environment in supplemento ad X.

Installazione dei Driver

Il kernel Linux include driver video open-source e il supporto per il framebuffer hardware accelerato. Tuttavia, il supporto in spazio utente è necessario per OpenGL e l'accelerazione 2D in X11 .

Per prima cosa, identificare la vostra scheda:

$ lspci | grep "VGA"

Quindi, installare un driver appropriato. È possibile cercare nel database dei pacchetti per un elenco completo dei driver video open-source:

# pacman -Ss xf86-video

Il driver grafico predefinito è VESA ( pacchetto xf86-video-vesa), che gestisce un gran numero di chipset, ma non include alcuna accelerazione 2D o 3D. Se un driver migliore non può essere trovato o non viene caricato, Xorg ricadrà su vesa.

Al fine di poter usufruire dell'accelerazione video per lavorare, e spesso per poter usufruire di tutte le modalità che la GPU può impostare, è necessario un driver video corretto:

Marca Tipo Driver Pacchetti Multilib
(Per eseguire applicazioni 32 bit su Arch x86_64)
 Documentazione 
 AMD/ATI   Open source  xf86-video-ati lib32-ati-dri ATI (Italiano)
Proprietary catalyst-dkmsAUR lib32-catalyst-utilsAUR ATI Catalyst (Italiano)
Intel Open source xf86-video-intel lib32-intel-dri Intel (Italiano)
Nvidia Open source xf86-video-nouveau lib32-nouveau-dri Nouveau (Italiano)
xf86-video-nv (legacy driver)
Proprietary nvidia lib32-nvidia-libgl NVIDIA (Italiano)
nvidia-304xx lib32-nvidia-304xx-utils
nvidia-173xxAUR lib32-nvidia-173xx-utilsAUR
nvidia-96xxAUR lib32-nvidia-96xx-utilsAUR
VIA Open source xf86-video-openchrome VIA

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.

Avvio

Si veda anche: Avviare X al login

Suggerimento: Il modo più semplice per avviare X è quello di utilizzare un display manager, come GDM, KDM o SLiM.

Se si desidera avviare X senza l'ausilio di un display manager, si installi il pacchetto xorg-xinit. Opzionalmente anche i pacchetti xorg-twm, xorg-xclock e xterm, che permettono di avere un ambiente di lavoro predefinito, come descritto in seguito.

I comandi startx e xinit permettono di avviare il server X ed il lato client (lo script startx è solamente un front end al comando xinit). Per determinare il client da avviare, startx/xinit cercherà prima di analizzare un file ~/.xinitrc nella directory home dell'utente. In assenza del file ~/.xinitrc, analizzerà il file globale predefinito /etc/X11/xinit/xinitrc, che ha come valore predefinito, quello di iniziare un ambiente di base con il window manager Twm, Xclock e Xterm.

Nota: X deve sempre essere eseguito sulla stessa tty in cui si è verificato il login, per preservare la sessione logind. Questo è gestito in modo predefinito da /etc/X11/xinit/xserverrc.
Attenzione: Se si sceglie di utilizzare xinit al posto di startx, siate responsabili di passare il parametro -nolisten tcp e di garantire che la sessione non si rompa avviando X su una tty diversa.

Per maggiori informazioni, si veda xinitrc.

Nota:
  • Se si verifica un problema, potete visualizzare il log di registro di /var/log/Xorg.0.log. Cercate tutte le linee che iniziano con (EE), che identificano la presenza di un errore, e anche le linee che iniziano cone (WW), che sono dei warnings che possono identificare un eventuale problema.
  • Se avete un file .xinitrc vuoto nella vostra $HOME, eliminatelo o modificatelo al fine di avviare X correttamente. Se non si esegue questa operazione X mostrerà una schermata vuota e nel vostro Xorg.0.log non riscontrerete nessun errore rilevante. Semplicemente eliminandolo farà sì che X sia in grado di funzionare con un ambiente predefinito.

Configurazione

Note: Arch Linux fornisce dei file di configurazione predefiniti in /etc/X11/xorg.conf.d, e nessuna configurazione aggiuntiva è necessaria per la maggior parte delle configurazioni.

Xorg usa un file di configurazione chiamato xorg.conf e file che terminano con il suffisso .conf per la sua configurazione iniziale : l' elenco completo delle cartelle in cui i file vengono cercati può essere trovato qui o eseguendo man xorg.conf, insieme ad una spiegazione dettagliata di tutte le le opzioni disponibili.

Utilizzando i file .conf

La cartella /etc/X11/xorg.conf.d/ include configurazioni specifiche dell'utente. Siete liberi di aggiungere i file di configurazione nella directory, ma devono avere un suffiso .conf: i file vengono letti in ordine ASCII, e per convenzione i loro nomi devono iniziare con XX- (due cifre ed un trattino, in modo che per esempio 10 viene letto prima di 20). Questi file vengono analizzati dal server X all'avvio e sono trattati come parte del tradizionale file di configurazione xorg.conf. Il server X tratta essenzialmente la raccolta di file di configurazione, come un unico grande file con le voci di xorg.conf alla fine.

Usare xorg.conf

Xorg può anche essere configurato tramite /etc/X11/xorg.conf o /etc/xorg.conf. Potete generare uno scheletro di xorg.conf tramite:

 # Xorg :0 -configure

Questo dovrebbe creare un file xorg.conf.new in /root/ che dovrete copiare come /etc/X11/xorg.conf, per maggiori informazioni si veda man xorg.conf.

In alternativa, i driver proprietari della scheda video potrebbero includere uno strumento per configurare automaticamente Xorg. Si veda l'articolo relativo al proprio driver video, NVIDIA o AMD Catalyst per i dettagli.

Nota: Le parole chiavi del file di configurazione sono case-insensitive, e i caratteri "_" vengono ignorati. La maggior parte delle stringhe (compresi i nomi di Option ) sono case-insensitive, e insensibili agli spazi bianchi e caratteri "_".

Configurazioni di esempio

xorg.conf

  1. Sample 1
    • Nota: Le sezioni "InputDevice" sono commentate, questo perché ora sarà /etc/X11/xorg.conf.d/10-evdev.conf a farsi carico della configurazione del layout della tastiera.

/etc/X11/xorg.conf.d/10-evdev.conf

  1. Sample 1
    • Nota: Questo è il file 10-evdev.conf che va in abbinamento all'esempio 1 del file xorg.conf

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

  1. VMware
  2. KVM
  3. NVIDIA
    • Nota: I driver binari nvidia-ck ( V325 ); dual GPU, doppio monitor, Dual Screen; Twinview No, No Xinerama, ruotato e posizionato verticalmente screen1 sopra Screen0.

Dispositivi di input

Udev sarà in grado di rilevare tutto l'hardware ed evdev agirà come driver di ingresso hotplugging per quasi tutti i dispositivi. Udev è fornito da systemd e xf86-input-evdev è richiesto dal pacchetto xorg-server, quindi l'installazione dei driver di input non è necessaria per la maggior parte dell'hardware. Tuttavia, se evdev non supporta il dispositivo, installare il driver necessario dal gruppo xorg-drivers (lanciare pacman -Sg xorg-drivers per averne un elenco).

Si dovrebbe avere il file 10-evdev.conf nella directory /etc/X11/xorg.conf.d/, che gestisce la tastiera, il mouse, il touchpad e il touchscreen.

Touchpad Synaptics

Main page: Touchpad Synaptics

Se avete un portatile, è necessario installare il driver per il touchpad, fornito dal pacchetto xf86-input-synaptics, reperibile nei repositori ufficiali.

Dopo l'installazione, si troverà il file 10-synaptics.conf nella cartella /etc/X11/xorg.conf.d. Si potrà quindi commentare, o eliminare, la riga InputClass del touchpad in 10-evdev.conf.

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 impostato 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 xset r rate delay rate per modificarli, e xinitrc per salvare i cambiamenti. I valori rispettivamente di 170 e 30, sono un buon punto di partenza.

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

Nota: Se state utilizzando l'ambiente desktop GNOME, queste impostazioni verranno ignorate. Dovrete impostare il layout della tastiera dalla applet della tastiera di GNOME. Segui il link layout della tastiera, e aggiungere il layout desiderato e rimuovere qualsiasi altro non desiderato. Per XkbOptions, vedere GNOME#Modify_Keyboard_with_XkbOptions.

Per cambiare il layout della propria tastiera, creare un file numbero-*.conf (es. 10-keyboard.conf) con il seguente contenuto:

/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "it"
    Option                 "XkbVariant" "colemak"
EndSection
Nota: Ecco un esempio configurtion per l'impostazione del layout di tastiera Dvorak a livello di sistema. Funziona su gestori di sessioni, come slim e gdm.
/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "dvorak"
EndSection

In alternativa è possibile combinare XkbLayout e XkbVariant:

/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "ot(colemak)"
EndSection

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, per passare tra un layout italiano e uno americano con il tasto Blocco Maiuscole attivato, creare un file /etc/X11/xorg.conf.d/01-keyboard-layout.conf ed aggiungerci il contenuto seguente:

 Section "InputClass"
    Identifier "keyboard-layout"
    Driver "evdev"
    MatchIsKeyboard "yes"
    Option "XkbLayout"  "it, us"
    Option "XkbOptions" "grp:caps_toggle"
 EndSection


In alternativa, è possibile aggiungere quanto segue in .xinitrc:

$ setxkbmap -layout "us, se" -option "grp:caps_toggle"

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

Suggerimento: Se si desidera ottenere un elenco di possibili valori per il layout e le opzioni , è possibile trovare in /usr/share/X11/xkb/rules/xorg.lst. Sono visualizzati rispettivamente sotto le sezioni !Layout e !option.

Abilitare i pointerkeys

I mouse keys ora sono disabilitati per default e devono essere attivati manualmente:

/etc/X11/xorg.conf.d/20-enable-pointerkeys.conf
Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbOptions" "keypad:pointerkeys"
EndSection

Si può anche eseguire:

$ setxkbmap -option keypad:pointerkeys

Entrambi i metodi abiliteranno la scorciatoia Shift+NumLock.

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 xorg.conf 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 è 00-evdev.conf 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):

  • MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick – opzioni booleane da applicare ad un gruppo di dispositivi.
  • MatchProduct "foo|bar": abbina ogni dispositivo con il nome di un prodotto contenente sia "foo" che "bar"
  • MatchVendor "foo|bar|baz": abbina ogni dispositivo la cui stringa del vendor contenga "foo", "bar", o "baz"
  • MatchDevicePath "/dev/input/event*": abbina con qualsiasi dispositivo con un percorso di dispositivo corrispondente alla patch data (vedi fnmatch (3) per il modello di permesso)
  • MatchTag "foo|bar": abbina con qualsiasi dispositivo il cui tag sia "foo" o "bar". I tag possono essere assegnati dal backend config, udev nel nostro caso, per etichettare i dispositivi che hanno bisogno di configurazioni particolari.

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 /etc/X11/xorg.conf.d/keyboard.conf o qualsiasi altro file .conf nella stessa directory.

  • MatchIsKeyboard "yes": imposta il dispositivo di input per una tastiera
  • Option "XkbLayout" "it": imposta il layout di tastiera alla lingua italiana. Si può sostituire it con qualsiasi altro layout.
  • Option "XkbModel" "acer_laptop": imposta il modello di tastiera per una tastiera di computer portatile Acer. Si può sostituire acer_laptop con il proprio layout.
  • Option "XkbVariant" "sundeadkeys": imposta la variante layout ai Sun dead keys. Si può omettere l'opzione XkbVariant utilizzando la variante predefinita.

laptop keyboard. Si può sostituire acer_laptop con il layout di tastiera attuale.

Si noti che un elenco di layout di tastiera e modelli possono essere trovati in /usr/share/X11/xkb/rules/base.lst

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbModel" "acer_laptop"
    Option                 "XkbLayout" "it"
    Option                 "XkbVariant" "sundeadkeys"
EndSection
Esempio: emulazione del terzo tasto (per tutti i mouse collegati)

L'emulazione del terzo pulsante consente di utilizzare i pulsanti 1 e 2 (click sinistro e destro) insieme per produrre un evento per il pulsante 3 (centrale del mouse), che è davvero utile per copiare e incollare in X.

Bisogna modificare input catchall in /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Emulate3Buttons"     "True"
        Option "Emulate3Timeout"     "25"
EndSection

Qui potete vedere le opzioni Option "Emulate3Buttons" "True" e Option "Emulate3Timeout" "25" che specificano che il pulsante 3 deve essere emulato con un ritardo di riconoscimento dei due pulsanti come tasto centrale di 25ms.

Impostazioni del monitor

Come iniziare

Note: Le nuove versioni di Xorg sono auto-configuransti, non dovrebbe essere necessario utilizzare questo passaggio.

Per prima cosa, creare un nuovo file di configurazione, /etc/X11/xorg.conf.d/10-monitor.conf.

Inserire il codice riportato in seguito nel file creato sopra:

/etc/X11/xorg.conf.d/10-monitor.conf
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

Monitor multipli

Si veda l'articolo principale Multihead per informazioni generali.

È 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

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. Ad esempio, un LCD 19" widescreen 1440x900 può avere un DPI di 89x87. 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. Xorg imposta sempre a 96 dpi . Vedi questo ,questo e infine questo.

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

$ xdpyinfo | grep -B2 resolution

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 si desidera inserire solamente le specifiche del monitor senza creare un file xorg.conf completo, in primo luogo creare un nuovo file di configurazione, per esempio, /etc/X11/xorg.conf.d/90-monitor.conf:

Section "Monitor"
    Identifier "<default monitor>"
    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
Nota: 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.
Impostazione manuale DPI

Il DPI può essere impostato manualmente solo se si prevede di utilizzare una risoluzione DPI calculator):

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

Se si utilizza una scheda Nvidia, è possibile impostare manualmente il DPI aggiungendo le seguenti opzioni su /etc/X11/xorg.conf.d/20-nvidia.conf (nella sezione Device):

Option "UseEdidDpi" "False"
Option  "DPI" "96 x 96"

Per i driver compatibili con RandR, è possibile impostare:

$ xrandr --dpi 96

Consultare Execute commands after X start per salvare le modifiche.

Nota: Mentre è possibile impostare qualsiasi dpi a piacimento le applicazioni che utilizzando Qt e GTK le scaleranno di conseguenza, si consiglia quindi di impostarlo su 96, 120 (25 % in più), 144 (il 50 % in più), 168 (il 75 % in più), 192 (100 % in più) , ecc , per ridurre gli artefatti di scaling di GUI che utilizzano immagini bitmap. Riducendola sotto 96 dpi non può ridurre la dimensione di elementi grafici di interfaccia grafica come in genere la più bassa dpi utilizzata per le icone sono fatte per 96.

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

Composite

L'estensione Composite per X provoca un intero sotto-albero della gerarchia della finestra per eseguire il rendering di un buffer fuori schermo. Le applicazioni possono poi prendere il contenuto di questo buffer e farne ciò che vogliono. Il buffer off-screen può essere fatto confluire automaticamente nella finestra padre o fusa per programmi esterni, chiamati manager compositing. Vedere le pagine seguenti per ulteriori informazioni .

Consigli utili

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 "defaultserverargs" nel file /usr/bin/startx.

  • 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 "ServerArgsLocal" o "ServerCmd" nel file /usr/share/config/kdm/kdmrc. Le opzioni di kdm predefinite sono:
ServerArgsLocal=-nolisten tcp
ServerCmd=/usr/bin/X

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.

Avvio programmi con interfaccia grafica in remoto

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Alcuni programmi (o alcuni ambienti come le regole udev) richiedono che si specifica il file dell'autorizzazione per X - si veda xauth(1). (Discuss in Talk:Xorg (Italiano)#)

Per avviare un programma che utilizza X quando si accede da remoto (ad esempio tramite ssh), è necessario digitare questo dalla shell di login remota :

 $ export DISPLAY = : 0 

Poi richiamare il programma come si farebbe a livello locale dalla shell.

Suggerimento: Aggiungere questa linea al proprio file ~/.bashrc permette di averlo automaticamente avviato ogni volta che si accedere.

Disattivazione e attivazione a richiesta delle sorgenti di ingresso

Con l'aiuto di xinput è possibile disabilitare o abilitare le sorgenti di ingresso temporaneamente. Questo potrebbe essere utile, ad esempio, su sistemi che hanno più di un mouse, come ad esempio i ThinkPad, e si preferisce utilizzarne solo uno per evitare clic indesiderati del mouse. Vediamo come eseguire questa operazione .

Installare il pacchetto xorg-xinput contenuto nei repositori ufficiali.

Trovare l'ID del dispositivo che si intende disabilitare:

$ xinput

Per esempio in un Lenovo ThinkPad T500, l'output del comando sarà simile a questo:

$ xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]

Disabilitare il dispositivo con xinput --disable device_id, dove per device_id si intende l'ID del dispistico che si vuole disabilitare. In questo esempio proverem,o a disabilitare il touchpad Synaptics, che ha come valore di ID 10:

$ xinput --disable 10

Per riabilitare il dispositivo basta dare il comando opposto:

$ xinput --enable 10

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: cat /var/log/Xorg.0.log
  • Controllare la pagina specifica in Category:Input devices, se riscontrate problemi con tastiera, mouse, touchpad, ecc.
  • Alla fine, cercare i problemi più comuni negli articoli riguardanti ATI, Intel e NVIDIA.

Ctrl-Alt-Backspace non funziona

Configurazione globale di sistema

Aggiungere in /etc/X11/xorg.conf.d/10-evdev.conf la seguente sezione:

Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard	"yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
Nota:
  • Utilizzando Gnome, un'alternativa potrebbe essere quella di installare Gnome-tweak-tool gnome da [extra]. All'interno del Gnome Tweak Tool: Typing > Terminate e selezionare l' opzione Ctrl+Alt+Backspace dal menu a discesa. Ciò riattiva la scelta rapida da tastiera per l'uccisione del server X in Gnome.
  • In KDE, questa impostazione a livello di sistema non ha effetto. Per ripristinarla, andare su Impostazioni di sistema e cliccare su 'Input Devices'. 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.
Configurazione specifica dell'utente

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

$ setxkbmap -option terminate:ctrl_alt_bksp
Nota: Questa configurazione non funziona su Gnome 3.

Il tasto CTRL di destra non funziona su tastiere oss

Editare come root il file /usr/share/X11/xkb/symbols/fr, e cambiare la linea :

include "level5(rctrl_switch)"

in

// include "level5(rctrl_switch)"

Riavviare X oppure il sistema.

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 /etc/pam.d/su. pam_xauth sarà quindi impostato per gestire le chiavi di xauth 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 (/var/log/Xorg.0.log), 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

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: systemd utilizza i target invece dei runlevel, vedere Systemd_(Italiano)#Cambiare_il_target_predefinito_all.27avvio (Discuss in Talk:Xorg (Italiano)#)

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 rc.conf è 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 rc.conf, 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 /mnt, 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 /dev/sda1. Dopodiché montate la vostra partizione in /mnt, utilizzando il comando

 # mount /dev/sda1 /mnt

In questo modo il file-system verrà visualizzato sotto /mnt. Da qui potate eliminare il modulo gdm ( o similare) per impedire l'avvio di Xorg normalmente, o apportare altre modifiche necessarie.

Errore di X all'avvio : Inizializzazione della tastiera fallito

Se il disco rigido è pieno, startx fallisce. La fine di /var/log/Xorg.0.log sarà:

 (EE) Error compiling keymap (server-0)
 (EE) XKB: Couldn't compile keymap
 (EE) XKB: Failed to load keymap. Loading default keymap instead.
 (EE) Error compiling keymap (server-0)
 (EE) XKB: Couldn't compile keymap
 XKB: Failed to compile keymap
 Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
 Fatal server error:
 Failed to activate core devices.
 Please consult the The X.Org Foundation support  at http://wiki.x.org
 for help.
 Please also check the log file at "/var/log/Xorg.0.log" for additional information.
  (II) AIGLX: Suspending AIGLX clients for VT switch

Liberare un po' di spazio sulla partizione root e X verrà eseguito.

Schermo nero, nessun protocollo specificato .., Risorsa temporaneamente non disponibile per tutti o alcuni utenti

X crea i file di configurazione e temporanei nella directory home dell'utente corrente. Assicurarsi che ci sia spazio libero su disco disponibile nella partizione dive la directory home risiede. Purtroppo, in questo caso, il server X non fornisce informazioni più evidenti per la mancanza di spazio su disco.