Este es un script que vi en Planet ArchLinux que permite apagar, suspender, hibernar, reiniciar o suspender el monitor de manera muy sencilla. Lo bueno de este script es que no se necesitan permisos de root para realizar estas tareas porque se realizan mediante dbus.
Yendo a los bifes, este es el script
#!/bin/bash
#requiere upower
scrpt=${0##*/} # filename of script
case $1 in
apagar | a )
echo " Apagando sistema..."
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager \
org.freedesktop.ConsoleKit.Manager.Stop > /dev/null ;;
reiniciar | r )
echo " Reiniciando sistema..."
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager \
org.freedesktop.ConsoleKit.Manager.Restart > /dev/null ;;
suspender | s )
echo " Suspendiendo..."
dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Suspend > /dev/null ;;
hibernar | h )
echo " Hibernando..."
dbus-send --system --print-reply --dest="org.freedesktop.UPower" \
/org/freedesktop/UPower org.freedesktop.UPower.Hibernate > /dev/null ;;
monitor | m )
echo " Suspendiendo monitor..."
sleep 1 && xset s activate ;;
* )
echo " $scrpt <apagar(a)|reiniciar(r)|suspender(s)|hibernar(h)|monitor(m)>"
esac
¿Cómo funciona?
Una vez guardado el script (supongamos con el nombre pwrman) le damos permisos de ejecucion
chmod +x pwrman
Lo copiamos a /usr/bin para que pueda ser ejecutado por cualquier usuario
sudo cp pwrman /usr/bin
y para lanzarlo con ejecutar desde la consola pwrman sin argumentos nos muestra:
pwrman <apagar(a)|reiniciar(r)|suspender(s)|hibernar(h)|monitor(m)>
Donde podemos ver que si por ejemplo ejecutamos
pwrman a
Se apagará el sistema inmediatamente
o
pwrman m
El monitor pasará a estado de suspensión
Cabe aclarar que es necesario tener instalado el paquete upower para que el script funcione correctamente
Saludos
No hay comentarios:
Publicar un comentario