09
03
2010
Automatizar el lanzamiento de aplicación en inicio y apagado posterior
Escrito por danitxu en /usr/share/doc, tags: boot, grub, login, logout, mingetty, sudoersMe ha tocado hacer una configuración con estos requisitos:
- Al iniciar el PC con Linux, se lanza automáticamente una aplicación gráfica SDL sin hacer login gráfico (display manager), ni arrancar un gestor de escritorios ni de ventanas.
- Al cerrar dicha aplicación gráfica, el PC se apaga.
- Durante la ejecución de la aplicación gráfica ha de ser posible acceder a una consola en modo texto, tanto en el PC físico como a través de ssh.

Solución:
- Elegir la versión de Linux e instalarla: aunque quizás sería más lógico ir a una Debian, por comodidad de disponibilidad de drivers recientes me voy a una Ubuntu 9.10 Karmic de 64 bits.
- Hacer que no se inicie el gdm: en /etc/default/grub incluir text en la línea de GRUB_CMDLINE_LINUX_DEFAULT, ej:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"y después hacersudo update-grub
- Login automático a una de las consolas de texto: instalar mingetty y cambiar en
/etc/init/tty1.conf(en Karmic ya no hay/etc/inittabsinoupstart):
#exec /sbin/getty -8 38400 tty1
exec /sbin/mingetty --autologin usuarioXX --noclear tty1 - Lanzamiento automático de la aplicación sólo en una terminal: añadir al ~/.bash_login para del usuarioXX:
if [ $(tty) = "/dev/tty1" ] ; then
xinit aplicacion_grafica -- :1
sudo /sbin/poweroff
fi
Con lo anterior, se consiguen que sólo se inicie en el caso de haber hecho login en tty1. Además sería posible hacer Ctrl-Alt-F2, Ctrl-Alt-F3,… y ssh (en este caso se crea una pseudoterminal). - Apagado automático: para que usuarioXX pueda llamar a poweroff, añadir al final de /etc/sudoers la línea:
usuarioXX ALL=(root) NOPASSWD:/sbin/poweroff


Entradas (RSS)