Shutdown desde IR [Solucionado]
Hola a todos, estoy configurando el HTPC del salon. Lo tengo funcionando con el XBMC y un mando a distancia configurado con LIRC.
Lo que quiero es poder apagar el ordenador con el mando a distancia, pero si el proceso XBMC esta ejecutandose que no haga nada.
Para apagarlo utilizo IRexec de esta manera:
$ cat .lircrc
begin
prog = irexec
button = KEY_POWER
config = /home/aita/.scripts/shutdown.sh &
end$ cat .scripts/shutdown.sh
#!/bin/bash
sudo shutdown -h now
Si, es un Ubuntu, lo tengo para tema de drivers (Nvidia ION)
Con estos dos scripts me apaga el ordenador bien, pero lo que quiero es si pulso ese boton cuando estoy en el XBMC, salga de XBMC. Esto lo configuro en otro sitio. Pero si proceso XBMC esta en marcha que no haga nada el IRexec.
Lo que he pensado es editar el shutdown.sh y que se asegure que el proceso XBMC no este corriendo:
$ ps -e | grep xbmc
1771 ? 00:00:00 xbmc
1779 ? 00:00:24 xbmc.binPero no tengo ni pajolera idea de como empezar, soy bastante nulo en esto de bash scripting.
¿Alguien me ayuda con esto?
Muchas gracias y saludos.
- Inicie sesión o regístrese para enviar comentarios
- 774 lecturas


Hay una cosa que no me aclaro:
lo que quiero es si pulso ese boton cuando estoy en el XBMC, salga de XBMC. Esto lo configuro en otro sitio. Pero si proceso XBMC esta en marcha que no haga nada el IRexec.
Si estas en XBMC, y pulsas el mando ¿que tiene que hacer IRexec, nada o salir de XBMC?
Bueno, en cualquier caso, da igual. Creo que con esto ya sabrás hacerlo:
FOUND=$(($(ps aux |grep xbmc |wc -l) -1))Si no encuentra, da 0. Si encuentra, da distinto de 0. Metelo en un if, y te lo pillará perfectamente.
Por cierto:
sudo shutdown -h now
¿¿?? Si lo ejecutas como root, no necesitas sudo. Y si lo ejecutas como usuario normal, te pedirá password, por lo que el mando a distancia de poco te sirve...
sudo shutdown -h now
¿¿?? Si lo ejecutas como root, no necesitas sudo. Y si lo ejecutas como usuario normal, te pedirá password, por lo que el mando a distancia de poco te sirve...
Con un buen sudoers configurado no hace falta poner clave.
Saludos.
Efectivamente, lo tengo configurado en /etc/sudoers.
Gracias por el script, a la noche lo pruebo. Si esta dentro de XBMC el IRexec no tiene que hacer nada, el mismo programa tiene otra configuracion, y saldra Y a la segunda (se supone que el XBMC esta cerrado) que apague el ordenador.
Gracias y saludos.
sudo shutdown -h now
¿¿?? Si lo ejecutas como root, no necesitas sudo. Y si lo ejecutas como usuario normal, te pedirá password, por lo que el mando a distancia de poco te sirve...
Con un buen sudoers configurado no hace falta poner clave.
Saludos.
Vale, lo que tu llamas bien configurado, yo lo llamo un peligro. Y si no lo tienes restringido solo a unos ciertos comandos, mal configurado tambien :)
Gracias!!! Ya funciona perfecto, este es script final:
$ cat .scripts/shutdown.sh#!/bin/bash
# Si no esta el XBMC ejecutandose dara 0, sino mayor que 0
FOUND=$(($(ps aux |grep xbmc |wc -l) -1))
if [ $FOUND == 0 ]; then
sudo shutdown -h now
fi
Lo de que es un peligro, la verdad que esta maquina no me preocupa mucho, es un HTPC. Evidentemente en el servidor no pondria esos permisos a los usuarios.
Gracias por todo y saludos.