En muchas aplicaciones necesitamos que cuando el sistema operativo termina de iniciar, se ejecute un programa, para ello necesitamos hacer dos cosas: primero "loguearnos" con un usuario y luego ejecutar nuestro programa.
Para comenzar deberemos instalar una aplicación llamada “mingetty” la cual nos permitirá realizar un login automático de un usuario.
aptitude install mingetty
Luego deberemos editar el archivo
/etc/inittab y cambiar la línea 1, comentando la original:
#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/sbin/mingetty --autologin usuario --noclear tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Donde dice “usuario” colocar el
nombre del usuario que se logueará automáticamente, de esta manera, al iniciar el sistema
operativo, la tty1 estará logueada.
Si queremos que una aplicación se
ejecute al inicio (después del login), tenemos dos posibilidades:
- Iniciar una aplicación sin ejecutar previamente un gestor de ventanas.
- Iniciar una aplicación después de iniciar el gestor de ventanas.
Para Iniciar una aplicación sin
ejecutar previamente un gestor de ventanas, solo basta con editar el
archivo “.bashrc” que se encuentra dentro del home del usuario en
cuestión. Agregaremos al final del mismo la línea que queremos que
se ejecute, por ejemplo, un programa en Pyhton:
python /programas/programa.py
Si queremos iniciar el gestor de
ventanas antes de ejecutar nuestro programa, en el archivo “.bashrc”
no deberemos ejecutar nuestro programa, sino ejecutar “xinit”
para que se ejecute “X server”, de modo que al final del archivo
“.bashrc” colocamos:
xinit
A nuestra aplicación no la
ejecutaremos en este archivo, sino que editaremos el archivo
“.xinitrc” que también se encuentra en el home del usuario, y al
final del mismo agregaremos unas líneas para que se ejecute nuestra
aplicación y el gestor de ventanas que este instalado:
exec startlxde
exec python /programas/programa.py