Guide de configuration de X

Sven Vermeulen  Auteur
Joshua Saddler  Auteur
Xavier Neys  Traducteur
Camille Huot  Traducteur
Marion Agé  Traducteur

Dernière mise à jour le 2 octobre 2009

1.  Qu'est-ce que le serveur X-Window ?

Environnement graphique ou ligne de commande

Certains utilisateurs sont mal à l'aise à l'idée de devoir entrer des commandes. Pourquoi ne pourraient-ils pas tout faire à la souris dans un environnement graphique ? C'est possible ! Linux offre une panoplie d'interfaces graphiques qui peuvent être installées sur votre distribution.

Ce qui surprend le plus les nouveaux utilisateurs est que l'interface graphique n'est rien d'autre qu'un programme qui tourne sur leur système. Elle ne fait pas partie du noyau Linux ni du système de base. Elle est simplement un outil puissant qui permet d'utiliser les capacités graphiques de votre machine.

Dans le souci du respect des standards, un nouveau standard a été créé pour définir comment dessiner et déplacer des fenêtres sur l'écran, comment permettre à l'utilisateur d'agir avec le clavier et la souris ainsi que d'autres aspects importants d'un système graphique. Ce standard a été nommé X Window System, souvent abrégé en X11 ou simplement X. Il est utilisé sur la plupart des systèmes Unix, Linux et apparentés.

L'application qui implémente le standard X11 sur un système Linux s'appelle Xorg-X11. Elle est un dérivé du projet XFree86. Ce dernier ayant opté pour une licence incompatible avec la GPL, l'utilisation de Xorg est désormais recommandée. L'arbre Portage officiel ne contient plus d'ebuild pour XFree86.

Le projet X.org

Le projet X.org offre une implémentation libre et ouverte du standard X11.

Xorg fournit une interface entre votre matériel et les logiciels graphiques que vous voulez utiliser. De plus, Xorg est prévu pour fonctionner en réseau et permet de faire tourner une application sur un système et d'afficher sur l'écran d'un autre.

2.  Installer Xorg

Avant d'installer Xorg, vous devez configurer deux variables importantes dans le fichier /etc/make.conf.

La première est VIDEO_CARDS. Elle est utilisée pour définir les pilotes graphiques que vous comptez utiliser et se base en principe sur la marque ou le modèle de votre carte. Les valeurs les plus courantes sont nvidia pour les cartes nVidia ou fglrx pour les cartes ATI Radeon. Ces valeurs correspondent aux pilotes propriétaires de ces marques. Si vous voulez utiliser leur pendant libre, mettez nv plutôt que nvidia, mais sachez que vous n'aurez alors aucune accélération 3D. Les pilotes libres radeon et radeon-hd pour les cartes ATI supportent totalement l'accélération 3D sur les vieilles cartes Radeon, mais n'implémentent pas encore toutes les fonctionnalités pour les nouvelles. VIDEO_CARDS peut contenir plusieurs noms de pilotes, séparés par des espaces.

La seconde variable à configurer est INPUT_DEVICES et est utilisée pour déterminer quels pilotes doivent être installés pour faire fonctionner vos périphériques d'entrée. Dans la plupart des cas, vous devrez choisir keyboard mouse. Si vous utiliser d'autres périphériques d'entrée comme un pavé tactil Synaptics sur un ordinateur portable, ajoutez-les à INPUT_DEVICES.

Maintenant que vous avez choisi quels pilotes vous allez utiliser, remplissez le fichier /etc/make.conf.

Exemple de code 2.1 : Exemple de make.conf

(Pour avoir le clavier et la souris.)
INPUT_DEVICES="keyboard mouse"
(Pour les cartes nVidia...)
VIDEO_CARDS="nvidia"
(... OU ALORS pour les cartes ATI.)
VIDEO_CARDS="fglrx"

Vous trouverez de plus amples informations sur la façon de configurer les cartes graphiques ATI ou nVidia dans le Guide Gentoo Linux nVidia et dans la FAQ Gentoo Linux ATI.

Note : Si les valeurs suggérées ne fonctionnent pas chez vous, lancez emerge -pv xorg-server, vérifiez toutes les options disponibles et choisissez celles qui s'appliquent à votre système. L'exemple concerne xorg-server-1.2 sur architecture amd64.

Exemple de code 2.2 : Obtenir la liste des pilotes et des options disponibles

# emerge xorg-server

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-base/xorg-server-1.2.0-r3  USE="dri nptl xorg (-3dfx) -debug
 -dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse -acecad
 -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev
 -fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax
 -penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom"
 VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx
 -glint -i128 (-i740) -i810 (-impact) (-imstt) -mach64 -mga -neomagic (-newport)
 (-nsc) -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis
 -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
 -tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB

