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.

Le gestionnaire de connexion XDM, avec autologin, sous Linux Mageia 1

Historique

09 juin 2011 : Création de cette page.
4 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 graphique de Mageia Linux, avec le processus de détermination du gestionnaire de connexion qui sera utilisé.

La présente page montre le processus de démarrage lorsque vous avez installé le paquetage autologin et que vous avez correctement configuré le démarrage.

 Description

Vous devez installer le paquetage autologin

autologin permet de contourner l'écran de connexion qui vous demande votre nom d'utilisateur et votre mot de passe. Il connecte directement l'utilisateur spécifié et lance la session graphique.

Un inconvénient. Vous ne pouvez que vous déconnecter en fin de session, mais pas arrêter ou redémarrer l'ordinateur avec l'icône de fin de session.

 La configuration

En créant le fichier de configuration

Vous pouvez créer le fichier de configuration /etc/sysconfig/autologin, dans une console root et en donnant les droits rw-r--r--

Son contenu est :
AUTOLOGIN=yes
USER=vous
EXEC=/usr/bin/startx.autologin

Avec Mageia Control Center

choisissez d'abord le gestionnaire de connexion XDM (bien qu'il ne sera pas utilisé) et activez la connexion automatique en précisant l'utilisateur et l'environnement graphique.

Le fichier de configuration est automatiquement créé avec les bonnes valeurs.

Haut

 Le processus de démarrage

 /etc/X11/prefdm

Vous avez pu voir le début du démarrage, jusqu'à l'exécution du script /etc/X11/prefdm.

Haut

 /usr/sbin/autologin

Ceci est un programme compilé et il est difficile de trouver son fonctionnement exact.
Il appelle le programme /bin/login avec le nom d'utilisateur de la variable $USER, sans demander l'authentification. Il lance ensuite le programme spécifié par le fichier de configuration.

Haut

 /usr/bin/startx.autologin

Il ne contient qu'une ligne :
exec /usr/bin/startx "$@" -- vt7 où $@ est vide

Haut

 /usr/bin/startx -- vt7

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
* lancement 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é

Finalement, lorsque votre gestionnaire de connexion est XDM et que vous avez demandé une auto-connexion, les arguments de la commande startx sont définis, puis la commande startx est lancée. Celle-ci traite les arguments. Ensuite elle démarre correctement le serveur X puis ouvre votre bureau.

Haut