Sommaire Index Rechercher Liens A Propos
[LinuxFocus Image]
[Navegation Bar]
  Nouvelles   Archives

Configurer X:

A quoi servent tous ces fichiers avec des points ?

par Joel McCarty


Introduction

.xinitrc

.Xclients

.Xresources

Introduction

Ceci est destin� aux nouveaux administrateurs syst�me et utilisateurs individuels qui se demandent comment obtenir une meilleure flexibilit� dans le r�glage de sessions X personnalis�es pour eux même et leur utilisateurs.

Cet article assume que le Syst�me X Windows est d�j� install� et est d�marr� par la commande startx (la configuration de X pour plusieurs utilisateurs via XDM fera l'objet d'un autre article). Passons d'abord en revue les principaux fichiers que seront d�cris et r�sumons bri�vement ce qu'ils font...

xinitrc
xinitrc est un script pass� � xinit par la commande startx. Ce script d�finit habituellement des ressources globales (r�glages de l'�conomiseur d'�cran, d�finition du clavier, etc). C'est le fichier qui cimente tout le processus de d�marrage de X.

Xclients
C'est un fichier (avec un point) situ� dans le r�pertoire de l'utilisateur qui d�marre des clients sp�cifiques � l'utilisateur � l'oppos� de ceux appel�s par xinitrc.

Xresources
C'est un fichier qui contient des d�finitions d'objets graphiques, des widgets, qui sont prioritaires sur ceux par d�faut des applications. Ce fichier est habituellement utilis� pour pr�ciser la taille des polices de caract�re, les couleurs et l'aspect g�n�ral mais il peut aussi être utilis� pour obtenir des effets graphiques spectaculaires.

Maintenant que nous connaissons les principaux fichiers concern�s, voyons comment les configurer...

.xinitrc

Apr�s avoir lanc� la commande startx, xinint (qui est responsable du processus de d�marrage de X) �value soit /etc/X11/xinit/xinitrc (global), soit s'il existe, ~/.xinitrc (local). Si ni l'un ni l'autre n'existe, le choix de la configuration est fait par le processus xinit (� �viter). Le fichier xinitrc (le local est prioritaire sur le global) est un script qui d�marre les diff�rents clients X sp�cifi�s et utilise ensuite exec pour lancer le gestionnaire de fenêtres.

Le plus simple des fichiers xinitrc ressemble � quelque chose comme �a...

        # /etc/X11/xinit/xinitrc
        #!/bin/sh
 
        exec /usr/X11R6/bin/fvwm2
Ce fichier ne fait rien d'autre que d'ex�cuter le gestionnaire de fenêtres FVWM2 sans aucun autre client. Pas tr�s utile, mais pratique si vous voulez bricoler une configuration pour un nouveau gestionnaire de fenêtres en un �clair. Les choses deviennent plus int�ressantes en ajoutant quelques r�glages et le lancement de clients additionnels que nous voulons � chaque d�marrage de X...
        #/etc/X11/xinit/xinitrc
        #!/bin/sh

        # r�gler ce probl�me p�nible avec backspace     
        xmodmap -e "keycode 22=BackSpace"

        # d�finir   l'arri�re plan
        xsetroot -solid LightSlateGrey

        # �conomiseur d'�cran apr�s cinq minutes
        xset s 300

        # clients  � d�marrer syst�matiquement
        xterm -g 80x20+150+8 &        # lance un terminal
        xterm -g 80x20+150+325 &      # Lance une 2i�me fenêtre sous la 1�re 
        xload -g +4+0 &               # lance un indicateur de charge cpu
        xclock -g +815+0 -digital &   # lance l'horloge digitale
        # Lance le gestionnaire de fenêtres
        exec fvwm2

Copie d'�cran de la session X utilisant cette configuration

Nous avons maintenant un fichier qui r�gle le probl�me avec backspace (dans la plupart des cas), active le verrouillage num�rique, �limine cet horrible arri�re plan moir� et lance quelques programme � chaque d�marrage de X.

Notez qu'un fichier local dans le r�pertoire de l'utilisateur sera toujours utilis� s'il existe (ignorant compl�tement les r�glages syst�me). Remarquez aussi l'option -g sur presque toutes les commandes. C'est l'option de g�ometrie qui est disponible pour beaucoup de programmes X. Quand elle est utilis�e, cette option sp�cifie la taille et la position d'un programme sous la forme...

Longueur x Largeur + Coordonn�e X + Coordonn�e Y

