Xorg (Français)

From ArchWiki

Jump to: navigation, search
Image:Tango-preferences-desktop-locale.png This page was marked to be translated.
If you understand both "original" and "target" languages of this page, please help complete the translation.
Image:Tango-preferences-desktop-locale.png

Xorg est l'implémentation publique et open source du système X en version 11. (Cf. X.org Wikipedia Article ou X.org pour les détails.) Pour résumer, si vous voulez une interface graphique, vous voulez Xorg.

Contents

Installer Xorg

Avant de commencer, assurez vous que :

- pacman est configuré et a jour.( pacman -Syy )
- Connaitre le driver utilisé par votre carte graphique. (nVidia ou ATi par exemple)

Pour commencer installez l'intégrale du groupe "xorg" :

# pacman -S xorg

Le driver 'vesa', qui est compatible avec pratiquement tout les chipsets graphiques. C'est plutôt une solution de secours (Pas d'accélération, et peu de résolutions disponibles). Ensuite nous installerons un driver plus adapté si possible. Cette commande liste l'ensemble des drivers open-source disponibles :

# pacman -Ss xf86-video

Cherchez le bon driver pour votre carte graphique et installez le avec pacman -S.

Pour savoir quelle carte est installée dans votre ordinateur:

$ lspci | grep "VGA"

Vous pouvez aussi installer hwdetect (pacman -S hwdetect) ou community/lshw (disponibles dans le Arch User Repository) :

$ hwd -s

ou :

$lshw -short

Configurer xorg

Avant de pouvoir lancer xorg, vous devez le configurer afin qu'il connaisse les caractéristiques de votre carte graphique, écran, souris et clavier. Il existe plusieurs méthodes pour automatiser le processus :

Sans xorg.conf

La dernière version de Xorg peut détecter le matériel avec l'aide de HAL. Ainsi, l'utilisation d'un fichier xorg.conf devient optionnelle. Il peut être intéressant de commencer sans le fichier xorg.conf, et d'ajouter uniquement les sections nécessaires.

Comme xorg a besoin de hal, installez le, si ce n'est pas déjà fait :

# pacman -S hal

Ajoutez dans la liste des DAEMONS= du fichier {Filename|/etc/rc.conf}} :

Démarrez hal :

# /etc/rc.d/hal start

Démarrez X :

$ startx

ou

$ xinit

Si X démarre et que vous voulez un fichier xorg.conf de base, il est possible de le créer à partir du fichier Xorg.0.log

Si il n'a pas détecté de driver propriétaire, ajoutez un fichier xorg.conf minimaliste similaire a :

Section "ServerLayout"
   Identifier     "Layout0"
   Screen      0  "Screen0" 0 0
EndSection

Section "Files"
   FontPath "/usr/share/fonts/local/"
EndSection

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
   BoardName      "GeForce Go 7300"
EndSection

Section "Screen"
   Identifier     "Screen0"
   Device         "Device0"
EndSection

Définir un clavier autre qu'américain dans xorg.conf

# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/

Puis ouvrez /etc/hal/fdi/policy/10-keymap.fdi et modifiez "us" dans input.xkb.layout selon vos besoins (fr pour un clavier français) et, si nécessaire, éditez aussi input.xkb.variant (avec par exemple 'oss').

La commande

# setxkbmap fr 

(avec le layout de votre clavier à la place de fr) exécuté dans X permet de changer la disposition de votre clavier. Pour faire en sorte que ce soit permanent vous pouvez ajouter cette commande dans le fichier ~/.xinitrc (avant de lancer le gestionnaire de fenêtre)

Xorg -configure

Vous pouvez aussi utiliser :

# Xorg -configure

Ou

# X -configure

la commande crée un fichier xorg.conf.new dans le répertoire courant. Vous pouvez le tester en faisant :

# X -config ./xorg.conf.new

Puis copier le en tant que /etc/X11/xorg.conf.

hwd

Note: hwd a été mis a jour (ver. 5.5) pour fonctionner avec xorg-server-1.5.x et 1.6.x. Actuellement, il désactive les périphériques détectés par hal et génère, a la place, un fichier xorg.conf traditionnel avec la définition des périphérique d'entrée.
Note: hwd a été déplacé du dépôt [community] vers AUR.

A priori la façon la plus simple de faire fonctionner rapidement Xorg est d'utiliser hwd, un outils écrit par les utilisateur de la communauté Arch Linux. Pour résumer c'est un outil qui permet de détecter le matériel qui a plusieurs utilisations dont l'une d'elle est de configurer le serveur X. Heureusement, hwd est beaucoup plus simple que xorgconf et ne requiert aucun paramètre.

Pour commencer installer le paquet hwd a partir de AUR.

Puis, en tant que root, lancez simplement la commande suivante pour générer un fichier xorg.conf :

# hwd -xa

Ceci va écraser tout fichier /etc/X11/xorg.conf existant avec un ensemble de paramètres basés sur le materiel que hwd a détecté.

Sinon, vous pouvez générer un fichier d'exemple (/etc/X11/xorg.conf.hwd) sans écraser vos paramètres. Pour cela, lancez hwd avec le paramètre -x :

# hwd -x

Exemple :

/etc/X11/xorg.conf.ati
/etc/X11/xorg.conf.vesa

Une fois votre fichier prêt, renommez le en 'xorg.conf'.
Si vous n'êtes pas sure de vous essayer d'abord la version 'vesa'.

Par exemple :

# mv /etc/X11/xorg.conf.vesa /etc/X11/xorg.conf

AD: Selon mon expérience hwd crée un fichier XF86Config-4 et si il n'a pas de fichier xorg.conf présent, Xorg l'utilise automatiquement.


nvidia-xconfig

Les possesseurs de cartes nvidia peuvent aussi utiliser :

# nvidia-xconfig

quand les drivers nvidia officiels sont installé.

Commentez la ligne :

 Load           "type1"

dans la section Module car les dernière versions de xorg-server n'incluent plus les polices type1 (Complètement remplacés par freetype).

A partir du fichier Xorg.0.log

Si vous démarrez X sans aucun fichier xorg.conf, vous pourrez trouver la configuration par défaut dans le fichier /var/log/Xorg.0.log. Copiez le texte entre les lignes :

(==) --- Start of built-in configuration ---

et

(==) --- End of built-in configuration ---

dans votre nouveau fichier xorg.conf.

Éditer xorg.conf

