X11: interface graphique
De Diablotins.org.
| Et la fenêtre fut
|
| ||
|
Malgré la complexité de X-Window, configurer X11 pour un usage unique et domestique est un jeu d'enfant.
|
Sommaire |
Pré-requis
Il vous faudra d'abord faire plusieurs choix:
- un serveur vidéo, xorg (xfree86 a disparu des étals).
- gestionnaire de fenêtres.
- un gestionnaire de connexions, au besoin.
Ces derniers sont des ports, rien ne se trouve dans le système de base.
Installations
- x11/xorg, depuis FreeBSD 5.3.
| |
Xorg 7 est disponible depuis juin 2007 et équipe depuis les versions de FreeBSD 6 et 7. Cette version est modulaire.
X_WINDOW_SYSTEM=xfree86-4 |
Configuration
FreeBSD est désormais livré avec xorg qui remplace XFree86 depuis la branche V.
Xorg, sans fichier de configuration, cherche à se configurer au mieux.
Pour les francophones le résultat n'est pas souvent à la hauteur.
C'est pourquoi vous allez certainement devoir générer puis éditez le fichier de configuration,
/etc/X11/xorg.conf.
Mais, depuis la version 7.5, Xorg utilise hal et dbus.
De fait, Xorg va créer de lui même, à partir des informations données par hal, la configuration qui vous convient.
Aussi, vous devez modifier la politique définie par hal, pour configurer votre pupitre.
Configuration pré-définie
Vous ne souhaitez pas que Xorg interroge hal pour déterminer automatiquement votre pupitre.
Plusieurs solutions se présentent, la meilleure étant de ne pas compiler Xorg avec HAL.
Configuration par script
Laissez Xorg détecter le matériel et créer un premier fichier de configuration:
# Xorg -configure
Vous devez désormais disposer dans votre espace utilisateur du fichier:
xorg.conf.new
Configuration manuelle
Vous connaissez les détails de votre matériel, notamment:
- Souris
- pilote de carte graphique et mémoire embarquée
- Clavier
- Ecran, fréquences de balayage.
Éditez votre propre fichier xorg.conf que consultera X au démarrage. Évitez d'enregistrer le fichier directement dans /etc/X11, sauvez le par exemple sous le même nom que le paragraphe précédent, dans votre espace:
~/xorg.conf.new
Si, pour le clavier et la souris, il suffit de recopier les lignes idoines de cet article, pour le pilote vidéo, il faudra installer le port concerné.
Les pilotes vidéo se trouvent dans le catalogue /usr/ports/x11-drivers/xf86-video-*.
Pour trouver le bon, consultez les pilotes sur freshports et, après installation:
man nomdupilote
HAL, non merci
Il reste à ordonner à Xorg à la rubrique «serveur layout», de laisser tomber hal:
- soit de ne pas interroger hal pour ajouter de nouvelles entrées:
Option "AutoAddDevices" "off"
| |
Attention, en faisant des recherches (Google n'est pas toujours votre ami), vous avez trouvé ce qui suit: Option "AllowEmptyInput" "off" C'était une option temporaire, créée pour résoudre un bug suite à l'introduction de HAL.
|
Tester
Essayez le fichier généré:
X -config ~/xorg.conf.new
Si une interface graphique même sommaire apparaît et que rien ne reste bloqué, tout va bien. Votre configuration est correcte.
Copiez ce fichier dans /etc/X11/xorg.conf, xorg l'utilisera alors par défaut:
mv xorg.conf.new /etc/X11/xorg.conf
Configuration automatique
Xorg interroge Hal pour déterminer automatiquement les périphériques, par défaut.
Mais, il ne devine pas pour l'instant que vous avez un clavier «FR-fr».
Précisez votre configuration, non dans xorg.conf, mais dans le fichier
/usr/local/etc/hal/fdi/policy/10-x11-input.fdi:
Copiez le à partir de /usr/local/share/hal/fdi/policy/10osvendor/10-x11-input.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_driver" type="string">kbd</merge>
<match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
string="Linux">
<merge key="input.x11_driver" type="string">evdev</merge>
</match>
<merge key="input.xkb.Layout" type="string">fr</merge>
<merge key="input.xkb.Variant" type="string">latin9</merge>
<merge key="input.xkb.Option" type="string">compose:rwin</merge>
</match>
</device>
</deviceinfo>
Ensuite, si vous avez un fichier de configuration, supprimez simplement les rubriques consacrées à la souris et au clavier.
Ce que vous devriez obtenir
Le clavier
Chaque clavier - vous pouver en définir plusieurs - se définissent dans une section InputDevice sous une étiquette unique (Identifier) et un pilote (kbd). Voici un exemple de clavier français AZERTY.
Section "InputDevice" Identifier "MonClavierAMoi" Driver "kbd" Option "AutoRepeat" "500 30" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "fr" Option "XkbVariant" "latin9" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
Je dispose là d'un clavier AZERTY français, "fr", dont la variante "latin9" me propose une gamme de caractères sous différentes combinaisons de touches. Par exemple, j'obtiens, «œ æ â Ç» respectivement sur les touches notée «²» «AltGr G» «AltGr A» et «AltGr shift ç».
| |
Le drapeau terminate rétablit l'arrêt du serveur sur la combinaison de touches Ctrl-Alt-BackSpace.
|
Ensuite, il suffit d'associer ce clavier à un pupitre.
Section "ServerLayout" # Divers autres périphériques InputDevice "MonClavierAMoi" "CoreKeyboard" EndSection
vous pouvez modifier la disposition des touches par les commandes setxkbmap ou xmodmap.
Vous reconnaissez dans les options du pilote «kbd», les commandes de SetXkbMap.
Vous pouvez ajouter, par exemple, une touche «compose» sur la touche Windows de droite:
Option "XkbOption' "compose:rwin"
Notes de version
La branche 7.5 a intégré quelques modifications;
notamment, le comportement d'un clavier de type «pc105» a changé, en particulier dans sa gestion du pavé numérique.
Supprimez simplement cette option.
La souris
La souris est un périphérique à configurer de la même manière que le clavier. Ce périphérique utilise un pilote de type mouse et est reconnu par le pupitre en tant que "CorePointer". Aussi, décrivez un périphérique utilisant ce pilote:
Section "InputDevice" Identifier "Minnie" Driver "mouse" Option "Protocol" "Auto" Option "Device" "/dev/sysmouse" End Section
Les options décrivent le type de souris; ici, la reconnaissance est automatique: c'est une souris classique de type PS/2. Le fichier de configuration de base vous fournit des exemples de configuration pour certaines souris particulières.
- Si vous ne possédez pas de souris à trois boutons, très utile pour le copier-coller sous X,
émulez le troisième bouton par un appui simultané sur les deux boutons de votre souris :
Option "Emulate3Buttons"
- Si votre souris est équipée d'une molette de navigation :
Option "ZAxisMapping" "4 5"
Enfin, ajoutez votre souris à la liste des périphériques utilisés par votre profil X:
InputDevice "Minnie" "CorePointer"
La manette de jeu
Sachez que la plupart des jeux utilisant les API de la SDL, cette configuration est souvent inutile. Ces jeux utilisent directement le périphérique «joystick»: /dev/uhid0(4).
Si vous en avez vraiment besoin, vous pouvez utilisez un manche à balais ou une manette comme une souris.
Ajoutez l'interface «joy0» pour la première manette (/dev/uhid0(4)):
Section "InputDevice"
Identifier "Joy0"
Driver "joystick"
Option "Device" "/dev/uhid0"
EndSection
Et signalez le au serveur:
Section "ServerLayout"
InputDevice "Joy0" "SendCoreEvents"
EndSection
Contrôler
Vous pouvez contrôler l'initialisation des périphériques par «xinput»:
xinput list xinput list "PS/2 Mouse"
où "PS/2 Mouse" est l'identifiant.
Notez que xinput peut modifier à la volée le comportement de ces périphériques.
Démarrer
X se lance par la commande:
startx
qui va lancer le gestionnaire de fenêtres. Par défaut, x11-wm/twm ou celui défini dans ~/.xinitrc. Par exemple:
gkrellm& Une babiole qui affiche la consommation de ressources (xterm -ls -s -sb)& L'émulation de console livrée avec X xclock& Une horloge (xmms --play)& Musique ! numlockx & Activer le pavé numérique exec /usr/X11R6/bin/blackbox Le gestionnaire blackbox
Gestionnaire de connexions
Il existe un gestionnaire de fenêtres particulier qui va permettre une gestion graphique des connexions d'utilisateur, voire le choix du gestionnaire de fenêtres et différents modes d'affichage.
Ce gestionnaire est en général lancé comme une console, via /etc/ttys.
Dé-commentez simplement la ligne:
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on sercure
et la console virtuelle numéro 8 ( touches «Alt» + «8» ) deviendra une console graphique dans laquelle tourne un gestionnaire de fenêtre, en premier lieu x11/xdm.
x11/xdm est le gestionnaire de connexions par défaut, mais les environnements de bureau proposent le leur : kdm ou x11/gdm.
Dans ce cas, le gestionnaire de connexions consulte le fichier ~/.xsession du répertoire de l'utilisateur connecté pour lancer les premières applications X au lieu de ~/.xinitrc.
- Avis aux utilisateurs de kdm ou gdm, ces deux gestionnaires ont la fâcheuse tendance à utiliser leurs propres scripts et à re-configurer X à grand coups de xmodmap et de xset sans vous demander votre avis.
De plus, dès lors qu'ils vous proposent de choisir le gestionnaire de fenêtres, ils n'utilisent plus que leur propres scripts, en principe dans
/usr/local/share/apps/?dm/
Pilotes propriétaires
Ces pilotes sont fournis par le constructeur de la carte vidéo et requierent parfois quelques explications supplémentaires:

