Logo Guilde Retour à Trucs & Astuces    Modifier son environnement


COMMENT SE CONSTRUIRE UN ENVIRONNEMENT DE TRAVAIL SYMPATOCHE

par E. Rouat pour Guilde

Introduction

Bon, vous avez installé une belle distribution de linux, ca marche : reboot correct, on peux se logé en tant que root ou utilisateur, pas de problème. Le fichier XF86Config est bien ficelé, j'ai un bel écran 1024x768, cool !

Enfin, quoique..... Pas terrible cet environnement de travail qu'on m'a installé par défaut ! Comment le changer et l'adapter à ses besoins ? Telle est la question à laquelle je me propose de répondre (modestement).

Les sujets abordés:

  1. - démarrer et configurer une session X
  2. - le gestionnaire de fenêtre
  3. - le clavier et le fichier .Xmodmap
  4. - le fichier .Xdefaults ou .Xressources
  5. - francisation de certains programmes

POUR COMMENCER

La plupart des gens veulent travailler en mode graphique, donc sous X.

Qu'est ce que X ? Brièvement, on peut dire que X constitue un ensemble de fonctions graphiques de bas niveau. En d'autres termes, X tout seul, ça ne fait rien ! Les fenêtres et tout et tout, ce n'est pas X : c'est le gestionnaire de fenêtres(WM), qui s'APPUIE sur X pour fonctionner.

Bon, fort bien. Maintenant commençons par le commencement. Je me suis logé sur mon compte, et je me trouve en mode texte. Pour lancer X, la commande la plus simple est tout simplement 'X'.

Si vous la lancer telle quelle, vous n'obtiendrez qu'un écran gris sans rien. La raison étant bien sur qu'il faut lancer X avec les options adéquates pour que l'on en tire quelque chose. Il existe 2 commandes qui vont nous aider, xinit et startx : nous ne nous intéresserons qu'à la seconde, qui nous suffira largement pour ce qu'on veux faire:

La commande startx

Si vous faites un 'startx', je suis incapable de vous dire exactement ce que vous aurez devant vos yeux : la plus grande chance est que vous ayez sous les yeux le WM par défaut de la distribution que vous avez installé (pour RedHat, il s'agit de 'TheNextLevel', un WM qui imite de loin un produit très connu...).

Startx est en fait un script, très simple d'ailleurs.Voici à quoi il doit ressembler.

Par défaut, startx lance X avec le nombre de bits/pixels (bpp) par défaut spécifié dans le fichier /etc/X11/XF86Config, 8bpp correspond à 256 couleurs, 16bpp correspond à 65536 couleurs etc. Si vous voulez changer cela (passer de 8bpp à 16bpp par ex), vous avez plusieurs possibilités :

  1. - éditer le fichier XF86Config et la variable 'DefaultColorDepth' , par exemple :
  2. DefaultColorDepth 16

    (méthode que je préconise)

  3. - éditer le fichier startx et la ligne 'serverargs=""' , par exemple:
  4. serverargs="-bpp 16"

et voila! Quand on relancera X, on sera en 16 bits/pixel.

Bien. Voyons un peu ce que nous dit ce script. Il y a une ligne :

userclientrc=$HOME/.xinitrc

et une autre :

sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc

(les termes peuvent varier, mais en général c'est ça)

Sans entrer dans les détails, cela veux simplement dire que X va d'abord chercher un fichier de configuration s'appelant .xinitrc chez vous ($HOME) et s'il ne le trouve pas, il se rabatra sur /usr/X11R6/lib/X11/xinit/xinitrc comme fichier de configuration.

Ce fichier est très important: C'EST LUI QUI DETERMINE QUEL WM SERA LANCE AU STARTX!

On va le copier chez soi sous le nom de .xinitrc et on va le bricoler un peu.

Ce qui nous amène au chapitre suivant :

Le gestionnaire de fenêtres

Voici un .xinitrc typique.

Pour l'instant, la partie qui nous intéresse est en bas. Dans l'exemple que j'ai trouvé, la fin du script (car il s'agit bien d'un script) est un peu compliquée. On va simplifier. Supposons que vous voulez utiliser Afterstep comme WM (on suppose qu'il est installé correctement sur votre machine), voila ce que peux donner votre nouveau fichier .xinitrc .

Voila, maintenant il vous reste à configurer comme vous le voulez votre WM préféré. Pour ceux qui veulent utiliser fvwm95, je vous conseille de lire l'article que j'y consacre sur ce même site.

AUTRE METHODE

Il existe une autre méthode pour lancer X - méthode plus sympathique, à mon avis, mais peut-être moins évidente au départ. Il s'agit d'utiliser xdm. Avec xdm, on n'a plus besoin de lancer startx - le serveur X est lance automatiquement quand on se loge.

Voici (brièvement) la méthode :

Dans le fichier /etc/inittab vous devez trouver quelque chose du genre :

# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault

Bon, ca veux dire que quand on reboote, on entre dans le runlevel 3. Ce qu'on voudrait, c'est entrer dans le runlevel X11, le 5 en l'occurence (attention, ça change d'une distribution à l'autre). On va donc changer le chiffre qui va bien:

id:5:initdefault

Maintenant quand on va rebooter, on aura un écran de login non plus en mode texte, mais directement en mode graphique ! Quand on se loge, X est automatiquement lancé (pas de startx).

Le fichier .xinitrc qu'on a vu précedement s'appelle maintenant .xsession (vous pouvez utiliser exactement le même à condition de le rendre éxécutable) et le fichier à éditer pour être en 16bpp est /etc/X11/xdm/Xservers (sous RedHat, ca peux aussi changer d'une distribution à une autre) et la ligne magique est :

:0 local /usr/X11R6/bin/X -bpp 16

(cela n'est évidemment nécessaire que si vous n'avez pas configuré la variable DefaultColorDepth dans le fichier XF86Config)

Voila, c'est fait.

Pour en savoir plus

'man X' 'man XFree86' 'man XF86Config' 'man xdm' 'man startx' etc.....

LE CLAVIER

La plupart des distributions actuelles configurent plutot correctement le clavier, mais parfois des problêmes subsistent. Il y a deux cas de figure:

  1. - le clavier en mode console
  2. - le clavier sous X

En mode console,le clavier est très souvent configuré par une commande du style 'loadkeys /usr/lib/kbd/keytables/fr-latin1.map', commande qui est éxecutée au démarrage de votre machine. Si vous voulez connaître le code d'une touche particulière, utilisez la commande 'showkey'. La configuration la plus courante pour un clavier français est justement le fr-latin1 qui est fourni dans toutes les distributions assez récentes.

En mode X, il y a plusieurs façons de procéder. Je n'en retiendrais qu'une seule, qui a l'avantage de toujours marcher et d'être universelle. La façon de procéder est en fait très proche de la méthode en mode console : on va utiliser la commande 'xmodmap'. Vous devez d'abord vous constituer un fichier .Xmodmap - voici celui que j'utilise. Vous pouvez le placer dans votre répertoire personnel, ou bien dans un endroit plus général, comme /usr/X11R6/lib/X11/xinit/.Xmodmap . Ensuite, il suffira de lancer un 'xmodmap .Xmodmap' pour que cette configuration soit chargée.

Ceci explique d'ailleurs plusieurs lignes du fichier .xinitrc que l'on commence à bien connaître, en l'occurence :

usermodmap=$HOME/.Xmodmap
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi 
if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

C'est assez simple à comprendre : s'il existe un fichier 'géneral' Xmodmap, on le charge. Ensuite, si on en a un personnel, on le charge (il écrasera alors l'autre).

Si vous voulez modifier ce fichier pour l'adapter à votre clavier, utilisez la commande 'xev' sous X pour connaître le code de vos touches.

LE FICHIER .XDEFAULTS

Bon, on a épluché une partie du .xinitrc - mais il en reste un p'tit bout :

userresources=$HOME/.Xresources
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi
if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

Bon, de quoi s'agit-il ? En fait, il s'agit de fichiers de configuration (encore !) avec lesquels vous pouvez modifier l'apparence (et parfois le comportement) de certains programmes sous X. Traditionnelement, ces fichiers s'appelent .Xdefaults, parfois .Xresources.

Voici le mien. Vous pouvez l'essayer en faisant un 'xrdb .Xresources', puis en redémarrant votre WM. Vous devriez vite voir quelques différences dans certaines de vos applications ! (essayez ghostview, par exemple...)

FRANCISATION

Ce chapitre sera très court. En effet, vous trouverez tout ce que vous voudrez dans le 'French Howto'

Manu, pour la GUILDE