Vous souhaiterez peut-être modifier la configuration générée. Pour cela ouvrez le fichier xorg avec votre éditeur de texte favori (Nécessite d'être root) :

# vim /etc/X11/xorg.conf

ou utiliser le "Configuration toolkit" d'Xorg (xorg-server version < 1.6) :

# xorgcfg -textmode

Paramètres de l'écran

Peut-être souhaiterez vous utiliser d'autre paramètres que ceux proposé par défaut (une résolution plus basse, par exemple ?) a moins que Xorg n'ai pas réussi a définir les capacités de votre écran. Dans tous les cas vous devriez consulter le manuel de votre écran afin de connaitre les valeurs nécessaires.

Les paramètres suivant sont a définir dans la section "monitor" :

Horizontal Sync
HorizSync 28-64
Refresh Rate
VertRefresh 60

Ceux-ci dans la section "Screen" :

Color Depth
Depth 24
Resolution
Modes "1280x1024" "1024x768" "800x600"
Configuration de plusieurs écrans

La façon la plus simple de mettre en place d'autres écrans est d'utiliser xrandr après le démarrage de X. Commencez par exécuter (à partir de n'importe quel compte) :

xrandr -q

Cette commande va lister les sortie vidéos ainsi que quelques informations les concernant. Imaginons que vos sorties soient VGA-0, DVI-0 et S-Video. Pour fusionner les écrans utilisant DVI-0 et VGA-0, lancez :

xrandr --output DVI-0 --right-of VGA-0

Si cette commande fonctionne, ajoutez la dans votre fichier xinitrc.

Configuration du clavier

Xorg peut ne pas détecter votre clavier correctement. La disposition, ou le modèle du clavier peuvent ne pas être définis correctement.

Pour avoir la liste complète des modèles, dispositions, variantes et options, ouvrez :

/usr/share/X11/xkb/rules/xorg.lst
Hotplug avec xorg-server 1.5

Normalement xorg-serveur 1.5 tente de configurer votre clavier en utilisant le driver xf86-input-evdev (Qui lui utilise dbus et hal) au lieu d'utiliser votre configuration dans xorg.conf. Ceci peut entrainer une mauvaise disposition du clavier. La façon la plus simple de contourner le problème et de désactiver le système de hotplug en ajoutant le section suivante à votre fichier xorg.conf :

Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection
Note: Ceci désactivera le branchement a chaud pour tous les périphériques d'entrée, ce qui reviens a revenir a l'époque de xorg-server 1.4.

Pour plus d'informations : Xorg input hotplugging.

Disposition du clavier
Note: Si vous utiliser xorg-server version 1.5, regardez la disposition du clavier If you are using the xorg-server 1.5 series, please see the keyboard layout section in Xorg input hotplugging.

Pour changer la disposition du clavier, utilisez l'option XkbLayout dans la section InputDevice. Par exemple, si vous avez un clavier avec un disposition Anglaise:

Option "XkbLayout" "gb"

Pour etre capable de facilement changer de disposition de clavier, par example entre une disposition "US" et une disposition "Swedish" , utilisez ceci plutot:

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

Ceci fait que la disposition du clavier changera quand vous appuyez sur la touche Caps Lock. Ceci est principalement utile quand vous n'avez pas un Environnement de Bureau qui s'occupe de la disposition du clavier a votre place.

Modèle de clavier

Pour changer le modèle de clavier, utilisez l'option dans la section clavier InputDevice. Par exemple, si vous avez un "Clavier Multimedia Sans-Fil Microsoft" :

Option "XkbModel" "microsoftmult"

Des Soucis avec votre clavier Apple ?

Plus d'information peut etre trouve ici.

Taille de l'ecran/Points Par Pouce

Afin d'obtenir le dimensionnement correct des polices, la taille de l'ecran doit être réglé pour votre Points Par Pouce desire.

La premiere chose que vous devriez essayer serait l'autodetection de la Taille de l'ecran et du reglage du Points par Pouce avec DDC.

Dans /etc/X11/xorg.conf:

...
Section "Module"
# support for Data Display Channel. Allows to query the monitor capabilities via the video card
Load  "ddc"
# serial bus over which you speak the ddc protocol to get info from the monitor
Load "i2c"
...
Section Screen
...
DefaultColorDepth 24
SubSection "Display"
 Depth     24
 Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
...

Et veuillez ne pas ecrire le reglage Modeline ou DisplaySize. Parfois cela marche bien, sinon vous aurez besoin de le regler manuellement.

Une facon de le regler est de directement passer un argument au binaire de X(Xorg) a son demarrage. Dans /etc/X11/xinit/xserverrc, ajoutez la partie "-dpi 96" comme ci-dessous:

exec /usr/bin/X -nolisten tcp -dpi 96

Alternativement, allez dans le fichier /etc/X11/xorg.conf, dans la section Monitor et ajoutez votre taille de l'ecran en mm:

Section "Monitor"
   ...
 DisplaySize 336 252 # 96 DPI @ 1280x960
   ...
EndSection


La formule pour calculer les valeurs de DisplaySize est la largeur (en pouces)is Width x 25.4 / Points Par Pouce et la hauteur (en pouces) x 25.4 / Points Par Pouce. Si vous utilisez Xorg avec une resolution de 1024x768 et voulez un Points Par Pouce de 96, utilisez 1024 x 25.4 / 96 et 768 x 25.4 / 96. Enlevez les chiffre apres la virgule. (Xorg attend d'avoir une specification de la hauteur de la largeur en millimetres. Il y a 25,4 millimetres par pouce, ainsi la nessecite de multiplier par 25,4)

# calc: (x|y)pixels * 25.4 / dpi
# DisplaySize 168 126 # 96 DPI @ 640x480
# DisplaySize 210 157 # 96 DPI @ 800x600
# DisplaySize 269 201 # 96 DPI @ 1024x768
# DisplaySize 302 227 # 96 DPI @ 1152x864
# DisplaySize 336 252 # 96 DPI @ 1280x960
# DisplaySize 336 210 # 96 DPI @ 1280x800 (non 4:3 aspect)
# DisplaySize 339 271 # 96 DPI @ 1280x1024 (non 4:3 aspect)
# DisplaySize 370 277 # 96 DPI @ 1400x1050
# DisplaySize 380 238 # 96 DPI @ 1440x900 (non 4:3 aspect)
# DisplaySize 420 315 # 96 DPI @ 1600x1200
# DisplaySize 444 277 # 96 DPI @ 1680x1050 (non 4:3 aspect)
# DisplaySize 506 315 # 96 DPI @ 1920x1200 (non 4:3 aspect)


Dans le cas ou X ignore votre reglage DisplaySize (bug connu) ajoutez la ligne suivante dans la section Device.

  Option   "NoDDC" "true"

Pour les drivers nVidia, vous aurez peut-etre besoin de desactiver la detection automatique du DPI pour le regler manuellement. Il y a aussi une facon plus facile de regler le DPI sur ces cartes.L'une ou l'autre de ces lignes peuvent etre mises dans la section de votre carte nVidia.

  Option   "UseEdidDpi" "false"
  Option   "DPI" "96 x 96"

Si X ignore toujour votre reglage DPI, et que vous avez un pilote video compatible RandR, vous pouvez utiliser

xrandr --dpi 96

pour regler manuellement le DPI. Vous pouvez ajouter cette commande a votre fichier .xinitrc pour avoir le reglage DPI desire au demarrage de X manuellement, et si vous utiliser un Gestionnaire d'Affichage, comme par exemple KDM, vous pouvez l'ajouter au fichier de demarrage de votre Gestionnaire d'Affichage X. Pour KDM, cela serait /usr/share/config/kdm/Xstartup.

Les resultats peuvent etre verifies en utilisant la commande suivante, qui devrait retourner 96x96 Points Par Pixels si vous avez regle le DPI @96:

$ xdpyinfo | grep -B1 dot

Drivers propriétaires

Si vous souhaitez utiliser des drivers propriétaires, assurez-vous d'abord que le serveur X tourne correctement. Xorg devrait tourner de manière fluide sans les drivers officiels, qui sont utilisés pour des jeux avec accélération 3D, des configuration de dual-screen, ou encore des sorties TV. Référez-vous aux articles NVIDIA ou ATI suivent votre carte graphique pour l'installation de ces drivers.

Polices

Il y a des trucs pour regler les police dans Xorg Font Configuration.

Exemples de fichiers Xorg.conf

Si vous utilisez un fichier xorg.conf fonctionnel alors vous pouvez le poster ici (liens uniquement!). Merci!

En voici quelques-uns :

Lancer Xorg

Warning: Sauf si vous avez désactivé la détection de « connexion à chaud » de périphérique (non recommandé), vous devez démarrer HAL avant de lancer le serveur X.

Ajoutez hal à la liste des DAEMONS de votre /etc/rc.conf:

DAEMONS=(syslogng hal network netfs crond)

Démarez hal :

# /etc/rc.d/hal start

Enfin, démarrez le serveur X :

$ startx

ou

$ xinit

L'environnement par défaut est assez simple et vous aurez probablement envie d'installer un gestionnaire de fenêtres ou un environnement de bureau en plus. Vous en trouverez une liste à cette adresse : Common Applications#Window Managers (WM).

Si vous rencontrez des problèmes vous devez commencer par regarder le journal /var/log/Xorg.0.log. Repérez-y les lignes commençant par (EE) qui sont les erreurs. Vous devriez également jeter un coup d'œil au lignes commençant par (WW) qui représentent des « Attention! » et qui peuvent engendrer des erreurs.

Tips and tricks

X startup (/usr/bin/startx) tweaking

For X's option reference see:

$ man Xserver

The following options have to be appended to the variable "defaultserverargs" in the /usr/bin/startx file:

  • Prevent X from listening on tcp:
-nolisten tcp
Note: This seems to be the default option now in /etc/X11/xinit/xserverrc.
  • Getting rid of the gray weave pattern while X is starting and let X set a black root window:
-br
Note: There seems to be no need for that in recent releases of Xorg.
  • Enable deferred glyph loading for 16 bit fonts:
-deferglyphs 16

Note: If you start X with kdm, the startx script does not seem to be executed. X options must be appended to the variable "ServerArgsLocal" or "ServerCmd" in the /usr/share/config/kdm/kdmrc file. By default kdm options are:

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

Virtual X session

To start another X session in for example CTRL + ALT + F8 you need to type this on a console:

xinit /path/to/wm -- :1

Change "/path/to/wm" to your window manager start file or to your login manager like gdm, kdm and slim.

Troubleshooting

This section contains mostly outdated directions involving /etc/xorg.conf and updates from ancient Xorg versions. Modifications to xorg.conf for the purpose of input device settings have been deprecated in favor of using HAL rules. Consult HAL, Xorg Input Hotplugging and Synaptics for more information, and read #Common problems before pursuing more exotic solutions.

Translating xorg.conf rules to HAL format

The syntax for HAL .fdi files is similar to xorg.conf. For instance:

Option "RightEdge" "5300"

becomes:

<merge key="input.x11_options.RightEdge" type="string">5300</merge>

Common problems

If Xorg will not start, or the screen is completely black, the keyboard and mouse is not working, etc., first take these simple steps:

  • Run Xorg configure scripts:
# X -Configure
  • Check the log file: cat /var/log/Xorg.0.log, and use wgetpaste to supply it to a pastebin service for others to inspect:
 # pacman -S wgetpaste && wgetpaste /var/log/Xorg.0.log
  • Make sure that HAL has been started prior to running Xorg:
 # /etc/rc.d/hal start
  • Install keyboard and mouse drivers:
 # pacman -S xf86-input-evdev xf86-input-{mouse,keyboard}
  • Finally, search for common problems in ATI, Intel and NVIDIA articles.

Blank screen after starting

Warning: adding users to hal and dbus isn't needed, nor recommended because of possible security breaches resulting from doing so.

Check if the user is in hal and dbus groups:

$ groups username

If not,

# gpasswd -a user hal
# gpasswd -a user dbus

and restart Xorg.

Unrecognized supported resolutions

When restricted to low resolutions, such as 640x480 and 320x480, use read-edid in the AUR to find the horizontal sync value; HorizSync, and add it to the Monitor section in xorg.conf. Other values, VertSync being a likely culprit, might be required for proper functioning.

The following:

Option "ModeValidation" "NoEdidModes"
Option "UseEdid"        "false"

might also be needed (untested).

To switch between layouts with Alt+Shift:

Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"

Apple keyboard issues

See: Apple Keyboard

Bitstream-Vera conflict

If you see a message that ttf-bitstream-vera conflicts with Xorg:

  1. Exit the pacman session by answering no.
  2. Remove Xorg, sync pacman and reinstall Xorg:
pacman -Rd xorg && pacman -Syu && pacman -S xorg
3. Update paths in xorg.conf

/usr/include conflict

The symlinked directories removed by this operation are replaced by real directories in the new Xorg package, causing these file conflicts to appear.

If you see messages about file conflicts in /usr/include/X11 and /usr/include/GL:

# rm /usr/include/{GL,X11} && pacman -Su

libgl-dri conflict

Note: nvidia-legacy has been replaced by nvidia-71xx and nvidia-96xx. See NVIDIA for further details on which driver to use.

Getting a message similar to:

:: libgl-dri conflicts with nvidia-legacy. Remove nvidia-legacy? [Y/n]

is due to multiple OpenGL implementations conflicting with one another; pacman is attempting to install libgl-dri to satisfy this dependency, in parallel to attempting an upgrade for your existing video drivers, causing a conflict. To solve, try:

  • updating your video driver before a full system update:
# pacman -S nvidia-legacy
# pacman -Syu
  • If that does not work, remove your existing video driver, do the update, then reinstall your driver:
# pacman -Rd nvidia-legacy
# pacman -Syu
# pacman -S nvidia-legacy
:: nvidia-legacy conflicts with libgl-dri. Remove libgl-dri? [Y/n] Y

Mouse wheel not working

The Auto protocol does not seem to work properly with newer versions of Xorg any more. In the InputDevice section for mice, change:

Option         "Protocol" "auto"

to

Option         "Protocol" "IMPS/2"

or

Option         "Protocol" "ExplorerPS/2"

If you were using Auto to configure your touchpad mouse and its mouse wheel, you will have to start using the synaptics driver instead. The mouse wheel will then be included on the right-hand area of the touchpad.

In Section "Module", add:

Load "synaptics"

In Section "InputDevice", add:

Driver "synaptics"
Protocol "auto-dev"

Touchpad tap-click issues

Previous versions of Xorg allowed to use the Auto protocol to configure your mouse, and tapping was enabled, too. Now you have to specify the driver and explicitly enable tapping.

In Section "Module", add:

Load "synaptics"

In Section "InputDevice", add:

Driver "synaptics"
Protocol "auto-dev"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"

Extra mouse buttons not recognized

See also: Get All Mouse Buttons Working

Intellimouse (ExplorerPS/2) users might find their scroll and side buttons are not behaving as they used to. Previously, xorg.conf needed:

Option      "Buttons" "7"
Option      "ZAxisMapping" "6 7"

and users also had to run xmodmap to get the side buttons working:

xmodmap -e "pointer=1 2 3 6 7 4 5"

Now, xmodmap is no longer required. Instead, amend xorg.conf:

Option      "Buttons" "5"
Option      "ZAxisMapping" "4 5"
Option      "ButtonMapping" "1 2 3 6 7"

and the side buttons on a 7-button Intellimouse will work like they used to, in addition to not needing to run xmodmap.

Keyboard

Switching to tty1 doesn't work

This problem could be caused by an incorrect auto-generated xorg.conf, wrong layout names in said files, or old xfree86 references.

Auto-generated xorg.conf

Auto-generated xorg.conf files may cause you problems. If you cannot get to tty1 by holding Ctrl+Alt and pressing F1, or cannot get the £ sign, check to see if the following entries are in xorg.conf:

Option "XkbLayout"  "uk"         #"uk" is not a real layout, look in /usr/share/X11/xkb/symbols/ for a list of real ones.
                                 #Try "gb" if you want a UK keyboard layout
Option "XkbRules"   "xfree86"    #this should be "xorg"
Option "XkbVariant" "nodeadkeys" #This line is also known to cause the problems described, try commenting it out.
Layout names

If you're not able to:

  • press Ctrl+Alt+F# to switch to console
  • use layouts

the problem is that the keyboard layout names have changed and xorg.conf is referring to unexisting files. In this example, sk_qwerty layout does not exist anymore. So replacing:

Option         "XkbLayout" "us,sk_qwerty"

with

Option         "XkbLayout" "us,sk"
Option         "XkbVariant" ",qwerty"

corrected the issues.

Transition from xfree86

You will need to change:

Option         "XkbRules" "xfree86"

to

Option         "XkbRules" "xorg"

AltGr (compose key) stopped functioning

If after an update you cannot use AltGr as expected, try adding this to your keyboard section:

Option      "XkbOptions" "compose:ralt"

This is not the correct way to activate AltGr on a German keyboard (for example, to use the '|' and '@' keys on German keyboards). Just choose a valid keyboard variant for it to work again, for a German keyboard it would be:

Option      "XkbLayout" "de"
Option      "XkbVariant" "nodeadkeys"

The solutions above do not work on an Italian keyboard. To activate AltGr on an Italian keyboard, make sure you have the following lines set up properly:

Driver          "kbd"
Option          "XkbRules"      "xorg"
Option          "XkbVariant"    ""

This might still not be enough for a Swedish keyboard. Try the above, but with lv3 instead of compose;

Option "XkbLayout" "se"
Option "XkbVariant" "nodeadkeys"
Option "XkbOptions" "lv3:ralt_switch"

qwerty layouts with setxkbmap ceased working

If after an update, there are no qwerty layouts (sk_qwerty is missing, for example).

The syntax has changed. If you want to switch your present keyboard layout to any qwerty keyboard layout, use this command:

$ setxkbmap NAME_OF_THE_LAYOUT qwerty

for sk_qwerty, use:

$ setxkbmap sk qwerty

After an update, trying the above command might result in "Error loading new keyboard description". This is because the xserver does not have the rights to write, execute and read in the /var/tmp directory.

Give appropiate permissions to that directory:

# chmod u+rwx /var/tmp

Restart the xserver and you will have deadkeys back. Afterwards, set a layout (e.g., it layout):

$ setxkbmap -layout it

French canadian (old ca_enhanced) layout can't be used

Enabling this layout can be done with hot-plugging or without. The former is recommended.

Enabled hot-plugging

To set the layout without manually changing the HAL FDI policies, use setxkbmap. Change the X keyboard layout to french canadian with this command:

#setxkbmap ca -variant fr

To make it change automatically, add the following to ~.config/autostart/keymap.desktop:

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Keymap French Canadian
Comment=
Exec=setxkbmap ca -variant fr
StartupNotify=false
Terminal=false
Hidden=false

This is confirmed to work with for Xfce4 and LXDE.

Disabled hot-plugging

With newer versions of Xorg, "ca_enhanced" does not exist. Modify xorg.conf by changing:

       Option          "XkbLayout"     "ca_enhanced"

to:

       Option          "XkbLayout"     "ca"
       Option          "XkbVariant"    "fr"

This is presumably similar to the older layout. See also: Gentoo HowTo

Missing libraries

  • Error message: "libX... does not exist"

In most cases, all you need to do is take the name of the library (e.g., libXau.so.1), convert it all to lowercase, remove the extension, and install it:

# pacman -S libxau

Packages fail to build; missing X11 includes

Reinstall the packages xproto and libx11:

# pacman -S xproto libx11

Program requests "font '(null)'"

  • Error message: "unable to load font `(null)'."

Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, xorg-fonts-75dpi and xorg-fonts-100dpi. You do not need both; one should be enough. To find out which one would be better in your case, try this:

$ xdpyinfo | grep resolution

and use what is closer to you (75 or 100 instead of XX)

# pacman -S xorg-fonts-XXdpi

xorg-server 1.5 update: KDE4 Konsole crashes and/or systray icons disappear on right-click

Replace:

Option "BackingStore" "True"

with;

Option "BackingStore" "False"

in xorg.conf.

Updating from "testing" to "extra": missing files

If you have updated from Xorg in testing to Xorg in extra and are finding that many files seem to be missing (including startx, /usr/share/X11/rgb.txt, and others), you may have lost many files due to the xorg-clients package splitting from a single package into many smaller sub packages.

You need to reinstall all the packages that are dependencies of xorg-clients:

# pacman -S xorg-apps xorg-font-utils xorg-res-utils xorg-server-utils \
            xorg-twm xorg-utils xorg-xauth xorg-xdm xorg-xfs xorg-xfwp \
            xorg-xinit xorg-xkb-utils xorg-xsm

Missing MIME types in desktop environment

If you noticed icons missing and cannot click-open files in desktop environments, add the following lines to /etc/profile or your preferred init-script and reboot:

XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share
export XDG_DATA_DIRS

DRI with Matrox cards stops working

If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:

Option "OldDmaInit" "On"

to the Device section that references the video card in xorg.conf.

Clients under Xephyr stop functioning

If the client cannot start, a possibility is that connections are being rejected by the X server's security mechanism. You can find a complete explanation and solution in the Debian wiki.

X clients started with "su" fail

If you are getting "Client is not authorized to connect to server", try adding the line:

session        optional        pam_xauth.so

to /etc/pam.d/su. pam_xauth will then properly set environment variables and handle xauth keys.

Frame-buffer mode problems

If X fails to start with the following log messages,

(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

uninstall fbdev:

# pacman -R xf86-video-fbdev

Ctrl-Alt-Backspace doesn't work

There are two ways of restoring Ctrl+Alt+Backspace; with and without input-hotplugging. Using hot-plugging is recommended.

With input hot-plugging

In most situations, using user-specific configuration might be preferred over system-wide.

System-wide

If you are using HAL to manage your keyboard, you must add the following to /etc/hal/fdi/policy/10-keymap.fdi to enable this behavior. If that file does not exist, copy it from the template at /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi:

# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/10-keymap.fdi

Check for a line resembling this:

<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>

If the input.xkb.options line already exists, add terminate:ctrl_alt_bksp to the existing line:

<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,terminate:ctrl_alt_bksp</merge>

Afterwards, Restart HAL and Xorg.

User-specific

Another way is to add the following line to ~/.xinitrc

setxkbmap -option terminate:ctrl_alt_bksp
Note: If you use a login/display manager like (K/G/X)DM or Slim, you will need to run the above setxkbmap command around your WM/DE's login time. ~/.config/autostart is usually respected for such (using .desktop files). It may also work in ~/.bashrc.

Without input hot-plugging

New Xorg disables zapping with Ctrl+Alt+Backspace by default. You can enable it by adding the following line to /etc/X11/xorg.conf,

Option  "XkbOptions" "terminate:ctrl_alt_bksp" 

to InputDevice section for keyboard.

Shift-Backspace exits X

In order to disable this feature, add the following to the ServerFlags section in xorg.conf:

Option    "DontZap"    "off"

To swap from Shift+Backspace to Ctrl+Alt+Backspace, set the DontZap option to False and use one of the above ways to set the key combination.

Recovery: disabling Xorg before GUI login

If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if rc.conf is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.

  • From the grub menu, you can specify the runlevel in the kernel line by adding a number to the end of the kernel line specifying the run level you want. The following example sets the run level to 3:
 kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/..ro 3
  • If you have not only a faulty rc.conf to make Xorg unusable, but you have also set the grub menu wait time to zero, or cannot otherwise use grub to prevent Xorg from booting, you can use the Arch live CD. Boot up the live CD and login as root. You need a mount point, such as /mnt, and you need to know the name of the partition you want to mount.
You can use the command,
 # fdisk -l
to see your partitions. Usually, the one you want will be resembling /dev/sda1. Then, to mount this to /mnt, use
 # mount /dev/sda1 /mnt
Then your file-system will show up under /mnt. So your rc.conf file, for example, would be in /mnt/etc/rc.conf. From here you can delete the gdm module to prevent Xorg from booting up normally, or make any other necessary changes.

See also

Personal tools