Configurar xdm

En el artículo anterior vimos cómo configurar nuestro sistema de ventanas, pero cada vez que arrancamos el ordenador tenemos que arrancar este sistema de ventanas con startx. Vamos a ver ahora una manera de hacer esto automáticamente, de tal manera que se arranque siempre en modo gráfico, los terminales de caracteres seguirán estando disponibles con las teclas Ctrl-Alt y las teclas de función F1 a F6.

xdm presenta la ventana de login en modo gráfico

xdm es el gestor general de la pantalla, a diferencia de los gestores de ventanas que sólo gestionan la pantalla en un único sistema Linux, xdm puede manejar pantallas de varios sistemas Linux. Sin embargo, para la mayoría de nosotros estas opciones no son necesarias (si alguien lo requiere todas las opciones están descritas en la página del manual de xdm) y para lo único que usaremos xdm es para hacer login en nuestro PC al arrancar Linux. Cuando hemos introducido correctamente el usuario y la palabra de paso xdm arrancará la sesión gráfica por nosotros y el gestor de ventanas que hayamos elegido. Dentro de esta sesión todas las ventanas que arranquemos lo harán con los permisos de nuestro usuario de conexión.

xdm se comporta así de igual manera que el login en los terminales de caracteres.

El modo de arranque de Linux

La preparación de xdm para que sea el programa de login, por defecto, es muy sencilla, pero los detalles nos van a obligar a desviarnos por un momento y explicar algo del modo de arranque de Linux. Tradicionalmente los sistemas Unix y Linux también tienen varios niveles de ejecución, así por ejemplo ejecución en monousuario, de tal forma que solamente root puede conectarse, es el nivel 1, ejecución en multiusuario o ejecución en multiusuario con sistema de ventanas gráficos son los niveles 2 a 5, (generalmente 5 se reservaba para el arranque con Xwindow). Otros niveles de "ejecución" son el nivel 0, que para el sistema, por lo que hacer:

init 0

es lo mismo que ejecutar el comando:

halt

o el comando

shutdown -h now

El otro nivel de "ejecución" es el nivel 6, que equivale a reiniciar la máquina por lo que:

init 6

es equivalente a:

reboot

o a

shutdown -r now

Todo esto está especificado en el fichero /etc/inittab y si queremos modificar el nivel de arranque éste es el fichero que tendremos que modificar. Para el tema que nos ocupa, los niveles en los que estamos interesados son 2,3,4 y 5. Aunque tradicionalmente Unix usa el nivel 5 para el arranque de X Window y toda la documentación al respecto, así también lo indica siguiendo a la distribución de RedHat, la instalación Debian utiliza de manera predefinida el 2 y éste es el que vamos a usar nosotros, por lo que no tenemos que modificar el fichero inittab.

Para incluir un dibujo de bitmap de fondo podemos utilizar xsetroot

La otra pieza del puzzle del modo de arranque de Linux son los directorios rcX.d que se encuentran en /etc, donde X es generalmente un número pero puede ser también la letra "S". Así, cuando decimos arrancar en nivel 2, el directorio que se consultará será el rc2.d.

Dentro de estos directorios se encuentran una serie de scripts de arranque, de tal manera que se ejecutan secuencialmente de acuerdo a su nombre. Así, por ejemplo, nuestro directorio rc2.d, que fue configurado durante la instalación, contiene lo siguiente:

S10sysklogd S20exim S20mon S20xntp3 S89cron

S11pcmcia S20gpm S20netbase S25nfs-server S99rmnologin

S12kerneld S20iplogger S20omniorb S30netstd_misc S99xdm

S15netstd_init S20isdnutils S20ppp S50junkbuster

S18portmap S20logoutd S20quota S50proftpd

S20acct S20lprng S20xfs S89atd

y los scripts se ejecutarán en el orden S10xxxxx, S11xxxxxx, S12xxxxxx, etc.

En nuestro caso el script que nos interesa es el S99xdm.

Arrancar nuestras aplicaciones favoritas

