Difference between revisions of "Xorg (Italiano)"
m (→Utilizzando i file .conf: corretto template) |
m (→Esempio: emulazione del terzo tasto (per tutti i mouse collegati): corretto template) |
||
Line 384: | Line 384: | ||
}} | }} | ||
− | Qui potete vedere le opzioni {ic|Option "Emulate3Buttons" "True"}} e {{ic|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. | + | Qui potete vedere le opzioni {{ic|Option "Emulate3Buttons" "True"}} e {{ic|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. |
== Schede Grafiche == | == Schede Grafiche == |
Revision as of 22:01, 20 July 2013
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary wiki Template:Article summary text Template:Article summary text Template:Article summary text Template:Article summary text Template:Article summary wiki Template:Article summary text Template:Article summary wiki Template:Article summary heading Template:Article summary text Template:Article summary text Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary text 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
- 1 Installazione
- 2 Avvio
- 3 Configurazione
- 4 Dispositivi di input
- 4.1 Touchpad Synaptics
- 4.2 Disabilitare Input Hot-plugging
- 4.3 Impostazioni della tastiera
- 4.3.1 Ritardo di ripetizione e frequenza dei tasti
- 4.3.2 Visualizzazione delle impostazioni della tastiera
- 4.3.3 Impostare la mappatura della tastiera con Hot-Plugging
- 4.3.4 Impostare la mappatura della tastiera senza Hot-Plugging (deprecato)
- 4.3.5 Cambio tra diversi layout della tastiera
- 4.3.6 Abilitare i pointerkeys
- 4.4 InputClasses
- 5 Schede Grafiche
- 6 Composite
- 7 Esempi di configurazione
- 8 Consigli utili
- 9 Risoluzione dei problemi
- 9.1 Problemi comuni
- 9.2 Ctrl-Alt-Backspace non funziona
- 9.3 Il tasto CTRL di destra non funziona su tastiere oss
- 9.4 Problemi con tastiere Apple
- 9.5 Problemi con il tap-click del Touchpad
- 9.6 Tasti extra del mouse non riconosciuti
- 9.7 Errore avviando il client X con "su"
- 9.8 Programmi che richiedono "font '(null)'"
- 9.9 Problemi con la modalità Frame-buffer
- 9.10 DRI smette di funzionare con le schede Matrox
- 9.11 Ripristino: disattivare Xorg prima della schermata di login
- 9.12 Errore di X all'avvio : Inizializzazione della tastiera fallito
- 9.13 Schermo nero, nessun protocollo specificato .., Risorsa temporaneamente non disponibile per tutti o alcuni utenti
Installazione
Per prima cosa installare il server X tramite il pacchetto xorg-server, reperobile nei Depositi ufficiali. Si consigliano inoltre i programmi di utilità contenute nel gruppo xorg-apps.
# pacman -Syu xorg-server
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
Avvio
Si veda anche: Avviare X al login
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.
/etc/X11/xinit/xserverrc
.Per maggiori informazioni, si veda xinitrc.
- 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 vostroXorg.0.log
non riscontrerete nessun errore rilevante. Semplicemente eliminandolo farà sì che X sia in grado di funzionare con un ambiente predefinito.
Configurazione
/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.
Dispositivi di input
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-driver (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
.
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
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.
Visualizzazione delle impostazioni della tastiera
$ setxkbmap -print -verbose 10
Setting verbose level to 10 locale is C Applied rules from evdev: model: evdev layout: it 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 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
/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
Impostare la mappatura della tastiera senza Hot-Plugging (deprecato)
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, la propria sezione InputDevice per la tastiera potrebbe essere simile a questa:
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, 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.
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 Template:Keypress.
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ò sostituireit
con qualsiasi altro layout. -
Option "XkbModel" "acer_laptop"
: imposta il modello di tastiera per una tastiera di computer portatile Acer. Si può sostituireacer_laptop
con il proprio layout. -
Option "XkbVariant" "sundeadkeys"
: imposta la variante layout ai Sun dead keys. Si può omettere l'opzioneXkbVariant
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.
Schede Grafiche
Installazione dei Driver
Il driver grafico predefinito è vesa (xf86-video-vesa), che gestisce un gran numero di chipset, ma non include alcuna accelerazione 2D o 3D. Per abilitare l'accelerazione grafica, è necessario installare e utilizzare il driver specifico per la scheda grafica.
Per identificare la vostra scheda:
$ lspci | grep "VGA"
Quindi, installare un driver appropriato. È possibile cercare questi pacchetti con il seguente 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 comuni proprietari:
- NVIDIA: nvidia (vedere NVIDIA)
- ATI: catalystAUR (vedere ATI Catalyst)
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.
Impostazioni del monitor
Come iniziare
- Questo passo è OPZIONALE e non dovrebbe essere fatto se non si sa cosa si sta facendo.
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:
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/Doppio schermo
Nvidia
Si veda la sezione NVIDIA (Italiano)#Monitor multipli.
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.
Script per passare dal display interno/esterno nei portatili
Eseguire il seguente script dopo la connessione a display esterni con il computer per modificare la visualizzazione usata da Xorg. Controlla se un display è collegato alla porta specificata in EXT
prima di cambiare display .
Per scoprire i nomi visualizzati da specificare in EXT
eseguire:
# xrandr -q
Il display interno deve essere collegato durante l'esecuzione dello script, che è sempre vero per un computer portatile. Per utilizzare questo script il pacchetto xorg-xrandr deve essere installato.
#!/bin/bash IN="LVDS1" EXT="VGA1" if (xrandr | grep "$EXT" | grep "+") then xrandr --output $EXT --off --output $IN --auto else if (xrandr | grep "$EXT" | grep " connected") then xrandr --output $IN --off --output $EXT --auto fi fi
Dimensione dello schermo e DPI
Il DPI dell'X server è determinato nel modo seguente:
- L'opzione riga di comando -dpi ha la massima priorità.
- 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.
- 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.
- 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
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.
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 .
- Compiz -- L'originale composite/window manager creato da Novell
- Xcompmgr -- Semplice composite manager capace di ombreggiature e primitive trasparenze
- Compton -- Un fork di xcompmgr con funzioni migliorate e bug fix
- Cairo Composite Manager -- Un versatile ed estensibile composite manager che utilizza cairo per il rendering.
- Wikipedia:it:Compositing window manager
Esempi di configurazione
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)
Esempio 1: xorg.conf
& /etc/X11/xorg.conf.d/10-evdev.conf
Questo è un esempio di file di configurazione che utilizza xorg.conf.d/10-evdev.conf
per il layout della tastiera.
/etc/X11/xorg.conf.d/10-evdev.conf
a farsi carico delle configurazioni.xorg.conf
: http://pastebin.com/raw.php?i=EuSKahkn/etc/X11/xorg.conf.d/10-evdev.conf
: http://pastebin.com/raw.php?i=4mPY35Mw>/etc/X11/xorg.conf.d/10-monitor.conf
(VMware): http://pastebin.com/raw.php?i=fJv8EXGb/etc/X11/xorg.conf.d/10-monitor.conf
(KVM): http://pastebin.com/raw.php?i=NRz7v0Kn
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
"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
Per avviare un programma che utilizza X quando si accede da remoto (ad esempio tramite ssh), è necessario digitare questo dalla shell di login Bash remota :
export DISPLAY = : 0
Poi richiamare il programma come si farebbe a livello locale dalla shell.
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 .
xinput
contenuto nel pacchetto xorg-xinput: # pacman -S xorg-xinputTrovare 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 DISPOSITIVO
, dove per DISPOSITIVO 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 DEVICE
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
- 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; con e senza input-hotplugging. Usare l'hot-plugging è la scelta consigliata.
Con input hot-plugging
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
- 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 Template:Keypress 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
Senza input hot-plugging
Il nuovo Xorg disabilita di default il metodo di venire terminato con Template:Keypress. Si può riabilitarla aggiungendo la seguente linea in /etc/X11/xorg.conf
:
Option "XkbOptions" "terminate:ctrl_alt_bksp"
alla sezione InputDevice
per la tastiera.
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.
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 /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
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 modulogdm
( 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.