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
|