El Gestor de inicio de sesión es un servidor responsable de mostrar la pantalla de inicio de sesión, autentificar los usuarios e iniciar una sesión de usuario. El inicio de sesión gráfico es una alternativa atractiva al inicio de sesión tradicional en modo texto para pantallas de mapa de bits. Las pantallas gestionadas por el servidor de inicio de sesión pueden estar conectadas directamente a éste, o bien a una terminal o estación de trabajo X de red.
Para iniciar, detener o personalizar el servidor de inicio de sesión hay que ser usuario root.
El servidor de inicio de sesión:
Puede mostrar una pantalla de inicio de sesión en pantallas de mapa de bits, de manera incondicional o a petición, en pantallas de mapas de bits locales o de red
Acomoda pantallas de consola de caracteres directamente
Puede mostrar una pantalla de selección que permite a los usuarios mostrar pantallas de inicio de sesión de otros servidores de inicio de sesión en red
Permite el control de acceso al servidor de inicio de sesión
Proporciona acceso al inicio de sesión tradicional en modo texto.
Las pantallas gestionadas por el Gestor de inicio de sesión pueden estar directamente conectadas al servidor que ejecuta aquél o a un terminal o estación de trabajo X de red. Para pantallas locales, el servidor de inicio de sesión iniciará automáticamente un servidor X y mostrará una pantalla de inicio de sesión. En el caso de pantallas de red, el servidor de inicio de sesión admite el X Display Manager Protocol (XDMCP) 1.0, que permite a las pantallas solicitar que el servidor de inicio de sesión muestre una pantalla de inicio de sesión.
El servidor de inicio de sesión arranca normalmente al ejecutarse el sistema. También se puede iniciar desde una línea de comandos.
Para establecer que el servidor de inicio de sesión comience al arrancar el sistema, escriba /usr/dt/bin/dtconfig -e
Cuando se rearranque el sistema, el servidor de inicio de sesión se iniciará automáticamente.
Para obtener más información sobre la utilidad de configuración del escritorio, dtconfig, véase el Apéndice A. Le proporcionará una copia de la página de comando man dtconfig.1.
Para iniciar el servidor de inicio de sesión desde una línea de comandos, escriba /usr/dt/bin/dtlogin -daemon; exit
Aunque el arranque del servidor de inicio de sesión desde una línea de comandos está disponible para realizar pruebas de configuración temporales, es conveniente iniciar el servidor de inicio de sesión al arrancar el sistema.
La Figura 1-1 muestra una posible configuración del servidor de inicio de sesión.
De forma predeterminada, el servidor de inicio de sesión almacena su ID de proceso en /var/dt/Xpid.
Para cambiar esta ubicación, se puede configurar el recurso Dtlogin.pidFile del archivo Xconfig. Si se modifica, el directorio especificado debe existir cuando se inicia el servidor de inicio de sesión.
Para modificar Xconfig, cópielo desde /usr/dt/config a /etc/dt/config. Después de modificar /etc/dt/config/Xconfig, indique al servidor de inicio de sesión que vuelva a leer Xconfig; escriba:
/usr/dt/bin/dtconfig -reset
que emite el comando kill -HUP ID_de_proceso_de_servidor_de_inicio_de_sesión.
Por ejemplo, para almacenar el ID de proceso del servidor de inicio de sesión en /var/myservers/Dtpid, establezca en el archivo Xconfig:
Dtlogin.pidFile: /var/myservers/Dtpid
Cuando se reinicie, el servidor de inicio de sesión almacenará su ID de proceso en /var/myservers/Dtpid. El directorio /var/myservers debe existir al iniciar el servidor de inicio de sesión.
Durante el inicio, el servidor de inicio de sesión comprueba el archivo Xservers para determinar si necesita iniciarse un servidor X y para determinar si deben mostrarse pantallas de entrada al sistema en visualizaciones locales o de red y cómo deben mostrarse.
Para modificar Xservers, cópielo desde /usr/dt/config a /etc/dt/config. Después de modificar /etc/dt/config/Xservers, indique al servidor de inicio de sesión que vuelva a leer Xservers; escriba:
/usr/dt/bin/dtconfig -reset
que emite el comando kill -HUP ID_de_proceso_de_servidor_de_inicio_de_sesión.
El formato de una línea de Xservers es:
nombre_pantalla clase_pantalla tipo_pantalla comando_servidor_X
donde
nombre_pantalla: nombre de conexión que debe utilizar al conectarse al servidor X (:0 en el ejemplo siguiente). Un valor de * (asterisco) se expande a nombre_sistema:0. El número especificado debe coincidir con el especificado en el número de conexión en comando_servidor_X.
clase_pantalla: identifica los recursos específicos de esta pantalla (Local en el ejemplo siguiente).
tipo_pantalla: indica al servidor de inicio de sesión si la pantalla es local o de red, y cómo gestionar la opción Inicio de sesión por línea de comandos de la pantalla de inicio de sesión ( local@console en el ejemplo siguiente).
comando_servidor_X: identifica la línea de comandos, número de conexión y otras opciones que el servidor de inicio de sesión utilizará para iniciar el servidor X (/usr/bin/X11/X: 0 en el ejemplo siguiente). El número de conexión especificado debe coincidir con el definido en nombre_pantalla.
La línea de Xservers predeterminada es similar a:
:0 Local local@console /usr/bin/X11/X :0
Si su sistema servidor de inicio de sesión no tiene una pantalla de mapa de bits, ejecútelo sin una visualización local creando un comentario para la línea de Xservers de la visualización local mediante el signo #. Por ejemplo,
# :0 Local local@console /usr/bin/X11/X :0
Cuando el servidor de inicio de sesión arranca, se ejecuta en segundo plano en espera de las solicitudes de las pantallas de red.
Cuando el usuario selecciona Inicio de sesión por línea de comandos, el servidor de inicio de sesión termina temporalmente el servidor X, para permitir el acceso al inicio de sesión por línea de comandos tradicional que se ejecuta en el dispositivo terminal de pantalla de mapa de bits. Después que el usuario haya iniciado y terminado posteriormente la sesión, o tras un tiempo de espera especificado, el servidor de inicio de sesión reiniciará el servidor X.
La opción Inicio de sesión por línea de comandos no está disponible para las pantallas en red.
El tipo_pantalla controla el comportamiento del Inicio de sesión por línea de comandos. El formato de tipo_pantalla es:
Cuando se especifica local@dispositivo_terminal_pantalla, el servidor de inicio de sesión asume que el servidor X y /dev/dispositivo_terminal_pantalla están en el mismo dispositivo físico y que se está ejecutando un inicio de sesión por línea de comandos (habitualmente getty) en él. Si el usuario selecciona Inicio de sesión por línea de comandos, el servidor X termina, para permitir el acceso al inicio de sesión por línea de comandos ( getty) que se está ejecutando en /dev/dispositivo_terminal_pantalla.
Para inhabilitar la opción Inicio de sesión por línea de comandos, especifique none como dispositivo_terminal_pantalla. El predeterminado es console, que es el que se toma cuando se especifica local. Si se especifica foreign, se inhabilita Inicio de sesión por línea de comandos.
La opción Inicio de sesión por línea de comandos queda inhabilitada en la pantalla local cuando se inicia el servidor de inicio de sesión desde la línea de comandos.
Si el sistema del servidor de inicio de sesión tiene conectada una pantalla de caracteres directamente que sirve de consola, también es conveniente establecer el dispositivo_terminal_pantalla en none para inhabilitar Inicio de sesión por línea de comandos en la pantalla de inicio de sesión de la pantalla de mapa de bits.
Como alternativa, si se está ejecutando un inicio de sesión por línea de comandos (getty), tanto en la consola de pantalla de caracteres como en la pantalla de mapa de bits, puede cambiar el dispositivo_terminal_pantalla por el dispositivo de inicio de sesión por línea de comandos (getty) en la pantalla de mapa de bits.
Por ejemplo, si el inicio de sesión por línea de comandos (getty) de la pantalla de mapa de bits está en el dispositivo /dev/tty01, cambie el tipo_pantalla a local@tty01.
El servidor de inicio de sesión puede aceptar peticiones de pantallas de red para mostrar la pantalla de inicio de sesión en una pantalla determinada. La pantalla de red suele ser un terminal X, pero también puede ser una estación de trabajo.
Para gestionar las peticiones de las pantallas de red, el servidor de inicio de sesión admite el X Display Manager Protocol (XDMCP) 1.0, que permite al servidor de inicio de sesión negociar y aceptar o rechazar peticiones de las pantallas de red. La mayoría de los terminales X incorporan XDMCP.
Cuando se configura un terminal X para utilizar XDMCP directo (modo consulta), se le indica al terminal X el nombre del sistema que ejecuta el servidor de inicio de sesión. Al arrancar el terminal X, éste contacta automáticamente con el servidor de inicio de sesión, que muestra una pantalla de inicio de sesión en el terminal X. Para obtener información sobre cómo configurar el terminal X para XDCMP en modo directo, consulte la documentación del terminal X.
La mayoría de servidores X admiten también la opción -query . En este modo, el servidor X se comporta como si fuera un terminal X, poniéndose en contacto con el sistema del servidor de inicio de sesión directamente y solicitando que muestre una pantalla de inicio de sesión en el servidor X. Por ejemplo, si se inicia el servidor X en una pantalla de mapa de bits de la estación de trabajo bridget el servidor de inicio de sesión anita mostrará una pantalla de inicio de sesión en el servidor X:
X -query anita
Cuando se configura el terminal X para utilizar XDMCP en modo indirecto, se le indica el nombre del sistema del servidor de inicio de sesión. Al arrancar el terminal X, se pondrá en contacto con el servidor de inicio de sesión, que mostrará, en una pantalla de selección, una lista de otros sistemas de servidores de inicio de sesión de la red. En esta lista el usuario puede seleccionar un sistema, y éste mostrará en el terminal X del usuario una pantalla de inicio de sesión. Para obtener información sobre cómo configurar el terminal X para el modo indirecto de XDMCP, consulte la documentación de su terminal X.
Igual que en el modo directo, la mayoría de servidores X admiten la opción -indirect, que hace que el servidor X se ponga en contacto con el servidor de inicio de sesión en modo XDMCP indirecto.
Es posible que los terminales X más antiguos no admitan XDMCP. Para que el servidor de inicio de sesión muestre una pantalla de inicio de sesión en un terminal X de este tipo, incluya el nombre del terminal X en el archivo Xservers.
Como la pantalla está en la red, nombre_pantalla incluye el nombre del sistema como parte de su nombre. Se puede utilizar clase_pantalla para especificar los recursos específicos de una clase concreta de terminales X (la documentación de su terminal X debe informarle de la clase de pantalla de su terminal). Un tipo_pantalla de foreign indica al servidor de inicio de sesión que se conecte a un servidor X existente, en vez de iniciar uno propio. En este caso no se especifica comando_servidor_X.
Las siguientes líneas del archivo Xservers indican al servidor de inicio de sesión que muestre una pantalla de inicio de sesión en dos terminales X no XDMCP, ruby y wolfie:
ruby.blackdog.com:0 AcmeXsta foreign wolfie:0 PandaCo foreign
De manera predeterminada, cualquier sistema de red que tenga acceso al sistema del servidor de inicio de sesión puede solicitar que se muestre una pantalla de inicio de sesión. Puede limitar el acceso al servidor de inicio de sesión modificando el archivo Xaccess.
Para modificar Xaccess, cópielo desde /usr/dt/config a /etc/dt/config. Después de modificar /etc/dt/config/Xaccess, indique al servidor de inicio de sesión que vuelva a leer Xaccess; escriba:
/usr/dt/bin/dtconfig -reset
que emite el comando kill -HUP ID_de_proceso_del_servidor_de_inicio_de_sesión.
Cuando un sistema intenta conectarse al servidor de inicio de sesión mediante XDMCP directo, se compara su nombre con las entradas en Xaccess para determinar si se le permite acceder al servidor de inicio de sesión. Cada entrada de Xaccess consiste en un nombre de sistema, incluidos los caracteres comodín * (asterisco) y ? (interrogante). Un * (asterisco) coincide con cero o más caracteres y un ? (interrogante) coincide con cualquier carácter individual. Una ! (exclamación) al principio de una entrada prohíbe el acceso, mientras que, si no hay ningún signo, el acceso está permitido.
Por ejemplo, imaginemos que Xaccess contiene las tres entradas siguientes:
amazon.waterloo.com *.dept5.waterloo.com !*
La primera entrada permite el acceso al servidor de inicio de sesión desde el sistema amazon.waterloo.com, la segunda permite el acceso a cualquier sistema cuyo nombre de dominio completo termine por dept5.waterloo.com y la última entrada prohíbe el acceso desde cualquier otro sistema.
Cuando un sistema intenta conectarse al servidor de inicio de sesión mediante XDMCP indirecto, se compara su nombre con las entradas en Xaccess para determinar si se le permite acceder al servidor de inicio de sesión. Cada entrada de Xaccess es similar a las entradas para XDMCP directo, incluidos los comodines, con la excepción de que cada entrada está marcada con una cadena CHOOSER. Por ejemplo:
amazon.waterloo.com CHOOSER BROADCAST *.dept5.waterloo.com CHOOSER BROADCAST !* CHOOSER BROADCAST
También, la primera entrada permite el acceso al servidor de inicio de sesión desde el sistema amazon.waterloo.com, la segunda permite acceso desde cualquier sistema cuyo nombre de dominio completo termine por dept5.waterloo.com y la última prohíbe el acceso desde cualquier otro sistema.
Después de CHOOSER puede aparecer uno de los siguientes elementos:
BROADCAST indica al servidor de inicio de sesión que difunda en la subred del servidor de inicio de sesión que se genere una lista de servidores de inicio de sesión disponibles. Una lista de nombres de sistemas indica al servidor de inicio de sesión que utilice esa lista como lista de sistemas de inicio de sesión disponibles. Por ejemplo:
amazon.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com *.dept5.waterloo.com CHOOSER BROADCAST !* CHOOSER BROADCAST
Si amazon.waterloo.com se conecta mediante XDMCP indirecto, se mostrará una lista que contendrá shoal y alum. Si se conecta alice.dept5.waterloo.com, se mostrará una lista de todos los sistemas de servidor de inicio de sesión disponibles, en la subred del servidor de inicio de sesión. Se rechazarán otras peticiones de XDMCP indirecto.
En lugar de especificar una lista de nombres de sistema, se puede definir una o más macros que contengan la lista de nombres de sistema. Por ejemplo:
%list1 shoal.waterloo.com alum.waterloo.com amazon.waterloo.com CHOOSER %list1
De manera predeterminada, el servidor de inicio de sesión registra los errores en el archivo /var/dt/Xerrors. Para cambiar esta ubicación, se puede configurar el recurso Dtlogin.errorLogFile del archivo Xconfig. El directorio especificado debe existir al iniciar el servidor de inicio de sesión.
Por ejemplo, para que el servidor de inicio de sesión registre los errores en el archivo /var/mylogs/Dterrors en el archivo Xconfig establezca:
Dtlogin.errorLogFile: /var/mylogs/Dterrors
Cuando se reinicie el servidor de inicio de sesión, éste registrará los errores en el archivo /var/mylogs/Dterrors. El directorio /var/mylogs debe existir al iniciar el servidor de inicio de sesión.
Para inhabilitar el arranque del servidor de inicio de sesión cuando se arranca el sistema, escriba:
/usr/dt/bin/dtconfig -d
Así indica al sistema que no inicie el servidor de inicio de sesión en el próximo arranque.
Para detener el servidor de inicio de sesión finalizando su ID de proceso, escriba:
/usr/dt/bin/dtconfig -kill
Así emite el comando kill ID_de_proceso_del_servidor_de_inicio_de_sesión)
Si se finaliza el proceso del servidor de inicio de sesión, terminan todas las sesiones de usuario que él gestiona.
También se puede detener el servidor de inicio de sesión finalizando el ID de proceso. El ID del proceso del servidor de inicio de sesión se almacena en /var/dt/Xpid o en el archivo especificado en Xconfig por el recurso Dtlogin.pidFile.
Si se ha conectado al escritorio en el momento en que se cancela el servidor de inicio de sesión, la sesión de escritorio terminará inmediatamente.
La pantalla de inicio de sesión que muestra el servidor de inicio de sesión es una alternativa a la pantalla de inicio de sesión en modo texto atractiva y que ofrece más capacidades que ésta.
Al igual que sucede con el inicio de sesión en modo texto, el usuario escribe un nombre de usuario seguido de una contraseña. Si se autentifican, el servidor de inicio de sesión inicia una sesión de escritorio para el usuario. Cuando éste sale de la sesión de escritorio, el servidor de inicio de sesión muestra una nueva pantalla de inicio de sesión, y el proceso empieza de nuevo.
Para personalizar la pantalla de inicio de sesión, puede:
Cambiar el aspecto de la pantalla de inicio de sesión
Configurar la autorización del servidor X
Cambiar el idioma predeterminado
Emitir comandos antes de mostrar la pantalla de inicio de sesión
Cambiar el contenido del menú Idioma de la pantalla de inicio de sesión
Especificar el comando para iniciar la sesión del usuario
Emitir comandos antes de que se inicie la sesión de escritorio del usuario
Emitir comandos después de que finalice la sesión del usuario
Cada una de estas acciones se puede realizar para todas las pantallas o para una pantalla cada vez.
Para personalizar la pantalla de inicio de sesión, se puede cambiar el logotipo o el gráfico, los mensajes de bienvenida y las fuentes.
Para modificar Xresources, cópielo de /usr/dt/config/idioma a /etc/dt/config/idioma. La pantalla de inicio de sesión reflejará los cambios la próxima vez que se muestre. Para forzar que se vuelva a mostrar una pantalla de inicio de sesión, seleccione Restablecer pantalla de inicio de sesión en el menú Opciones de la pantalla de inicio de sesión.
Los atributos de la pantalla de inicio de sesión que pueden determinarse mediante especificaciones de recursos en el archivo Xresources incluyen:
Dtlogin*logo*bitmapFile. Archivo de mapa de bits o de mapa de píxels para mostrar la imagen de logotipo
Dtlogin*greeting*persLabelString. Mensaje de bienvenida personalizado.
Dtlogin*greeting*labelString. Mensaje de bienvenida
Dtlogin*greeting*fontList. Fuente para los mensajes de bienvenida
Dtlogin*labelFont. Fuente para los botones y etiquetas
Dtlogin*textFont. Fuente para los mensajes de ayuda y error
Dtlogin*idioma*languageName. Texto alternativo para el entorno nacional idioma
Establezca el recurso Dtlogin*logo*bitmapFile en Xresources.
El logotipo puede ser un archivo de mapa de píxels en color o de mapa de bits.
El siguiente ejemplo utiliza el mapa de bits Milogo como logotipo:
Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Milogo.bm
De forma predeterminada, el servidor de inicio de sesión muestra el mensaje Bienvenidos a nombre_sistema en la pantalla de inicio de sesión. Para cambiar este mensaje:
Establezca el recurso Dtlogin*greeting*labelString en Xresources.
El valor del recurso labelString puede contener %Sistema Local%, que se sustituirá por el nombre del sistema del servidor de inicio de sesión, y % Nombre Pantalla%, que se sustituirá por el nombre de la pantalla del servidor X.
El siguiente ejemplo cambia el mensaje de bienvenida por ¡Aquí está nombre_sistema!:
Dtlogin*greeting*labelString: ¡Aquí está %Sistema Local%!
Una vez entrado el nombre de usuario, el servidor de inicio de sesión muestra el mensaje predeterminado Bienvenido nombre_usuario. Se puede cambiar el mensaje estableciendo el recurso Dtlogin*greeting*persLabelString en Xresources. El valor de persLabelString puede contener %s, que se sustituirá por el nombre de usuario.
El siguiente ejemplo cambia el mensaje de bienvenida personalizado por Hola nombreusuario.
Dtlogin*greeting*persLabelString: Hola %s
Puede cambiar las fuentes utilizadas en la pantalla de inicio de sesión estableciendo uno de los siguientes recursos de fuente en Xresources:
Dtlogin*greeting*fontList: fuente para mensajes de bienvenida
Dtlogin*labelFont: fuente para etiquetas y botones de acción
Dtlogin*textFont: fuente para mensajes de ayuda y error
Para ver una lista de las fuentes disponibles, escriba:
xlsfonts [-opciones] [-fn patrón]
El siguiente ejemplo utiliza una fuente grande para el mensaje de bienvenida (el valor especificado debe estar contenido en una sola línea):
Dtlogin*greeting*fontList: -dt-interface \ system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:
Para mostrar texto dependiente del entorno nacional en el menú Idioma de la pantalla de inicio de sesión, en lugar del nombre de entorno nacional predeterminado, modifique el recurso Dtlogin*idioma*languageName en Xresources:
Dtlogin*Es_ES*languageName: Español
Ahora se mostrará el texto Español en lugar del nombre de entorno nacional Es_ES.
Para personalizar el comportamiento de la pantalla de inicio de sesión, se pueden modificar algunos de los recursos especificados en el archivo Xconfig.
Para modificar Xconfig, cópielo desde /usr/dt/config a /etc/dt/config. Después de modificar /etc/dt/config/Xconfig, indique al servidor de inicio de sesión que vuelva a leer Xconfig: escriba:
/usr/dt/bin/dtconfig -reset
que emite el comando kill -HUP ID de proceso del servidor de inicio de sesión)
Los recursos especificados en el archivo Xconfig incluyen:
Dtlogin*authorize: especificación del archivo Xaccess
Dtlogin*environment: entorno del servidor X
Dtlogin*language: idioma predeterminado
Dtlogin*languageList: lista de idiomas para el menú Idioma de la pantalla de inicio de sesión
Dtlogin*resources: especificación de Xresources
Dtlogin*setup: especificación del archivo Xsetup
Dtlogin*startup: especificación del archivo Xstartup
Dtlogin*session: especificación del archivo Xsession
Dtlogin*failsafeClient: especificación de la secuencia de comando Xfailsafe
Dtlogin*reset: especificación de la secuencia de comando Xreset
Dtlogin*userPath: ruta de acceso para Xsession y Xfailsafe
Dtlogin*systemPath: ruta de acceso para Xsetup, Xstartup y Xfailsafe
Dtlogin*systemShell: shell para Xsetup, Xstartup y Xfailsafe
Dtlogin.timeZone: zona horaria para todas las secuencias de comando
En los ejemplos siguientes, el cambio de un recurso de Xconfig cambia el comportamiento de la pantalla de inicio de sesión para todas las pantallas. Los recursos mostrados con un * (asterisco) pueden especificarse para cada pantalla, lo cual permite especificar un comportamiento personalizado de la pantalla de inicio de sesión para pantallas determinadas. Un recurso para una pantalla concreta se debe especificar como Dtlogin*nombre_pantalla*recurso. Por ejemplo, si quisiera desactivar el control de acceso basado en el usuario para la pantalla expo:0 pero dejarlo activado para las demás pantallas, debería especificar:
Dtlogin*expo_0*authorize: False
Todos los caracteres especiales del nombre de la pantalla, por ejemplo : (dos puntos) o . (punto), se sustituyen por _ (subrayado).
De manera predeterminada, el Gestor de inicio de sesión permite un control de acceso al servidor X basado en usuario, de acuerdo con los datos de autorización almacenados y protegidos en el archivo DirectorioInicio/.Xauthority. Únicamente se permite conectar con el servidor X a los usuarios que puedan leer este archivo. Generalmente, es el método preferido de control de acceso al servidor X.
Una alternativa al control de acceso basado en el usuario es el que se basa en el sistema. Con este método, si a un sistema se le permite acceder al servidor X, cualquier usuario de ese sistema puede también conectarse con el servidor X. Entre las razones para utilizar el control basado en el sistema se incluyen:
Los clientes X R2 y R3 antiguos no pueden conectarse a un servidor X mediante el control de acceso basado en el usuario.
En redes no protegidas, es posible que un curioso pueda interceptar los datos de autorización entre el cliente X y el servidor X en la red.
El recurso Xconfig Dtlogin*authorize indica al servidor de inicio de sesión que utilice el control de acceso al servidor X basado en usuarios. Para utilizar el control de acceso basado en el sistema, cambie el valor del recurso de autorización a False; por ejemplo:
Dtlogin*authorize: False
Si desea dotar al servidor X de una o más variables de entorno y valores cuando lo inicie el servidor de inicio de sesión, puede especificarlos mediante el recurso Dtlogin*environment en Xconfig. Por ejemplo:
Dtlogin*environment: VAR1=foo VAR2=bar
dejará disponibles las variables VAR1 y VAR2 para el proceso local del servidor X. Asimismo, estas variables se exportarán a las secuencias de comandos Xsession y Xfailsafe.
Cuando el usuario inicia la sesión de escritorio desde la pantalla de inicio de sesión, la sesión de usuario se ejecuta según el entorno nacional seleccionado en el submenú Idioma del menú Opciones. Si el usuario no selecciona un idioma, se utiliza el predeterminado del servidor de inicio de sesión, que se puede controlar estableciendo el recurso Dtlogin*language en Xconfig. Por ejemplo:
Dtlogin*language: Ja_JP
Consulte la documentación de su sistema para determinar los idiomas instalados en él.
De manera predeterminada, el servidor de inicio de sesión crea un menú Idioma de la pantalla de inicio de sesión que contiene una lista de todos los entornos nacionales instalados en el sistema. Cuando el usuario selecciona un entorno nacional, el servidor de inicio de sesión vuelve a mostrar la pantalla de inicio de sesión en el entorno nacional seleccionado. Cuando el usuario inicia la sesión, el servidor de inicio de sesión iniciará una sesión de escritorio para el usuario en ese entorno nacional.
Se puede especificar una lista propia de idiomas modificando el recurso Dtlogin*languageList en Xconfig:
Dtlogin*languageList: En_US De_DE
El servidor de inicio de sesión mostrará ahora únicamente En_US y De_DE en el menú Idioma de la pantalla de inicio de sesión.
Una vez iniciado el servidor de X, pero antes de que aparezca la pantalla de inicio de sesión, el servidor de inicio de sesión ejecuta la secuencia de comando Xsetup, que se ejecuta con autorización de root, y emite los comandos que deben ejecutarse antes de la aparición de la pantalla de inicio de sesión.
Para modificar Xsetup, cópielo desde /usr/dt/config a /etc/dt/config. La próxima vez que se muestre la pantalla de inicio de sesión se ejecutará la secuencia de comando Xsetup modificada.
Una vez el usuario ha escrito su nombre y contraseña y éstos se han autentificado, pero antes de que se inicie la sesión de usuario, el servidor de inicio de sesión ejecuta la secuencia de comando Xstartup, con autorización de root, y emite comandos que es necesario ejecutar como usuario root antes del inicio de la sesión de usuario.
Para modificar Xstartup, cópielo desde /usr/dt/config a /etc/dt/config. La próxima vez que el usuario inicie una sesión, se ejecutará el Xstartup modificado.
De manera predeterminada, el servidor de inicio de sesión inicia la sesión de usuario gracias a la secuencia de comando Xsession, que se ejecuta con la autorización del usuario y emite comandos necesarios para iniciar el escritorio.
No actualice directamente la secuencia de comando Xsession.
Véase Capítulo 2 para obtener información sobre cómo personalizar el inicio de sesión de escritorio del usuario.
Si el usuario selecciona Sesión a prueba de fallos desde el submenú Sesión del menú Opciones de la pantalla de inicio de sesión, el servidor de inicio de sesión ejecuta la secuencia Xfailsafe con la autorización del usuario, y emite los comandos necesarios para iniciar un entorno de ventanas mínimo, generalmente una ventana Terminal y opcionalmente un gestor de ventanas.
Para modificar Xfailsafe, cópielo desde /usr/dt/config a /etc/dt/config. La próxima vez que el usuario inicie una sesión, se ejecutará el Xfailsafe modificado.
Cuando el usuario ha salido de la sesión de escritorio o de a prueba de fallos, el servidor de inicio de sesión ejecuta la secuencia de comando Xreset, con autorización de root, y emite los comandos que es necesario ejecutar después de finalizar la sesión de usuario.
Si desea modificar Xreset, cópielo de /usr/dt/config a /etc/dt/config. La próxima vez que el usuario finalice la sesión, se ejecutará la secuencia de comando Xreset modificada.
El servidor de inicio de sesión proporciona un entorno que exporta las secuencias de comandos Xsetup, Xstartup, Xsession, Xfailsafe y Xreset. Este entorno se describe en la Tabla 1–1. El servidor de inicio de sesión puede también exportar variables adicionales.
Tabla 1–1 Entornos del servidor de inicio de sesión
Variable de entorno |
Xsetup |
Xstartup |
Xsession |
Xreset |
Descripción |
---|---|---|---|---|---|
X |
X |
X |
X |
Idioma predeterminado o seleccionado |
|
X |
X |
X |
X |
Archivo de autorizaciones X alternativo (opcional) |
|
X |
X |
X |
X |
Valor del recurso Dtlogin*userPath (Xsession, Xfailsafe) o del recurso Dtlogin*systemPath (Xsetup, Xstartup, Xreset) |
|
X |
X |
X |
X |
Número de conexiones del servidor X |
|
X |
X |
X |
X |
Shell especificado en /etc/passwd (Xsession, Xfailsafe) o en el recurso Dtlogin*systemShell (Xsetup, Xstartup, Xreset) |
|
X |
X |
X |
X |
Valor del recurso Dtlogin.timeZone o zona horaria determinada desde el sistema |
|
|
X |
X |
X |
Nombre de usuario |
|
|
X |
X |
X |
Directorio de inicio especificado en /etc/passwd |
|
|
X |
X |
X |
Nombre de usuario |
El servidor de inicio de sesión establece la variable de entorno PATH al ejecutar las secuencias de comandos Xsession y Xfailsafe. Se puede proporcionar una ruta alternativa a la de estas secuencias de comandos.
Dtlogin*userPath: /usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
El servidor de inicio de sesión establece la variable de entorno SHELL cuando ejecuta las secuencias Xsetup, Xstartup y Xfailsafe. El valor predeterminado es /bin/sh. Si desea proporcionar un shell alternativo al de estas secuencias de comandos, puede establecer el recurso Dtlogin*systemShell en Xconfig. Por ejemplo:
Dtlogin*systemShell: /bin/ksh
El servidor de inicio de sesión establece la variable de entorno TZ al ejecutar las secuencias de comandos Xsetup, Xstartup, Xsession, Xfailsafe y Xreset. El valor predeterminado procede del sistema, de modo que en general no será necesario cambiar este comportamiento. Para proporcionar una zona horaria alternativa a la de estas secuencias de comandos, establezca el recurso Dtlogin.timeZone en Xconfig. Por ejemplo:
Dtlogin.timeZone: CST6CDT
Al iniciarse el servidor de inicio de sesión, arranca un proceso dtlogin, que lee el archivo Xconfig para determinar la configuración inicial del servidor de inicio de sesión y localizar otros archivos de configuración del servidor de inicio de sesión. Después, el servidor de inicio de sesión lee los archivos Xservers, para ver si contiene pantallas que haya que gestionar de forma explícita, y Xaccess, para controlar el acceso al servidor de inicio de sesión.
Si el servidor de inicio de sesión descubre en el archivo Xservers que debe gestionar alguna pantalla local, iniciará un servidor X según se indique en el archivo Xservers y luego mostrará una pantalla de inicio de sesión en esa pantalla.
Si el servidor de inicio de sesión descubre en el archivo Xservers que debe gestionar una pantalla de red, supondrá que ya se está ejecutando un servidor X con el nombre de la pantalla especificada y mostrará una pantalla de inicio de sesión en dicha pantalla.
Luego, el servidor de inicio de sesión esperará peticiones XDMCP de la red.
Para cada una de las pantallas gestionadas, el servidor de inicio de sesión crea primero un nuevo proceso dtlogin para la pantalla en cuestión. Esto significa que, si el servidor de inicio de sesión está gestionando n pantallas, habrá n+1 procesos dtlogin. El servidor de inicio de sesión ejecutará la secuencia de comando Xsetup, cargará el archivo Xresources y luego ejecutará dtgreet para mostrar la pantalla de inicio de sesión. Una vez el usuario haya introducido un nombre y una contraseña y haya sido autentificado, el servidor de inicio de sesión ejecutará la secuencia Xstartup y luego la secuencia Xsession o Xfailsafe. Finalizada la sesión, el servidor de inicio de sesión ejecutará la secuencia de comando Xreset.
Si el servidor de inicio de sesión recibe una petición de XDMCP indirecto, ejecutará dtchooser para mostrar en la pantalla una lista de sistemas de servidores de inicio de sesión. Cuando el usuario seleccione un sistema de la lista, el servidor de inicio de sesión de dicho sistema gestionará la pantalla.
En el caso de los archivos de configuración Xaccess, Xconfig, Xfailsafe, Xreset, language/Xresources, Xservers, Xsetup y Xstartup, el servidor de inicio de sesión buscará primero de modo predeterminado en /etc/dt/config y luego en /usr/dt/config, y utilizará el primer archivo que encuentre.
Las ubicaciones predeterminadas de los archivos del Gestor de inicio de sesión son:
/usr/dt/bin/dtlogin: el servidor de inicio de sesión y el gestor de pantallas
/usr/dt/bin/dtgreet: muestra una pantalla de inicio de sesión en una pantalla
/usr/dt/bin/dtchooser: muestra una pantalla de selección en una pantalla
/usr/dt/bin/Xsession: inicia una sesión de escritorio
/usr/dt/config/Xfailsafe: inicia una sesión a prueba de fallos
/usr/dt/config/Xconfig: archivo de configuración del servidor de inicio de sesión
/usr/dt/config/Xservers: archivo de descripción de pantalla del servidor de inicio de sesión
/usr/dt/config/Xaccess: archivo de descripción de acceso al servidor de inicio de sesión
/usr/dt/config/idioma/Xresources: recursos de disposición de pantalla
/usr/dt/config/Xsetup: archivo de configuración de pantalla
/usr/dt/config/Xstartup: archivo de arranque previo a la sesión
/usr/dt/config/Xreset: archivo de restablecimiento posterior a la sesión
/var/dt/Xpid: ID de proceso del servidor de inicio de sesión
/var/dt/Xerrors: archivo de registro de errores del servidor de inicio de sesión