Note : Vous pouvez installer le méta-paquet xorg-x11 à la place du paquet plus léger xorg-server. Les deux sont équivalents au niveau fonctionnel. Toutefois, xorg-x11 fournit beaucoup plus de paquets dont vous n'avez certainement pas besoin, telles que des collections de polices de caractères dans divers langages. Ceci n'est pas essentiel pour un environnement de bureau habituel.

Après avoir activé toutes les variables nécessaires, vous pouvez installer le paquet Xorg.

Exemple de code 2.3 : Installer Xorg

# emerge xorg-x11

Après l'installation, vous devez réinitialiser votre environnement avant de poursuivre. Lancez les commandes env-update et source /etc/profile.

Exemple de code 2.4 : Réinitialiser les variables d'environnement

# env-update
# source /etc/profile

3.  Configurer Xorg

Le fichier xorg.conf

Le fichier de configuration de Xorg est xorg.conf. Il se trouve dans le répertoire /etc/X11. Un exemple fourni à l'installation est /etc/X11/xorg.conf.example. Vous pouvez utiliser celui-ci pour créer votre propre fichier de configuration. Il contient de nombreux commentaires, mais la page man est encore plus complète :

Exemple de code 3.1 : Lire la page man de xorg.conf

# man 5 xorg.conf

Bonne lecture aux plus courageux ! Poursuivons et créons ce fichier automatiquement.

Par défaut : génération automatique de xorg.conf

Xorg est capable de définir la plupart des paramètres automatiquement. Vous ne devriez modifier que quelques lignes, notamment pour définir la résolution que vous voulez utiliser. Vous trouverez plus d'informations sur les paramètres que vous pouvez ajuster dans les ressources mentionnées à la fin de ce document. Commençons par générer un fichier de configuration utilisable.

Exemple de code 3.2 : Générer un fichier xorg.conf

# Xorg -configure

Veuillez vérifier les dernières lignes affichées par Xorg. Si Xorg n'a pas pu créer le fichier xorg.conf, vous devrez le créer manuellement. En supposant que le fichier a bien été créé, Xorg devrait vous afficher qu'il a créé un fichier de configuration /root/xorg.conf.new. Essayons-le :

Exemple de code 3.3 : Tester le fichier xorg.conf.new

# X -config /root/xorg.conf.new

Si tout se passe bien, vous devriez voir un motif noir et blanc. Déplacez votre souris et voyez si la résolution vous semble correcte. Si vous avez des erreurs au sujet de « /dev/mouse », essayez de modifier votre périphérique de souris en mettant /dev/input/mice dans la section "InputDevice" du fichier xorg.conf. Il vous sera peut-être difficile d'en être sûr, mais vous devriez au moins pouvoir détecter une résolution trop faible. Utilisez la combinaison de touches Ctrl-Alt-Backspace pour stopper le serveur X.

Alternative : génération semi-automatique de xorg.conf

Xorg contient un outil de configuration appelé xorgconfig. Celui-ci vous pose une série de questions (carte graphique, type de clavier, etc.) et construit un fichier de configuration xorg.conf en fonction de vos réponses.

Exemple de code 3.4 : Génération semi-automatique de xorg.conf

# xorgconfig

xorg fournit un autre outil de configuration appelé xorgcfg qui essaie de lancer Xorg -configure et lance ensuite le serveur X pour permettre des ajustements supplémentaires.

Exemple de code 3.5 : Utiliser xorgcfg

# xorgcfg
(Si X plante ou si la configuration échoue, essayez plutôt)
# xorgcfg -textmode

Copier xorg.conf

Recopions le fichier xorg.conf.new vers /etc/X11/xorg.conf pour éviter de devoir lancer Xorg -config ; taper X ou startx est bien plus facile.

Exemple de code 3.6 : Copier xorg.conf

# cp /root/xorg.conf.new /etc/X11/xorg.conf

Utiliser startx

Ensuite, essayez de démarrer le serveur X avec la commande startx. Celle-ci exécute un script qui lance une session X, c'est-à-dire qu'elle démarre le serveur X et des applications graphiques. Les applications sont démarrées selon la logique suivante :

Exemple de code 3.7 : Démarrer X

# startx

Si un affreux gestionnaire de fenêtres s'affiche, c'est twm. Pour quitter, tapez exit ou Ctrl-D dans chaque terminal X. Vous pouvez aussi tuer la session avec la combinaison de touches Ctrl-Alt-Backpace. Cette combinaison vous permet de quitter X brusquement et n'est pas recommandée, sauf cas de force majeure.

4.  Adapter xorg.conf

Définir la résolution

Si vous voulez modifier la résolution utilisée, vous devez modifier deux sections du fichier de configuration. La section Screen contient la liste des résolutions utilisables. Elle peut ne contenir aucune résolution auquel cas le serveur X détermine la résolution en fonction des informations de la section Monitor.

