next up previous contents index
Next: Sistemas de ficheros Up: El Sistema de ventanas Previous: Abandonar el entorno X   Índice General   Índice de Materias

Configurar el arranque de sus X

Cuando inicia X, Debian ejecuta algunos guiones de intérprete de órdenes que inician el gestor de ventanas y otros clientes de X. Por defecto, se inician un gestor de ventanas, una xconsole, y una xterm.

Para configurar el inicio de sus X, el fichero /etc/X11/config debe contener la línea allow-user-xsession. Si no la contiene, inicie una sesión como root, y añádale esa línea ahora. Luego vuelva a la sesión con su usuario, y continúe la lección.

Puede ver cómo funciona el inicio de X de Debian en el fichero /etc/X11/Xsession. Tenga en cuenta que puede cambiar el comportamiento de /etc/X11/Xsession modificando el fichero /etc/X11/config que especifica unas pocas preferencias globales del sistema.

Para ejecutar los clientes de su elección cuando arranque X, debe crear un guión de intérprete de órdenes (shell script) ejecutable, llamado .xsession en su directorio personal.

     $ touch  /.xsession
Crea el fichero.

     $ chmod u+x  /.xsession
Lo hace ejecutable.

Una vez que ha creado el .xsession, necesitará editarlo con su editor de texto favorito para que haga cosas útiles. Puede escribir lo que quiera en este guión. Sin embargo, cuando acabe de procesarse el guión, X también terminará.

En términos prácticos, quiere decir que a menudo acabará el guión con una llamada a exec. Cualquier programa que usted ejecute con exec reemplazará el proceso del guión por sí mismo, de manera que se ignorarán las órdenes que haya después del exec. El programa que usted ejecute se convierte en el nuevo dueño del proceso del guión, lo que significa que las X terminarán cuando acabe el proceso de este nuevo programa.

Supongamos que termina su .xsession con la línea exec fvwm. Ello quiere decir que se ejecutará el gestor de ventanas fvwm cuando se inicien las X. Cuando salga de fvwm, terminará la sesión de las X, junto con todos los demás clientes. No tiene que utilizar aquí el gestor de ventanas; podría escribir exec xterm, y en el caso de que escribiese exit en esa xterm en particular, causaría el final de toda la sesión X.

Si desea ejecutar otras órdenes antes de utilizar el exec, necesitará ponerlas en segundo plano. En cualquier otro caso, .xsession hará una pausa hasta que cada cliente salga antes de continuar con la siguiente línea. Mire la sección anterior al respecto de ejecutar tareas en segundo plano (básicamente se trata de poner un & tras la orden).

Puede aprovecharse de este comportamiento. Si desea ejecutar órdenes al final de la sesión X, puede utilizar el .xsession para ejecutar el gestor de ventanas que desee, y esperar a que termine. Es decir, eliminar el exec y el &; y escribir sencillamente fvwm. Escriba después las órdenes que quiere que se ejecuten tras el gestor de ventanas.

Posiblemente le ayude echar un vistazo a unos ficheros .xsession de ejemplo. En todos los ejemplos, reemplace fvwm con el gestor de ventanas que haya escogido.

El .xsession más sencillo, se limita a ejecutar un gestor de ventanas:

     exec fvwm
Ejecutará fvwm, y la sesión de X terminará cuando acabe el fvwm. Si lo hace sin exec, todo parecerá funcionar igual, pero en realidad, .xsession esperará a que acabe fvwm, y terminará en ese momento. Utilizar exec es un poco mejor, porque hacer que fvwm reemplace la .xsession en lugar de dejarlo a la espera. Puede utilizar las órdenes ps o top si desea comprobarlo.

Un .xsession ejecutaría unos pocos clientes antes de iniciar el gestor de ventanas. Por ejemplo, puede que desee ejecutar algunas xterm y un xclock cuando inicie X. No hay problema; escriba sencillamente xterm & xterm & xclock& exec fvwm. Se ejecutará en segundo plano dos xterm y un xclock, y después se ejecutará el gestor de ventanas. Cuando salga del gestor de ventanas, también saldrá de X.

Puede intentar hacerlo sin pasar los programas a segundo plano, y ver lo que pasa. Introduzca esta orden: xterm xclock exec fvwm. se lanzará xterm, y esperará a que salga de ella. Entonces aparecerá el xclock; y tendrá que salir de él antes de que se inicie fvwm. Las órdenes se ejecutan por orden, ya que el guión espera a que cada una acabe antes terminar.

Puede utilizar esta ejecución secuencial a su favor. Quizá desee controlar el momento en que deja de trabajar todos los días:

     xterm &

     xclock &

     fvwm

     date >>  /momento-de-salida
Ejecutará en segundo plano una xterm y un xclock y luego esperará a que acabe el fvwm. Cuando suceda esto, llegará a la última línea, que añade la fecha y hora actual al fichero ~/momento-de-salida.

Para acabar, también puede hacer que sean otros programas los que determinen el fin de X, en lugar del gestor de ventanas:

     xclock &

     fvwm &

     exec xterm
Este guión ejecutará xclock y fvwm en segundo plano y se reemplazará a sí mismo con una xterm. Cuando salga de la xterm, terminará la sesión X.

La mejor manera de aprender a utilizar .xsession es probar algunas de estas cosas. De nuevo, asegúrese de que utiliza chmod para hacerlo ejecutable; es un error bastante común olvidarse de hacerlo.


next up previous contents index
Next: Sistemas de ficheros Up: El Sistema de ventanas Previous: Abandonar el entorno X   Índice General   Índice de Materias
Enrique Zanardi 2000-11-26