7.5. Niveles de ejecución y X

En la mayoría de los casos, la instalación por defecto de Red Hat Enterprise Linux configura una máquina para arrancar en un entorno de conexión gráfico, conocido como nivel de ejecución 5. Es posible, sin embargo, arrancar en el modo multiusuario de sólo texto llamado nivel de ejecución 3 y comenzar una sesión X desde allí.

Para más información sobre los niveles de ejecución, consulte la Sección 1.4.

Las siguientes subsecciones revisan cómo inicia X en los niveles de ejecución 3 y 5.

7.5.1. Nivel de ejecución 3

Cuando estamos en el nivel de ejecución 3, la forma habitual de iniciar una sesión X es escribiendo el comando startx. El comando startx es una interfaz del programa xinit el cual lanza el servidor X (Xorg) y conecta aplicaciones clientes X al mismo. Puesto que el usuario ya está conectado al sistema en el nivel de ejecución 3, startx no lanzará un gestor de visualización o autenticará al usuario. Refiérase a la Sección 7.5.2 para más información sobre los gestores de visualización.

Cuando startx comienza, busca un archivo .xinitrc en el directorio principal del usuario para definir el entorno de escritorio y posiblemente otras aplicaciones clientes X a ejecutar. Si este archivo .xinitrc no se encuentra, se utilizará el archivo por defecto /etc/X11/xinit/xinitrc.

El script por defecto xinitrc luego buscará por los archivos definidos por el usuario y archivos de sistema por defecto, incluyendo .Xresources, .Xmodmap y .Xkbmap en el directorio principal del usuario y Xresources, Xmodmap y Xkbmap en el directorio /etc/X11/. Si existen los archivos Xmodmap y Xkbmap, estos son usados por la utilidad xmodmap para configurar el teclado. El archivo Xresources es leído para asignar valores de preferencia específicos a las aplicaciones.

Después de configurar estas opciones, el script xinitrc ejecuta todos los scripts localizados en el directorio /etc/X11/xinit/xinitrc.d/. Un script muy importante en este directorio es xinput, el cual configura los parámetros tales como el idioma por defecto.

Luego, el script xinitrc intenta ejecutar .Xclients en el directorio principal del usuario y cambia a /etc/X11/xinit/Xclients si no lo puede encontrar. El propósito del archivo Xclients es arrancar el entorno de escritorio o posiblemente, sólo un gestor de ventanas básico. El script .Xclients en el directorio principal del usuario inicia el entorno de escritorio especificado por el usuario en el archivo .Xclients-default. Si .Xclients no existe en el directorio principal del usuario, el script estándar /etc/X11/init/Xclients intenta iniciar otro entorno de escritorio, intentando primero con GNOME y luego con KDE seguido por twm.

El usuario es devuelto a una sesión de modo texto después de desconectarse de X del nivel de ejecución 3.

7.5.2. Nivel de ejecución 5

Cuando el sistema arranca en el nivel de ejecución 5, se lanza una aplicación cliente de X especial, llamada un gestor de visualización. El usuario debe autenticarse usando el gestor de visualización antes de que se inicien cualquier entorno de escritorio o gestores de ventanas.

Dependiendo de los entornos de escritorio instalados en su máquina, están disponibles tres gestores de visualización diferentes para manejar la autenticación de los usuarios.

Cuando arranque en el nivel de ejecución 5, el script prefdm determina el gestor de visualización preferido haciendo referencia al archivo /etc/sysconfig/desktop. Refiérase al archivo /usr/share/doc/initscripts-<version-number>/sysconfig.txt (donde <version-number> es el número de la versión del paquete initscripts) para ver un listado de las opciones disponibles para este archivo.

Cada uno de los gestores de visualización hace referencia al archivo /etc/X11/xdm/Xsetup_0 para configurar la pantalla de conexión. Una vez que el usuario se conecte al sistema, el script /etc/X11/xdm/GiveConsole corre para asignar la propiedad de la consola al usuario. Luego, el script /etc/X11/xdm/Xsession se ejecuta para llevar a cabo muchas de las tareas que son normalmente realizadas por el script xinitrc cuando arranca X desde el nivel de ejecución 3, incluyendo la configuración del sistema y los recursos del usuario, así como también ejecutar los scripts en el directorio /etc/X11/xinit/xinitrc.d/.

El usuario puede especificar cuál entorno de escritorio desea utilizar cuando se autentican usando los gestores de visualización GNOME o KDE, seleccionándolo desde el menú Sesiones (accesado al seleccionar Botón de menú principal [en el Panel] => Preferencias => Más Preferencias => Sesiones). Si el entorno de escritorio no es especificado en el gestor de visualización, el script /etc/X11/xdm/Xsession verificará los archivos .xsession y .Xclients en el directorio principal del usuario para decidir cuál entorno de escritorio cargar. Como último recurso, se utiliza el archivo /etc/X11/xinit/Xclients para seleccionar un entorno de escritorio o gestor de ventanas para usarse de la misma forma que en el nivel de ejecución 3.

Cuando el usuario termina una sesión X en la visualización por defecto (:0) y se desconecta, el script /etc/X11/xdm/TakeConsole se ejecuta y vuelve a asignar la propiedad de la consola al usuario root. El gestor de visualización original, que continúa ejecutándose después que el usuario se conecta, toma el control liberando un nuevo gestor de visualización. Esto reinicia el servidor X, despliega una nueva ventana de conexión y reinicia el proceso completo otra vez.

El usuario es devuelto al gestor de visualización después de desconectarse de X desde el nivel de ejecución 5.

Para más información sobre cómo los gestores de visualización controlan la autenticación de los usuarios, consulte /usr/share/doc/gdm-<version-number>/README (donde <version-number> es el número de la versión para el paquete gdm instalado) y la página man de xdm.