- X Display Manager
-
En el X Window System, un X Display Manager (XDM) o gestor de pantalla X es una parte opcional del sistema X Window que permite comenzar una sesión sobre un servidor X desde la misma u otra computadora. Un gestor de pantalla presenta al usuario con una pantalla de autenticación (login) que solicita el nombre de usuario y su contraseña. Una sesión comienza cuando el usuario entra con éxito una combinación válida de nombre de usuario y contraseña.
Cuando el gestor de pantalla corre en la computadora del usuario, inicia el servidor X antes de presentar al usuario la pantalla de login (autentificación), opcionalmente repitiendo esto cuando el usuario cierra la sesión (logs out). En esta condición, el gestor de pantalla realiza en el X Window System la funcionalidad del init, getty y autentifica al usuario en el terminal en modo de caracteres. Cuando el gestor de pantalla corre en una computadora remota, actúa como un servidor de telnet, solicitando el nombre de usuario y la contraseña y comenzando una sesión remota.
Piense en XDM como proveedor de la misma funcionalidad que la utilidad getty(8). Esto quiere decir que se encarga de los ingresos del sistema en la pantalla a la que está conectado y arranca el gestor de sesiones para el usuario (normalmente un gestor de ventanas X). XDM entonces espera a que este programa termine, señalando que el usuario ha terminado y que se debería desconectar de la pantalla. En este punto XDM puede mostrar las pantallas de entrada al sistema y de selección de pantalla para que el siguiente usuario intente acceder al sistema.
Esto es útil para diferentes situaciones tales como "Terminales X" con escritorios mínimos y grandes servidores de red (LTSP, cliente liviano). Como X Window System es independiente del protocolo y de la red hay muchas posibles configuraciones para ejecutar clientes y servidores X en diferentes equipos conectados a una red. XDM da una interfaz gráfica para elegir a qué pantalla se quiere conectar y solicitar la información de autenticación, como el nombre de usuario y le contraseña.
También es útil para múltiples usuarios trabajando con un mismo computador (configuración multiseat), en donde cada usuario tiene su propio pantalla, teclado y ratón, y comparten los recursos del computador, como el CPU, la tarjeta madre, la memoria RAM, el disco duro, etc., abaratando significativamente los costos.
Contenido
Historia
El X11 Release 3 introdujo los gestores de pantallade X Window (XDM) en octubre de 1988, dirigido a soportar los equipos de terminales X que por entonces apenas comenzaban a entrar en el mercado. Esta versión sufrió de varios problemas, notablemente cuando los usuarios apagaban y encendían los terminales X. En el X11R3, el XDM sólo sabía sobre un terminal X por figurar en el archivo Xservers, pero XDM sólo consultaba este archivo cuando se iniciaba. Así, cada vez que un usuario encendía y apagaba un terminal, el administrador de sistema tenía que enviar una señal SIGHUP a XDM para que releyese el archivo Xservers.
La introducción del X11R4 en diciembre de 1989 para corregir problemas en la implementación del X11R3L trajo consigo el protocolo XDMCP. Con XDMCP, el servidor X debe activamente solicitar del anfitrión una conexión de gestor de pantalla. Por lo tanto, para un servidor X usando XDMCP no hace falta más que una entrada en Xservers.
Gestión de pantalla local y remota
Un gestor de pantalla puede correr en la misma computadora donde el usuario está sentado o en otro computador remotamente. En el primer caso, el gestor de pantalla inicia uno o más servidores X, exhibiendo la pantalla de login al principio y (opcionalmente) cada vez que el usuario logs out (cierra sesión). En el segundo caso, el gestor de pantalla trabaja según el protocolo XDMCP.
El protocolo XDMCP ordena que el servidor X se inicie autónomamente y se conecte con el gestor de pantalla. En el paradigma del X Window System, el servidor corre en la computadora que proporciona los dispositivos de exhibición (pantalla) y de entrada (teclado y ratón). Un servidor se puede conectar, usando el protocolo XDMCP, a un gestor de pantalla corriendo en otra computadora, solicitando a éste que comience la sesión. En este caso, el servidor X actúa como cliente gráfico de telnet mientras que el gestor de pantalla actúa como un servidor del telnet: los usuarios inician programas de la computadora que corre el gestor de pantalla, mientras que su entrada y salida ocurren en la computadora donde el servidor (y el usuario) se sienta.
Un administrador puede configurar un servidor X corriendo en el computador o el terminal de usuario usado, o para conectarse con un gestor específico de pantalla, o para mostrar una lista de convenientes anfitriones (hosts) corriendo potenciales gestores de pantalla X. Un programa seleccionador de XDMCP (XDMCP Chooser) permite al usuario seleccionar un anfitrión entre los que el terminal puede conectarse:
- una lista predefinida de anfitriones y de sus respectivas direcciones de red;
- una lista de anfitriones (en el subnet local del TCP/IP) que el servidor XDMCP a su vez obtiene por un broadcast de la red
El servidor XDMCP a menudo se presentará en esta lista. Cuando el usuario selecciona un anfitrión de la lista, el servidor X corriendo en la máquina local se conectará con el gestor de pantalla X de la computadora remota seleccionada.
protocolo de control del gestor de pantalla X
El protocolo de control del gestor de pantalla X utiliza el puerto UDP 177. Un servidor X solicita que un gestor de pantalla inicie una sesión enviando un paquete
Query
. Si el gestor de pantalla permite el acceso para ese servidor X, responde enviando un paqueteWilling
de retorno al servidor X. (El servidor X también puede enviar paquetes deBroadcastQuery
oIndirectQuery
para iniciar una sesión - este mecanismo para solicitar una sesión es análogo a usar el DHCP para solicitar una dirección IP.)El gestor de pantalla debe authenticarse en el servidor. Para hacer esto el servidor X envía un paquete
Request
al gestor de pantalla, que retorna un paqueteAccept
. Si el paqueteAccept
contiene la respuesta que el servidor X espera, el gestor de pantalla es autentificado. Producir la respuesta correcta puede requerir al gestor de pantalla tener acceso a una clave secreta, por ejemplo. Si la autentificación tiene éxito, el servidor X envía un paqueteManage
para informar al gestor de pantalla. Entonces, el gestor de pantalla muestra la pantalla de login conectándose con el servidor X como cliente regular de X.Durante la sesión, el servidor puede enviar en intervalos los paquetes
KeepAlive
al gestor de pantalla. Si el gestor de pantalla no puede responder con un paqueteAlive
dentro de un cierto tiempo, el servidor X presume que el gestor de pantalla ha cesado su funcionamiento, y puede terminar la conexión.Un problema con el XDMCP es que, similar al telnet, la autentificación ocurre sin cifrado y si el snooping es posible, dejando al sistema vulnerable al ataque. Es más seguro usar un túnel de ssh para el tráfico de X.[1]
Uso de XDM
El dæmon XDM se encuentra en
/usr/X11R6/bin/xdm
. Este programa se puede arrancar en cualquier momento comoroot
y empezará a gestionar la pantalla X en la máquina local. Si se quiere que XDM arranque cada vez que la máquina se encienda puede hacerlo añadiendo una entrada a/etc/ttys
. Hay una línea en el fichero /etc/ttys por defecto para arrancar el dæmon XDM en una terminal virtual:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
Por defecto esta entrada esta deshabilitada; para habilitarla cambie el campo 5 de
off
aon
y reinicie init(8). El primer campo es el nombre de la terminal que este programa gestionará:ttyv8
. Esto significa que XDM empezará a ejecutarse en la terminal virtual número 9.Configurar XDM
El directorio de configuración de XDM esta en
/usr/X11R6/lib/X11/xdm
. En este directorio hay varios ficheros usados para cambiar el comportamiento y la apariencia de XDM. Normalmente encontrará estos ficheros:Xaccess
Reglas de acceso para clientes. Xresources
Recursos de X por defecto. Xservers
Lista de pantallas locales y remotas a gestionar. Xsession
“script” por defecto para el acceso al sistema. Xsetup_*
“script” para lanzar aplicaciones antes del acceso al sistema. xdm-config
Configuración de todas las pantallas de este equipo. xdm-errors
Errores generados por el programa servidor. xdm-pid
El ID de proceso del XDM que está funcionando. En este directorio también hay unos cuantos programas y “scripts” usados para arrancar el escritorio cuando XDM se está ejecutando. El objetivo de cada uno de estos ficheros será descrito brevemente. La sintaxis exacta y el uso de todos estos ficheros se describe en
xdm(1)
.La configuración por defecto es una simple ventana rectangular de acceso al sistema con el nombre de la máquina en la parte superior en un tipo de letra grande y “Login:” y “Password:” debajo. Este es un buen punto para aprender a cambiar el aspecto de las pantallas de XDM.
Fichero Descripción Xaccess El protocolo para conectar con las pantallas controlada por XDM se llama X Display Manager Connection Protocol (XDMCP). Este fichero es un conjunto de reglas para controlar las conexiones XDMCP desde otros equipos. Por defecto permite a cualquier cliente conectar pero eso no importa a menos que xdm-config
se cambie para escuchar conexiones remotas.Xresources Este es el fichero de opciones por defecto para el selector de pantalla y acceso al sistema. Aquí es donde se puede modificar la apariencia del programa de “login”. El formato es idéntico al fichero de opciones por defecto descrito en la documentación de X11. Xsetup_* Estos se arrancarán automáticamente antes de que se muestre la interfaz de selección o de acceso al sistema. Hay un “script” por cada gestor de ventanas disponible llamados Xsetup_
seguido por el número de pantalla local (por ejemploXsetup_0
). Normalmente estos “scripts” arrancan uno o dos programas en segundo plano, por ejemploxconsole
.xdm-config Este fichero contiene las opciones por defecto aplicables a todas las pantallas que gestiona esta instalación. xdm-errors Este fichero contiene la salida de los servidores X que XDM intente arrancar. Si alguna pantalla que XDM intente arrancar se cuelga por alguna razón este es un buen sitio para buscar los mensajes de error. Estos mensajes también se escriben en el fichero ~/.xsession-errors
del usuario en cada sesión.Ejecutar un servidor de pantalla a través de la red
Para que otros clientes puedan conectar al servidor de pantalla edite las reglas de acceso y habilite la escucha en la conexión. Por defecto tiene valores restrictivos. Para hacer que XDM escuche conexiones primero comente una línea en el fichero
xdm-config
:! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0
y después reinicie XDM. Recuerde que los comentarios en los ficheros de opciones por defecto comienzan con el carácter“!” en vez del típico “#”. Sería deseable usar accesos de control más restrictivos. Mire las opciones de ejemplo en
Xaccess
, y la página del manualxdm(1)
.Alternativas a XDM
Hay algunas alternativas al programa por defecto XDM. Una de ellas, kdm, (que se incluye con KDE), que ofrece muchas ventajas visuales y funcionalidad para permitir a los usuarios elegir su gestor de ventanas en el momento del acceso al sistema y gdm, el gestor de pantallas basado en GNOME con su respectiva organización.
Fuente: Manual de FreeBSD
Algunos gestores de pantalla disponibles
Las X Window System suplen al XDM como su gestor de pantalla estándar.
Los programadores han desarrollado a otros gestores de pantalla X,tanto comerciales como libres, ofreciendo funcionalidad adicional sobre la gestión de pantalla básica:
- el scologin (proporcionado por SSO Open Desktop) también comprueba para saber si expiraron las contraseñas y realiza algunas tareas administrativas
- GDM (GNOME)
- KDM (proporcionado por KDE) permite que el usuario seleccione un X window manager o entorno de escritorio en la pantalla de login
- XDM, el gestor de pantalla del X Window System
- Multiseat Display Manager, el gestor de pantallas Multiseat
- dtlogin (enviado con el CDE)
- WINGs Display Manager (usando las WINGs widget-set usado en Window Maker)
- Entrance (emplea la arquitectura usada en Enlightenment v.17)
- SLiM, un gestor de login independiente.
- xlogin login de X Window con XDMCP server separado con el servidor separado de XDMCP
- Enter liviano gestor de login gráfico
- Orthos Otra solución liviana con temas muy configurables
En la mayoría de las distribuciones Linux, el gestor de pantalla por defecto es seleccionado en el archivo /etc/X11/default-display-manager
Referencias
Plantilla:Nofootnotes Plantilla:Primarysources
- XDMCP specification (compressed PostScript), from the X.Org git repository at freedesktop.org
- XDM manual page (XFree86.org)
- Linda Mui and Eric Pearce, X Window System Volume 8: X Window System Administrator's Guide for X11 Release 4 and Release 5, 3rd edition (O'Reilly and Associates, July 1993; softcover ISBN 0-937175-83-8)
Véase también
- Protocolos y arquitectura de X Window System
- GDM. Gestor de pantalla de GNOME
- KDM. Gestor de pantalla de KDE
- XDM. Gestor de pantalla del X Window System
- Multiseat Display Manager. Gestor de pantallas Multiseat
Enlaces externos
- Linux XDMCP HOWTO
- Taming The X Display Manager
- The X Display Manager, from the *FreeBSD Handbook
- Linux login with a Windows box and XDMCP A guide to login to linux using windows.
Categoría:- X Display Managers
Wikimedia foundation. 2010.