La subtilit� dans ce r�glage, est que xterm (et la plupart des autres �mulateurs de terminal) sp�cifient la longueur et la largeur en termes de caract�res alors que les autres programmes utilisent les pixels pour ces valeurs (si vous ne faites pas attention, vous aurez des fenêtres plutôt petites !). Enfin, faites attention aux "&" ajout�s � la fin de toutes les commandes autres que celle qui lance le gestionnaire de fenêtres. Ces "&" ordonnent aux programmes de s'�x�cuter en arri�re plan (sinon la commande suivante, ne s'�xecuterait que si la pr�c�dente s'ach�ve - ce qui n'est pas l'effet escompt�). Ainsi, SEUL le gestionnaire de fenêtres est lanc� en avant plan et entraîne avec lui tous les processus lanc�s avec xinitrc quand vous quittez X.

Nous avons maintenant un script assez fonctionnel qui peut être utilis� globalement ou copi� dans les r�pertoires des utilisateurs si nous voulons personnaliser les clients pour des utilisateurs particuliers (par exemple nous pourrions �crire un script particulier de telle sorte que les utilisateurs d'un d�partement d'�tudes obtiennent une configuration X diff�rente de celle de quelqu'un de la comptabilit�). Bien qu'il y ait d�j� ici des possibilit�s int�ressantes, nous avons sous-utilis� beaucoup du potentiel. Remarquez, qu'il s'agit d'un script standard et que par cons�quent, nous pouvons appeler n'importe quelle commande que nous utiliserions normalement et les faire �xecuter. Examinons maintenant un dernier exemple qui utilise xmodmap et xrdb pour concatener une configuration personnelle avec celle du fichier syst�me xinitrc, nous lib�rant ainsi de la tâche de constitution d'un fichier xinitrc dans le r�pertoire des utilisateurs qui ont besoins d'options personnalis�es (l'utilisation de Xclients et Xressources � des fins sp�cifiques est d�crites ci-dessous):

        #/etc/X11/xinit/xinitrc
        #!/bin/sh

        # definition du chemin des ressources locales et globale
        userclients=$HOME/.Xclients
        userresources=$HOME/.Xresources
        usermodmap=$HOME/.Xmodmap
        sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
        sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

        # concat�ner les  Xdefaults et tables clavier syst�me et utilisateur
                if [ -f $sysresources ];  then xrdb -merge $sysresources; fi
                if [ -f $sysmodmap ];     then xmodmap $sysmodmap; fi
                if [ -f $userresources ]; then xrdb -merge $userresources; fi
                if [ -f $usermodmap ];    then xmodmap $usermodmap; fi

        # r�gler le probl�me  backspace     
        xmodmap -e "keycode 22=BackSpace"

        # D�finir  l'arri�re plan
        xsetroot -solid LightSlateGrey

        # �conomiser d'�cran au bout de cinq minutes
        xset s 300

        # v�rifier la pr�sebce de ~/.Xclients et ex�cuter sinon executer le syst�me 
        # clients par d�faut ( local et global ne sont PAS m�lang�s)
                if [ -f $userclients ]; then 
                        exec $userclients
                else
 
                #lancer les clients par d�faut
                xterm -g 80x20+150+8 &
                xterm -g 80x20+150+325 &
                xload -g +4+0 &
                xclock -g +815+0 -digital &
 
                 # Lance le gestionnaire de fenêtres
                fvwm2
 
                fi
 

Copie d'�cran de la session X utilisant cette configuration

Nous avons d'abord charg� toutes les tables claviers syst�me et les configurations par d�faut des programmes (d�finies dans .Xmodmap et .Xresources) puis les r�glages sp�cifiques � l'utilisateur (situ�s dans son propre r�pertoire). Ensuite, nous ajoutons les r�glages additionnels même s'ils n'existent ni dans ceux du syst�me ni dans ceux de l'utilisateur (par exemple la correction du backspace et le verrouillage du pav� num�rique). Apr�s, nous verifions si l'utilisateur � un Xclients dans son r�pertoire (et le chargeons s'il existe) sinon, nous lan�ons des r�glages au niveau syst�me (remarquez que contrairement aux d�fauts et ressources plus haut, ces deux lignes ne sont PAS concat�n�es). Il faut aussi mentionner le fait que si l'utilisateur n'a pas de Xclients dans son r�pertoire, sa configuation ressemblera � notre   copie d'�cran originale  contrairement �  celle d'au dessus; par cons�quent, nous avons la possibilit� d'avoir simultan�ment un aspect g�n�ral au niveau syst�me et un environnement hautement personnalis� � partir du même xinitrc. Pour finir, nous v�rifions la pr�sence de notre (nos) gestionnaire(s) de fenêtres pr�ferr�(s) sinon, nous nous reposons sur le bon vieux fvwm2 par s�curit� (s'il est inconnu, le syst�me lancera twm en dernier recours). Nous disposons maintenant d'une configuration qui permet des r�glages personnalis�s pour l'ensemble des utilisateurs simplement en installant des fichiers locaux, ou bien d'une configuration au niveau du syst�me en modifiant les fichiers syst�me sans plus jamais toucher � nos scripts.

 Regardons quelques fichiers r�f�renc�s dans les exemples pr�c�dents...

.Xclients

Le fichier ~/.Xclients contient des clients sp�cifiques � l'utilisateur qui doivent être ex�cut�s au d�marrage d'une session X. La syntaxe de ce fichier se conforme � celle des instructions comparables dans le fichier xinitrc. Le fichier ~/.Xclients ci-dessous est charg� par le xinitrc utilis� dans   la recopie d'�cran pr�c�dente.

  

        xv -rmode -noresetroot -quit /usr/local/backgrounds/slate.xpm &
        kfm &
        kcontrol -init &
        kbgndwm &
        krootwm &
        kpanel &
        kvt &
        kwm
Comme vous pouvez le voir sur la recopie d'�cran pr�c�dente, Xclients peut être utilis� pour pr�senter des environnements personnalis�s tout en conservant un fichier xinitrc centralis�. Remarquez que dans le .xinitrc ci-dessus, aucun client n'est lanc� si ~/.Xclients est present. J'utilise cette configuration afin que chaque utilisateur puisse d�marrer son gestionnaire de fenêtres favoris avec Xclients. Si vous avez besoin de clients sp�cifiques au syst�me charg�s syst�matiquement, lancez les avant d'ex�cuter un Xclients utilisateur (si ~/.Xclients contient un appel � un gestionnaire de fenêtres). Pour ceux d'entre vous qui sont int�ress�s par la configuration de mon bureau pr�sent�e dans le dernier exemple, jeter un coup d'oeil au   site de KDE . La version 3.0 Beta vient juste de sortir et contient beaucoup d'outils tr�s pratiques de configuration de l'interface graphique.
 
 

.Xresources

Les ressources dans X d�finissent des r�glages pour les programmes locaux (~/.Xresources) ou globaux (/usr/X11R6/lib/X11/xinit/.Xresources). Les programmes X sont constitu�s de widgets. Ce sont des �l�ments de contrôle; il y en a donc pour les polices, les barres de d�filement et l'arri�re plan. Pratiquement tout dans un programme X est un widget (et donc param�trable).

Les widgets sont habituellement hi�rarchis�s, par exemple, dans un cadre d'un menu il peut y avoir plusieurs widgets pour des boutons individuels. Pour exprimer compl�tement des changements pour un widget sp�cifique, il doit être exprim� sous la forme d'un chemin vers le composant individuel. Ce chemin est le nom du widget dans la hi�rarchie. A titre d'exemple, voici ci-dessous des lignes de mon fichier ~/.Xdefaults qui standardise toutes mes fenêtres de terminaux.

XTerm*Font:             -misc-fixed-bold-r-normal-15-140-75-75-c-90-iso8859-1
XTerm*Background:       black
XTerm*Foreground:       cyan
XTerm*scrollBar:        true
XTerm*saveLines:        500
Xterm*VT100.geometry:   80x24
Remarquez que les joker sont autoris�s, donc...

*Foreground: cyan
*Background: black

D�finira un aspect standard pour tous les programmes qui n'ont pas de param�tres explicites dans Xdefault. Si, comme moi, vous voulez plus de flexibilit� que les jokers, mais que vous avez du mal � vous souvenir de l'arborescence des widgets pour m�nager votre sant�...essayer editres! C'est un outils de configuration graphique intercatif qui vous permettra de g�n�rer des configurations extr�mement personnalis�es sans avoir � �crire le moindre fichier Xdefaut. Consultez une   photo de editres en action  ! Vous devriez commencer maintenant � r�aliser que Xdefaut offre des possibilit�s excitantes pour modifier l'aspect g�n�ral tout comme pour personnaliser fortement des clients. Constatez ce que Xdefaut � fait � ce mis�rable  xcalc . Un guide pas � pas sur l'utilisation compl�te des possibilit�s d'editres est visibles sur la page des trucs X d'  Isolation.

Voil�, c'est � peu pr�s tout pour ce mois ci. J'esp�re que maintenant vous voyez que X peut être aussi bien personnalis� que standardis� � volont� sans avoir � passer des heures � r��crire des scripts pour chaque nouvel utilisateur. Le prochain num�ro (du moins c'est ce que souhaite l'�diteur   Miguel A .Sepulveda ) nous verrons comment avoir plusieurs comptes sur la même station avec le Gestionnaire d'affichage XDM. Si vous avez des questions ou des remarques, n'h�sitez pas �   me contacter. D'ici la prochaine fois...
 


Traduit par John Perr


    Pour en savoir plus:

    • Lisez les pages du manuel (man pages) de xinit et X.


© 1998 Joel McCarty
Ce site web est maintenu par Miguel A Sepulveda.