7.5. Runlevels and X
In most cases, the default installation of Red Hat Enterprise Linux configures a machine to boot into a graphical login environment, known as runlevel 5. It is possible, however, to boot into the text-only multi-user mode called runlevel 3 and begin an X session from there.
For more information about runlevels, refer to Section 1.4, “SysV Init Runlevels”.
The following subsections review how X starts up in both runlevel 3 and runlevel 5.
7.5.1. Runlevel 3
When in runlevel 3, the best way to start an X session is to log in and type
startx
. The startx
command is a front-end to the xinit
command, which launches the X server (Xorg
) and connects X client applications to it. Because the user is already logged into the system at runlevel 3, startx
does not launch a display manager or authenticate users. Refer to Section 7.5.2, “Runlevel 5” for more information about display managers.
When the
startx
command is executed, it searches for an .xinitrc
file in the user's home directory to define the desktop environment and possibly other X client applications to run. If no .xinitrc
file is present, it uses the system default /etc/X11/xinit/xinitrc
file instead.
The default
xinitrc
script then looks for user-defined files and default system files, including .Xresources
, .Xmodmap
, and .Xkbmap
in the user's home directory, and Xresources
, Xmodmap
, and Xkbmap
in the /etc/X11/
directory. The Xmodmap
and Xkbmap
files, if they exist, are used by the xmodmap
utility to configure the keyboard. The Xresources
file is read to assign specific preference values to applications.
After setting these options, the
xinitrc
script executes all scripts located in the /etc/X11/xinit/xinitrc.d/
directory. One important script in this directory is xinput
, which configures settings such as the default language.
Next, the
xinitrc
script tries to execute .Xclients
in the user's home directory and turns to /etc/X11/xinit/Xclients
if it cannot be found. The purpose of the Xclients
file is to start the desktop environment or, possibly, just a basic window manager. The .Xclients
script in the user's home directory starts the user-specified desktop environment in the .Xclients-default
file. If .Xclients
does not exist in the user's home directory, the standard /etc/X11/xinit/Xclients
script attempts to start another desktop environment, trying GNOME first and then KDE followed by twm
.
The user is returned to a text mode user session after logging out of X from runlevel 3.