Xorg (Italiano)
| Sommario |
|---|
| Una panoramica sommaria sull'installazione e la gestione di Xorg |
| Panoramica |
| Il progetto Xorg fornisce un'implementazione open source dell'X Window System - la base primaria per disporre di un'interfaccia grafica. Ambienti Desktop come Enlightenment, GNOME, KDE, LXDE, e Xfce forniscono un ambiente grafico completo. Svariati window manager offrono ambienti alternativi e originali, e possono essere utilizzati standalone per risparmiare risorse di sistema. I Display manager forniscono un'interfaccia grafica per il login. |
| 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 |
- 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.
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
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-dkms | lib32-catalyst-utils | 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-173xx | lib32-nvidia-173xx-utils | |||
| nvidia-96xx | lib32-nvidia-96xx-utils | |||
| 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
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.
Per maggiori informazioni, si veda xinitrc.
Configurazione
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.
Configurazioni di esempio
xorg.conf
/etc/X11/xorg.conf.d/10-evdev.conf
/etc/X11/xorg.conf.d/10-monitor.conf
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-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.
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
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
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 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ò sostituireitcon qualsiasi altro layout. -
Option "XkbModel" "acer_laptop": imposta il modello di tastiera per una tastiera di computer portatile Acer. Si può sostituireacer_laptopcon il proprio layout. -
Option "XkbVariant" "sundeadkeys": imposta la variante layout ai Sun dead keys. Si può omettere l'opzioneXkbVariantutilizzando 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
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.
- NVIDIA (Italiano)#Monitor multipli.
- Nouveau_(Italiano)#Dual_Head
- AMD_Catalyst_(Italiano)#Double_Screen_.28Dual_Head_.2F_Dual_Screen_.2F_Xinerama.29
- ATI_(Italiano)#Configurare_la_modalit.C3.A0_Dual_Head
È 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:
- 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
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
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 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 .
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
Configurazione specifica dell'utente
Un altro modo consiste nell'aggiungere questa linea a xinitrc:
$ setxkbmap -option terminate:ctrl_alt_bksp
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
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.