Dans la plupart des cas, l'installation par défaut de Red Hat Linux configure l'ordinateur pour qu'il démarre dans un environnement de connexion graphique, connu en tant que niveau d'exécution 5. Il est toutefois possible de démarrer en mode multi-utilisateurs texte-seul, connu en tant que niveau d'exécution 3, et de démarrer ainsi un session X.
Pour obtenir de plus amples informations sur les niveaux d'exécution, reportez-vous à Section 1.4 Niveaux d'exécution de SysV Init.
Cette section passe en revue le démarrage de XFree86 aussi bien au niveau d'exécution 3 qu'au niveau d'exécution 5.
Au niveau d'exécution 3, la meilleure façon de lancer une session X consiste se connecter et à taper la commande startx. Cette commande startx est une commande frontale (ou 'front-end') à la commande xinit qui lance le serveur XFree86 et y connecte les applications client X. Étant donné que l'utilisateur est déjà connecté au système au niveau d'exécution 3, startx ne lance pas un gestionnaire d'affichage et n'authentifie pas les utilisateurs. Pour obtenir de plus amples informations sur les gestionnaires d'affichage, reportez-vous à Section 7.5.2 Niveau d'exécution 5.
Lorsque la commande startx est exécutée, elle recherche un fichier .xinitrc dans le répertoire personnel (ou home) de l'utilisateur pour définir l'environnement de bureau et, le cas échéant, d'autres application client X à lancer. Si aucun fichier .xinitrc n'existe, il enclenchera à sa place le fichier /etc/X11/xinit/xinitrc par défaut du système.
Le script xinitrc par défaut recherche alors les fichiers définis par l'utilisateur et les fichiers systèmes par défaut, y compris .Xresources, .Xmodmap et .Xkbmap dans le répertoire personnel de l'utilisateur d'une part, et Xresources, Xmodmap et Xkbmap dans le répertoire /etc/X11/ d'autre part. Les fichiers Xmodmap et Xkbmap, s'ils existent, sont utilisés par l'utilitaire xmodmap pour configurer le clavier. Les fichiers Xresources sont lus afin d'assigner des valeurs préférentielles spécifiques aux applications.
Après avoir paramétré ces options, le script xinitrc exécute tous les scripts situés dans le répertoire /etc/X11/xinit/xinitrc.d/. Parmi les scripts importants faisant partie de ce répertoire figure xinput, permettant de configurer des paramètres comme la langue par défaut.
Ensuite, le script xinitrc essaie d'exécuter .Xclients dans le répertoire personnel (home) de l'utilisateur et recoure à /etc/X11/xinit/Xclients s'il ne peut pas le trouver. Le rôle du fichier Xclients est de démarrer l'environnement de bureau ou, le cas échéant, un simple gestionnaire de fenêtre élémentaire. Le script .Xclients dans le répertoire personnel de l'utilisateur lance l'environnement de bureau spécifié par l'utilisateur dans le fichier .Xclients-default. Si le fichier .Xclients n'existe pas dans le répertoire personnel de l'utilisateur, le script standard /etc/X11/init/Xclients tente de lancer un autre environnement de bureau, en premier GNOME et en second KDE suivi de twm.
L'utilisateur revient à une session utilisateur en mode texte après s'être déconnecté de X au niveau d'exécution 3.
Lorsque le système démarre au niveau d'exécution 5, une application client X spéciale appelée gestionnaire d'affichage, est lancée. Un utilisateur doit s'authentifier en utilisant le gestionnaire d'affichage avant que tout environnement de bureau ou gestionnaire de fenêtre ne puisse être lancé.
Selon les environnements de bureaux installés sur le système, trois gestionnaires d'affichage différents sont disponibles pour assurer l'authentification de l'utilisateur.
gdm — Le gestionnaire d'affichage par défaut pour Red Hat Linux; gdm permet la configuration des paramètres de langage, le démarrage, l'arrêt et la connexion au système par l'utilisateur.
kdm — Le gestionnaire d'affichage de KDE permettant le démarrage, l'arrêt et la connexion au système par l'utilisateur.
xdm — Un gestionnaire d'affichage rudimentaire ne permettant que la connexion de l'utilisateur au système.
Lors du démarrage au niveau d'exécution 5, le script prefdm détermine le gestionnaire d'affichage de préférence en consultant le fichier /etc/sysconfig/desktop. Pour obtenir une liste des options disponibles pour ce fichier, reportez-vous au fichier /usr/share/doc/initscripts-<numéro-de-version>/sysconfig.txt (où <numéro-de-version> correspond au numéro de version du paquetage initscripts).
Chacun des gestionnaires d'affichage consultent le fichier /etc/X11/xdm/Xsetup_0 pour configurer l'écran de connexion. Une fois que l'utilisateur s'est connecté au système, le script /etc/X11/xdm/GiveConsole s'exécuter pour assigner à l'utilisateur la propriété de la console. Ensuite, le script /etc/X11/xdm/Xsession se lance pour effectuer de nombreuses tâches habituellement exécutées par le script xinitrc lorsque X est démarré au niveau d'exécution 3, y compris le paramétrage du système et des ressources utilisateurs, et le lancement des scripts dans le répertoire /etc/X11/xinit/xinitrc.d/.
L'utilisateur peut spécifier l'environnement de bureau qu'il souhaite utiliser quand il s'authentifie par le bais des gestionnaires d'affichage gdm ou kdm en le sélectionnant dans le menu Session (accessible en choisissant le bouton Menu principal [sur le panneau] => Préférences => Préférences supplémentaires => Sessions). Si l'environnement de bureau n'est pas spécifié dans le gestionnaire de fenêtre, le script /etc/X11/xdm/Xsession vérifiera les fichiers .xsession et .Xclients dans le répertoire personnel (ou home) de l'utilisateur pour décider quel environnement de bureau charger. En dernier ressort, le fichier /etc/X11/xinit/Xclients la référence pour sélectionner un environnement de bureau ou gestionnaire de fenêtres à utiliser, de la même façon que pour le niveau d'exécution 3.
Lorsque l'utilisateur termine une session X sur l'affichage par défaut (:0) et se déconnecte, le script /etc/X11/xdm/TakeConsole s'exécute et réassigne la propriété de la console au super-utilisateur (ou root). Le gestionnaire d'affichage original, qui ne s'est pas éteint depuis la connexion de l'utilisateur, reprend le contrôle déclenchant un nouveau gestionnaire d'affichage. Ce faisant, le serveur XFree86 est redémarré, un nouvel écran d'authentification est affiché et tout le processus recommence.
L'utilisateur revient au gestionnaire d'affichage après s'être déconnecté de X au niveau d'exécution 5.
Pour obtenir de plus amples informations sur le contôle de l'authentification des utilisateurs par les gestionnaires d'affichage, reportez-vous d'une part au fichier /usr/share/doc/gdm-<numéro-de-version>/README (où <numéro-de-version> correspond au numéro de version du paquetage gdminstallé) et d'autre part à la page de manuel relative à xdm.