sábado, 3 de marzo de 2012

Script para apagar/suspender/hibernar desde la consola


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