EEIJ

Païou : Mandriva Linux depuis 2002. Aujourd'hui, c'est Mageia Linux


Sommaire


Conforme à XHTML 1.0 Strict Conforme à CSS!

On se lasse de tout, sauf de comprendre.
Attribué à Virgile.

Démarrage graphique avec startx, sous Linux Mageia 1

Historique

6 juin 2011 : Création de cette page.
2 août 2011 : Nouvelle présentation et actualisation.

Difficulté

Pour : linuxien averti.

 Introduction

Vous avez pu voir, dans la page précédente Cliquez, le début du démarrage de Mageia Linux en mode texte.

La présente page montre le processus lorsque vous vous êtes connectés en mode texte et que vous lancez la commande startx.

 Le script /usr/bin/startx

La commande startx lance une session du système XWindow. Elle constitue une "partie frontale" du programme xinit.
En fait, elle prépare les arguments de la commande xinit, puis lance cette commande avec les arguments pour le client X et pour le serveur X.
Le déroulement est le suivant :

Haut

 La commande /usr/bin/xinit

xinit démarre le serveur X avec les arguments définis grâce à startx

Ensuite xinit lance le client X défini par l'argument, ici : /etc/X11/xinit/xinitrc
xinitrc contient la ligne
exec /etc/X11/Xsession $*

Haut

 Le script /etc/X11/Xsession

Il est également utilisé par la commande startx ou par les autres gestionnaires de connexion.

Ce script ouvre une session graphique correspondant aux éventuels paramètres spécifiés lors de la commande. Par défaut, aucun paramètre n'est spécifié.
Voici, en résumé, le processus :

Pour les curieux, survolez : un peu plus de détails

* gestion des paramètres nationaux avec /etc/profile.d/10lang.sh et /etc/sysconfig/i18n
* création ou vidage du journal de session $HOME/.xsession-errors
* fond d'écran rouge, si c'est root qui se connecte
* définit la forme du curseur : patienter
* libère la mémoire après xbanner
* ajoute éventuellement les ressources X de l'utilisateur (icônes ...) aux ressources système
* configuration du clavier
* définition du fichier d'initialisation de console-kit (suivi des utilisateurs, des sessions ...)
* définition du fichier de lancement du navigateur internet
* définition du bureau : celui donné en argument, sinon celui du fichier $HOME/.desktop, sinon celui du fichier /etc/sysconfig/desktop
* définition de la session : la même que le bureau; si, à ce stade, aucun bureau n'est défini, lance la commande chksession -F
l* ancement des scripts du répertoire /etc/X11/xinit.d, avec chaque fois le nom de la session comme argument.
Le contenu du répertoire dépend de votre installation. Voici ce que j'ai, avec une installation minimale et avec le bureau IceWM :

  02XIM : interface de UIM, pour la gestion des langues japonaise et chinoise
  gpg-agent : GPG permet de transmettre des messages signés et/ou chiffrés.
gpg-agent stocke temporairement le mot de passe ou la phrase, de sorte que vous ne devrez les taper qu'une seule fois pour une session.

  canberra-gtk-module.sh : ajoute canberra-gtk-module à la variable $GTK_MODULES
  menu : migration des anciens menus vers les nouveau, si besoin
  mgaapplet (appliquette signalant des mises à jour) : exécute /usr/bin/mgaapplet, uniquement avec les bureaux IceWM et Fluxbox
  Mod_Meta_L_Disable :_retire l' identifiant MOD_META_L, principalement pour xemacs
  msec : exécute /usr/bin/xhost + localhost (autorise l'ouverture de fenêtres depuis localhost)
  numlock : active le verrouillage numérique en mode graphique, s'il est déjà activé en mode texte
  s2u : active le démon s2u (communication du système vers l'utilisateur, avec dbus)
  xdg-user-dirs-update : création ou mise à jour des répertoires de l'utilisateur
  xdg-user-dirs-update-gtk : n'est utilisé que pour les bureaux autres que GNOME, KDE et xfce4
* lancement du bureau, au sein de ConsoleKit, selon le cas :
  bureau failsafe : un simple terminal
  le bureau est défini : lancement de ce bureau
  le bureau est default : essai de diverses solutions : une session utilisateur est définie, des clients utilisateurs sont définis, recherche d'une session avec chksession -F, icewm, icewm-light, twm, xsm

Haut

 Finalité

En très bref, la commande startx traite vos arguments ou recherche les valeurs par défaut si vous n'en donnez pas. Ensuite elle démarre correctement le serveur X puis ouvre votre bureau.

Haut