Hasta ahora cada vez que hacemos login nos aparece un escritorio perfectamente vacío (de color azul, generalmente) y debemos arrancar penosamente cada una de las aplicaciones con las que habitualmente trabajamos. Sin embargo, podemos hacer que éstas se inicien al hacer login. Esto, además, es personalizable para cada usuario. Uno de los scripts que se ejecutan durante el login usando xdm es Xsession, que reside en /etc/X11. Dentro de este fichero la línea:

startup=$HOME/.xsession

nos indica que primero se va a intentar ejecutar el script .xession residente en nuestro directorio de usuario (el primer directorio en el que entramos al conectarnos). Si este fichero no existe entonces se continúa ejecutando el inicio predefinido, pero si existe este fichero entonces es el que toma control de la situación. Así, si queremos personalizar nuestro login, debemos crear el fichero .xsession dentro de nuestro directorio de usuario. En este fichero se especifican las aplicaciones que deben arrancarse cuando nos conectamos. Así, por ejemplo, si queremos que por defecto se arranquen cuatro ventanas de xterm y el programa gozilla (el navegador de Netscape de código libre) y después nuestro gestor de ventanas favorito (en nuestro caso icewm) deberemos tener un fichero .xsession como el que se muestra en el Cuadro 1.

Para incluir un dibujo o fotografía habrá que utilizar algún programa como xv

[NOTA : CUADRO1]

Cada una de las aplicaciones o programas que queremos que se ejecuten al conectarnos, se escribe en una línea del fichero que debe estar acabada con el símbolo ampersand "&" lo que indica que debe ejecutarse como un proceso separado, por lo que podemos seguir ejecutando el siguiente programa. La última línea debe ser siempre el gestor de ventanas que queremos y no debe acabar en "&".

De esta manera, sin embargo, hemos perdido la capacidad de cambiar de gestor de ventanas utilizando el fichero window-managers. Algo que es fácilmente solucionable, simplemente debemos cambiar la última línea por la que se encuentra en el Cuadro 2.

[NOTA : CUADRO2]

Por último, si queremos que todos los usuarios se ejecuten con la misma configuración podemos crear un fichero .xsession (o cualquier otro nombre en realidad) en /etc/X11 (o cualquier otro directorio) y hacer dos cosas:

a) Hacer un link simbólico desde cada directorio de usuario a este fichero común. Evidentemente el nombre del link simbólico en cada uno de los directorios de usuario debe ser .xsession.

b) Modificar la línea

startup=$HOME/.xsession

dentro del fichero /etc/X11/Xsession por

startup=/etc/X11/.xsession

De tal manera que ya sólo se ejecuta el script general /etc/X11/.xsession. Evidentemente, el fichero que incluyamos en la línea startup puede tener cualquier nombre y estar en cualquier directorio que queramos.

Rafael Hernández

Podemos personalizar el numero y posición de las aplicaciones que se arrancarán al conectarnos.

 

CUADRO1

xterm -geometry +0+0 &

xterm -geometry +0-0 &

xterm -geometry -0+0 &

xterm -geometry -0-0 &

gzilla &

icewm

 

CUADRO2

xterm -geometry +0+0 &

xterm -geometry +0-0 &

xterm -geometry -0+0 &

xterm -geometry -0-0 &

gzilla &

. /etc/X11/window-managers

 

Pantalla de inicio personalizada con dibujo de fondo usando xv.
Pantallas de inicio personalizadas modificando la posición de la ventana de login con el parámetro -geometry
Pantallas de inicio personalizadas modificando la posición de la ventana de login con el parámetro -geometry
Arrancando cuatro ventanas xterm situadas en cada una de las esquinas de la pantalla como indica el Cuadro 2.
Arrancando numerosas aplicaciones, algunas, como los xterm se han colocado en las esquinas, el resto se coloca aleatoriamente. Usando WindowMaker como gestor de ventanas.
Arrancando usando AfterStep como gestor de ventanas.

Arrancando usando Olwm como gestor de ventanas.