Le serveur Xorg utilise les valeurs des paramètres HorizSync et VertRefresh de la section Monitor pour déterminer les résolutions utilisables. Ne modifiez ces paramètres que si les modifications dans la section Screen ne fonctionnent pas. Vous devrez alors utiliser les spécifications de votre moniteur. Vous les trouverez dans le manuel fourni avec l'écran ou grâce à un outil tel que sys-apps/ddcxinfo-knoppix.

Attention : Veuillez utiliser les valeurs indiquées dans le manuel de votre moniteur. Si vous utilisez des valeurs incorrectes, vous pourriez endommager votre écran.

Dans l'exemple suivant, nous définissons une ligne Modes et la profondeur de couleur pour utiliser une résolution de 1024x768 en 24 bits par défaut. Ne recopiez pas ces valeurs bêtement, vous voudrez sans doute en utiliser d'autres.

Exemple de code 4.1 : Modifier la section Screen dans /etc/X11/xorg.conf

Section "Screen"
  Identifier  "Default Screen"
  Device    "S3 Inc. ProSavage KN133 [Twister K]"
  Monitor   "Generic Monitor"
  DefaultDepth  24
  # Toutes les lignes ne sont pas recopiées ici par souci de lisibilité
  SubSection "Display"
    Depth   24
    Modes   "1024x768"
  EndSubSection
EndSection

Démarrez votre serveur (startx) pour vérifier qu'il utilise la résolution souhaitée.

Configurer le clavier

Pour utiliser un clavier international, trouvez la section InputDevice et ajoutez l'option XkbLayout pour indiquer la disposition de votre clavier. Dans l'exemple suivant, nous définissons un clavier belge. Indiquez simplement le code de votre pays. Veuillez noter qu'il faut indiquer ca_enhanced pour un clavier canadien français.

Exemple de code 4.2 : Définir la disposition du clavier

Section "InputDevice"
  Identifier  "Generic Keyboard"
  Driver    "keyboard"
  Option    "CoreKeyboard"
  Option    "XkbRules"  "xorg"
  Option    "XkbModel"  "pc105"
  Option    "XkbLayout" "be"
EndSection

Configurer la souris

Si votre souris ne fonctionne pas, vous devez d'abord vérifier si elle est détectée par le noyau. Les souris apparaissent sous /dev/input/mouse0 (ou /dev/input/mice si vous utilisez plusieurs souris.) Parfois, /dev/psaux est utilisé. Pour vérifier que le périphérique correspond bien à votre souris, essayez ceci :

Exemple de code 4.3 : Vérifier le fichier de périphérique de la souris

# cat /dev/input/mouse0
(Déplacez votre souris.)
(Faites Ctrl-C pour arrêter.)

Si votre souris n'est pas détectée, vérifiez que les modules nécessaires sont bien chargés.

Si votre souris est détectée, indiquez le nom du fichier de périphérique dans la section InputDevice. Dans l'exemple suivant, nous définissons aussi les options Protocol qui spécifie le protocole à utiliser (en général PS/2 ou IMPS/2) et ZAxisMapping qui permet d'utiliser la molette.

Exemple de code 4.4 : Définir les paramètres de la souris

Section "InputDevice"
  Identifier  "TouchPad Mouse"
  Driver    "mouse"
  Option    "CorePointer"
  Option    "Device"    "/dev/input/mouse0"
  Option    "Protocol"    "IMPS/2"
  Option    "ZAxisMapping"    "4 5"
EndSection

Démarrez votre serveur (startx) et appréciez ! Bravo, vous disposez maintenant d'un serveur X sur votre machine. L'étape suivante est de remplacer l'horrible gestionnaire de fenêtres actuel par un gestionnaire plus évolué, voire un environnement graphique complet tel que KDE ou GNOME, mais cela dépasse l'objectif de ce guide.

5.  Ressources

Créer et adapter xorg.conf

La page man (man xorg.conf) contient une référence complète sur la syntaxe du fichier de configuration. Vous devriez afficher cette page dans un autre terminal quand vous modifiez xorg.conf.

De la même façon, jetez un œil au fichier /etc/X11/xorg.conf.example ; vous pouvez le copier et l'utiliser comme base pour votre propre fichier xorg.conf.

Si vous avez besoin de plus de documentation, vous pouvez consulter la FAQ de X.Org fournie sur leur site internet.

De nombreux sites peuvent vous aider à modifier votre xorg.conf. Utilisez Google pour les découvrir. Étant donné que les fichiers xorg.conf et XF86Config (le fichier de configuration de XFree86) sont très similaires et que plus d'information sur ce dernier est disponible, les liens ci-dessous devraient vous intéresser :

Autres ressources

La section La station de travail Gentoo vous apportera plus d'informations sur la façon d'installer et de configurer les différents environnements graphiques et les applications.

Si vous mettez à jour depuis une ancienne version vers xorg-server-1.5, assurez-vous de prendre connaissance du guide de migration.