Les interfaces graphiques

  1. X Window
  2. La bibliographie
L'auteur de cette page est : Jean-Baptiste Yunès

X Window

Configurer son environnement

L'environnement CDE (Common Desktop Environment)

Une session CDE démarre généralement par une identification réussie de l'utilisateur dans l'application dtlogin (CDE Login Service).

Cette dernière exécute normalement un script (Bourne Shell) d'initialisation nommé /usr/dt/bin/Xsession. Celui-ci a pour effet de fournir un environnement de travail par défaut aux utilisateurs n'en possédant pas. Dans le cas contraire se sont les préférences de l'utilisateur qui seront choisies.

L'environnement par défaut

L'environnement standard MIT

Une session standard démarre après une identification réussie de l'utilisateur dans l'application xdm (X Display Manager). Cette dernière exécute normalement un script (Bourne Shell) Xsession du système (sa localisation est généralement /usr/lib/X11/xdm/Xsession, /usr/local/lib/X11/xdm/Xsession ou /usr/openwin/lib/X11/xdm/Xsession). Voici ce qu'il contient généralement :


La première action effectuée est d'effacer le contenu du fichier de traces de la session précédente, puis de rediriger les sorties standard et erreur standard de cette nouvelle session dans celui-ci. Ce fichier est généralement $HOME/.xsession-errors. On peut donc le consulter pour y retrouver toutes les erreurs produites au démarrage de la session.

La session minimale par défaut

Ensuite, le script démarre une session minimale par défaut dans le cas où l'utilisateur a validé son mot de passe en utilisant la touche [F1] au lieu de [Return]. Cette session est vraiment minimale puisque seule une émulation de terminal est lancée. Ce type de session est appelé failsafe et n'est utilisée que dans le cas où les autres configurations posent problème. On peut alors s'en servir pour de corriger les erreurs puis recommencer une session.

La session définie par l'utilisateur

Si l'utilisateur possède dans son répertoire privé un script de nom .xsession alors celui-ci est exécuté afin de réaliser une session selon les souhaits de l'utilisateur. En voici un exemple :


On y découvre que l'utilisateur désire utiliser le répertoire $HOME/.app-defaults comme récipient de fichiers de ressources, qu'il charge un certain nombre de ressources par l'intermédiaire de l'outil xrdb, qu'il lance un gestionaire de fenêtres (mwm : Motif Window Manager), une application imitant une horloge (xclock) ainsi que deux émulateurs de terminaux (xterm).

Remarquez que dans ce script toutes les applications sont lancées en tâche de fond sauf : xrdb et la dernière xterm. Pour xrdb ce n'est en aucun cas gênant puisque cette application se termine immédiatement après avoir chargé les ressources. Quant à la dernière application elle permet de contrôler la terminaison de la session : si elle termine, le script se termine et la session avec.

La session par défaut

Dans le cas contraire, c'est une session par défaut que propose le système. Le contenu du fichier $HOME/.xresources est chargé par xrdb, un gestionnaire de fenêtre est lancé (twm : Tab Window Manager), et pour finir un émulateur de terminal : xterm.

Il est important de noter que la terminaison du script Xsession entraîne la terminaison de la session. C'est pourquoi la derniêre application exécutée par le script n'est pas lancée en tâche de fond. Cette remarque est tout aussi valable pour le script .xsession de l'utilisateur puisque ce dernier est exécuté en dernier lieu (et s'il existe) par le script système.

Le chargement des ressources

Les ressources pour une application sont chargées depuis différentes sources. Un ordre de priorité est définit pour résoudre les multiples définitions. Celles qui sont chargées les premières surchargent celles retrouvées par la suite si les deux spécifications affectent les mêmes widgets :

Priorité Base de données
1 dans le code (XSetValues())
2 ligne de commande
3
dans la variable $XENVIRONMENT
sinon le fichier $HOME/.Xdefault-hostname
4 propriété SCREEN_RESOURCES de xrdb
5
dans la propriété RESOURCE_MANAGER de xrdb
sinon le fichier $HOME/.Xdefaults
6
par classe dans $XUSERFILESEARCHPATH
sinon $XAPPLRESDIR/$LANG/
sinon $XAPPLRESDIR/
sinon $HOME/$LANG/
sinon $HOME/
7 par classe dans $XFILESEARCHPATH
8
par classe dans /usr/lib/X11/$LANG/app-defaults/
sinon /usr/lib/X11/app-defaults/
9 dans le code (XtAppInitialize())

La ligne de commande supporte par défaut les paramètres suivants :

Paramètres standards de la ligne de commande
Option Ressource Sémantique
-bg | -background *background couleur de fond
-bd | -bordercolor *borderColor couleur du bord
-bw | -borderwidth .borderWidth épaisseur du bord
-display .display serveur
-fg | -foreground *foreground couleur de l'encre
-fn | -font *font police principale
-geometry .geometry taille et position
-iconic .iconic démarrage iconifié
-name .name instance
-rv | +rv | -reverse *reverseVideo mode inverse vidéo
-selectionTimeout .selectionTimeout délai sélection
-synchronous | +synchronous *synchronous mode de débogage
-title .title titre
-xrm dépend de l'argument dépend de l'argument

La Xlib

Voici une application X très élémentaire permettant de dessiner en se déplaçant à l'intérieur d'une fenêtre tout en gardant appuyé le premier bouton de la souris. Pour quitter l'application, il suffit d'appuyer sur le troisième bouton.



Valid XHTML 1.0!Valid CSS!