Solaris CDE: Guía avanzada del usuario y del administrador del sistema

Gestión de pantallas locales y de red

La Figura 1-1 muestra una posible configuración del servidor de inicio de sesión.

Figura 1-1 Posible configuración del servidor de inicio de sesión

Graphic

Búsqueda del ID del proceso 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, copie Xconfig 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 escribiendo:

/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.

Cómo mostrar una pantalla de inicio de sesión en una pantalla local

Al empezar, 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 inicio de sesión 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 escribiendo:

/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: indica al servidor de inicio de sesión el 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 especificado en nombre_pantalla.

La línea de Xservers predeterminada es similar a:

:0 Local local@console /usr/bin/X11/X :0 

Ejecución del servidor de inicio de sesión sin pantalla local

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 un #, el signo de almohadilla. Por ejemplo,

# :0 Local local@console /usr/bin/X11/X :0

Cuando el servidor de inicio de sesión se inicia, se ejecuta en segundo plano en espera de las solicitudes de las pantallas de red.

Acceso al inicio de sesión por línea de comandos en una pantalla local

Cuando el usuario selecciona Inicio de sesión por línea de comandos, el servidor de inicio de sesión finaliza 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 después de un tiempo de espera especificado, el servidor de inicio de sesión reiniciará el servidor X.


Nota -

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 finaliza, 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 dispositivo_terminal_pantalla 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.


Nota -

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.


Uso de una consola de pantalla de caracteres

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.

Cómo mostrar una pantalla de inicio de sesión en una pantalla de red

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 concreta. 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.

Peticiones de XDMCP en modo directo desde pantallas de red

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

Peticiones de XDMCP en modo indirecto desde pantallas de red

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 XDMCP en modo indirecto, 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 XDMCP en modo indirecto.

Gestión de pantallas de red no XDMCP

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.

Ejemplo

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

Control de acceso al servidor de inicio de sesión

De forma 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 escribiendo:

/usr/dt/bin/dtconfig -reset

que genera el comando kill -HUP ID de proceso del servidor de inicio de sesión.

XDMCP directo

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 es un nombre de sistema que incluye los comodines * (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, desde cualquier sistema cuyo nombre de dominio completo termine por dept5.waterloo.com, y la última entrada prohíbe el acceso desde cualquier otro sistema.

XDMCP indirecto

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

De nuevo, la primera entrada permite el acceso al servidor de inicio de sesión desde el sistema amazon.waterloo.com, la segunda, 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