Nella maggior parte dei casi, l'installazione di default di Red Hat Enterprise Linux configura una macchina in modo da avviarsi in un ambiente di login grafico, conosciuto come runlevel 5. É possibile, tuttavia, effettuare un avvio nella modalitá utenti multipli di solo testo, chiamata anche come runlevel 3 iniziando una sessione X da li.
Per maggiori informazioni sui runlevel, consultare la Sezione 1.4.
Questa sezione rivede come XFree86 effettua un avvio nei runlevel 3 e 5.
Se vi trovate nel runlevel 3, il miglior modo di avviare una sessione X è quello di effettuare un login e digitare startx. Il comando startx è un front-end per il comando xinit, il quale lancia il server XFree86 e connette ad esso le applicazioni dei client X. Poichè l'utente ha già eseguito il login nel sistema nel runlevel 3, startx non avvia il display manager o non effettua le autenticazioni degli utenti. Consultate la Sezione 7.5.2 per maggiori informazioni sui display manager.
Quando viene eseguito il comando startx, esso cerca un file .xinitrc nella home directory dell'utente per definire l'ambiente desktop e possibilmente altri client X da eseguire. Se non è presente alcun file .xinitrc, usa il file /etc/X11/xinit/xinitrc di default del sistema.
Lo script di default xinitrc cerca quindi i file definiti dall'utente e i file del sistema di default, includendo .Xresources, .Xmodmap e .Xkbmap nella home directory dell'utente, e i file Xresources, Xmodmap e Xkbmap nella directory /etc/X11. I file Xmodmap e Xkbmap, se presenti, sono usati dall'utility xmodmap per configurare la tastiera. Il file Xresources viene letto per assegnare valori di preferenza specifici alle applicazioni.
Una volta impostate queste opzioni, lo script xinitrc esegue gli script presenti in /etc/X11/xinit/xinitrc.d. Fra gli script più importanti contenuti in questa directory vi è xinput, che configura le impostazioni, per esempio la lingua di default da usare.
Successivamente, lo script xinitrc cerca di eseguire .Xclients nella home directory dell'utente, e si rivolge a /etc/X11/xinit/Xclients nel caso in cui il primo non fosse disponibile. Lo scopo del file Xclients è di avviare l'ambiente desktop o, se possibile, anche solo un window manager di base. Lo script .Xclients nella home directory dell'utente avvia l'ambiente desktop specificato dall'utente nel file .Xclients-default. Se .Xclients non è disponibile nella home directory dell'utente, lo script standard /etc/X11/xinit/Xclients cerca di avviare un altro ambiente desktop, prima con GNOME e successivamente con KDE seguito da twm.
L'utente viene riportato ad una sessione in modalitá di testo dopo aver effettuato il loggin out dal runlevel 3.
Quando il sistema effettua un avvio nel runlevel 5, viene lanciata un'applicazione speciale del client X chiamata display manager. Un utente deve effettuare l'autenticazione usando il display manager prima che venga lanciato un ambiente desktop oppure un window manager.
A seconda degli ambienti desktop installati sul vostro sistema Red Hat Linux, sono disponibili tre diversi display manager per la gestione dell'autenticazione utente.
gdm — Il display manager di default per Red Hat Enterprise Linux, gdm abilita l'utente a configurare le impostazioni della lingua, lo spegnimento, l'avvio o il login nel sistema.
kdm — Il display manager di KDE il quale abilita l'utente a spegnere, riavviare o alla registrazione nel sistema.
xdm — Un display manager di base che permette all'utente di effettuare solo una registrazione nel sistema.
Quando si effettua l'avvio nel runlevel 5, lo script prefdm determina il display manager preferito riferendosi al file /etc/sysconfig/desktop. Un elenco delle opzioni per questo file è disponibile all'interno del file /usr/share/doc/initscripts-<numero-versione>/sysconfig.txt (dove < numero-versione> è il numero della versione del pacchetto initscripts).
I display manager fanno riferimento al file /etc/X11/xdm/Xsetup_0 per impostare la schermata di registrazione. Effettuata la registrazione nel sistema, lo script /etc/X11/xdm/GiveConsole assegna all'utente la proprietà della console. Successivamente, lo script /etc/X11/xdm/Xsession entra in esecuzione per compiere molti dei compiti di cui si occupa in genere lo script xinitrc all'avvio di X nel runlevel 3, incluse le impostazioni del sistema e delle risorse utente, oltre all'esecuzione degli script nella directory /etc/X11/xinit/xinitrc.d.
I display manager gdm e kdm consentono agli utenti di specificare quale ambiente desktop utilizzare durante l'autenticazione, selezionandolo dal menu Sessioni (si puó accedere selezionando Pulsante menu principale [sul pannello] => Preferenze => Piú Preferenze => Sessioni). Se l'ambiente desktop non è specificato nel display manager, lo script /etc/X11/xdm/Xsession controlla i file .xsession e .Xclients nella home directory dell'utente, per decidere quale ambiente desktop deve essere caricato. Come ultima risorsa viene usato il file /etc/X11/xinit/Xclients per selezionare un ambiente desktop oppure un Window Manager da usare allo stesso modo del runlevel 3.
Quando l'utente termina una sessione X sul display predefinito (:0) ed effettua l'uscita, lo script /etc/X11/xdm/TakeConsole si avvia e assegna nuovamente la proprietà della console all'utente di root. Il display manager originale, che è rimasto operativo dopo la registrazione dell'utente, prende il controllo eseguendo lo spawn di un nuovo display manager. Questo riavvia il server XFree86, visualizza una nuova finestra di login e avvia ancora l'intero processo.
L'utente viene riportato al display manager dopo aver effettuato un logging out da X dal runlevel 5.
Per ulteriori informazioni relative al controllo del display manager sull'autenticazione utente, consultate /usr/share/doc/gdm-<version-number>/README (dove <version-number> é il numero della versione per il pacchetto gdm installato) e la pagina man xdm.