Inicio

Versión 1.0 - marzo de 2012

Apagado automático cancelable por usuario interactivo

1. Escribimos el guión en /root/apagado_automatico:

#!/bin/bash
shutdown -h +5 &
zenity --display=:0 --warning --height=300 --width=500 --text="\n\n\nEl ordenador se apagará automáticamente en 5 minutos\n" && shutdown -c

2. En el .bashrc de los usuarios normales ponemos:

xhost LOCAL:

para permitir usar las X a todos los usuarios locales del equipo.

3. En /etc/crontab ponemos:

0 22 * * * root /root/apagado_automatico

4. Si usamos gdm, también hay que dar permiso para escuchar peticiones TCP. Para ello modificamos los archivos: /etc/gdm/gdm.schemas y /etc/gdm/custom.conf. También hay que modificar /etc/X11/xinit/xserverrc.

5. Si aun así no funciona, lo podemos hacer escribiendo los comandos del guión directamente en crontab (ojo, todo en una línea, hacer el salto de línea con \n):
0 22 * * *
root shutdown -h +5
0 22 * * * root zenity --display=0 --warning --height=300 --width=500 --text="\n\n\nEl ordenador se apagará automáticamente en 5 minutos \n\nPulse Aceptar para cancelar el apagado" && shutdown -c

Con Lubuntu 10.04 me pasó una cosa muy curiosa, si el mensaje de zenity llevaba tilde no se mostraba la ventana. Ejecutando el comando de zenity desde terminal como root o como usuario normal sí funcionaba pero ejecutando el comando directamente en crontab o a través de un script desde crontab no funcionaba. Con Debian 6 y Ubuntu 10.04 sí funcionan las tildes sin problemas. Como tardé bastante en darme cuenta del problema simplemente le quité las tildes al mensajes porque ya me quedé sin ganas de averiguar por qué no funcionaba.

Inicio

HTML5 Powered