98 Chapter 7. The X Window System7.4.2.2. Adding Fonts to xfsTo add fonts to the core X font subsystem (xfs), follow these steps:1. If it does not already exist, create a directory called /usr/share/fonts/local/ using thefollowing command as root:mkdir /usr/share/fonts/local/If creating the /usr/share/fonts/local/ directory is necessary, it must be added to thexfs path using the following command as root:chkfontpath --add /usr/share/fonts/local/2. Copy the new font file into the /usr/share/fonts/local/ directory3. Update the font information by issuing the following command as root:ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale4. Reload the xfs font server configuration file by issuing the following command as root:service xfs reload7.5. Runlevels and XFree86In most cases, the default installation of Red Hat Enterprise Linux configures a machine to boot intoa graphical login environment, known as runlevel 5. It is possible, however, to boot into the text-onlymulti-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.This section reviews how XFree86 starts up in both runlevel 3 and runlevel 5.7.5.1. Runlevel 3When in runlevel 3, the best way to start an X session is to log in and type startx. The startxcommand is a front-end to the xinit command, which launches the XFree86 server and connects Xclients applications to it. Because the user is already logged into the system at runlevel 3, startxdoes not launch a display manager or authenticate users. Refer to Section 7.5.2 Runlevel 5 for moreinformation about display managers.When the startx command is executed, it searches for a .xinitrc file in the user’s home directoryto define the desktop environment and possibly other X client applications to run. If no .xinitrc fileis 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 bythe xmodmap utility to configure the keyboard. The Xresources file is read to assign specificpreference 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, whichconfigures 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 startthe desktop environment or, possibly, just a basic window manager. The .Xclients script in theuser’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/Xclientsscript attempts to start another desktop environment, trying GNOME first and then KDE followed bytwm.