Hola gente de T! Bueno hoy les escribo desde la linda ciudad de Ledezma Jujuy con 40 grados de calor les quiero dejar este script para apagar el sistema, lo que tiene de interesante es que trabaja con zenity que le da una linda GUI y se puede correr con un usuario común gracias a dbus. Para ejecutar el script no hace falta ser root ya que trabaja con dbus y no con un shutdown que necesita permiso de root para ejecutarse. Podemos hacer que nuestra maquina se apague en segundos, minutos, horas o incluso días, aparte nos aparecerá en el área de notificación un icono por si deseamos cancelar el script por X motivo. Bueno vasta de palabras y pasemos al código #!/bin/bash #=============================================================================== # # FILE: Apagar.sh # # USAGE: ./Apagar.sh # # DESCRIPTION: Apagar el sistema despues de un tiempo sin la necesidad # de ser root. # # OPTIONS: None # REQUIREMENTS: Zenity, dbus # BUGS: ??? # NOTES: Ninguna ^^ # AUTHOR: Due204 # ORGANIZATION: --- # CREATED: 11/03/12 14:08:11 ART # REVISION: 0.1 #=============================================================================== rm /tmp/Opciones rm /tmp/Tiempo function apagar() { dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop > /dev/null } function menu() { zenity --entry --title="Apagar el Sistema" --text="Introduzca el tiempo:" --entry-text "tiempo en $TEMPO" > /tmp/Tiempo } function icono() { zenity --notification --text="El script esta corriendo, puse este icono para detenerlo" && killall sleep } zenity --width=240 --height=250 --title="Apagar el Sistema" --list --column=Opciones: --text "Elige una opcion" "Apagar ahora" "Apagar en segundos " "Apagar en minutos " "Apagar en horas " "Apagar en dias" > /tmp/Opciones APA=`cat /tmp/Opciones | wc -m` if [ $APA = 13 ]; then apagar elif [ $APA = 20 ]; then TEMPO=`echo "segundos"` menu TIME=`cat /tmp/Tiempo` `sleep $TIME && apagar` & icono || exit elif [ $APA = 19 ]; then TEMPO=`echo "minutos"` menu TIME=`cat /tmp/Tiempo` `sleep $TIME'm' && apagar` & icono || exit elif [ $APA = 17 ]; then TEMPO=`echo "horas"` menu TIME=`cat /tmp/Tiempo` `sleep $TIME'h' && apagar` & icono || exit elif [ $APA = 16 ]; then TEMPO=`echo "dias"` menu TIME=`cat /tmp/Tiempo` `sleep $TIME'd' && apagar` & icono || exit else exit fi Bueno como verán no hay muchas cosas complicadas, es un código que se puede leer bien (o eso creo ) No tiene muchas cosas complicadas salvo lo de dbus que algunos no lo conoce y recien se esta enterando de que existe. Acá dejo un par de capturas para que vean como queda: Al ejecutarlo nos saldrá esta ventana: Una ves seleccionado el tiempo nos saldrá otra ventana para que ingresemos el tiempo Y finalmente nos aparecerá e el área de notificaciones un icono para cancelar la operación del script: Bueno para ejecutarlo primero copiamos el código en un archivo vació, lo guardamos (yo le puse Apagar.sh de nombre), le damos permiso de ejecución con un chmod +x Apagar.sh y lo ejecutamos desde la consola poniendo un punto (.) y una barra (/) delante del nombre del script: ./Apagar.sh O simplemente le hacemos doble click y listo. Una idea es asignarle una combinación de teclas para que se ejecuta, yo lo tengo con Alt y F12 Bueno gente este script lo empece ayer y lo termine hoy simplemente para pasar el tiempo por que por acá no hay nada es un pueblito muy tranquilo, si tienen dudas o sugerencias les estaré contestando mañana ya que el ciber esta a un par de kilómetros de casa. Bueno gente de T! sera hasta la próxima.
Apaga tu sistema con este script
Datos archivados del Taringa! original
30puntos
311visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos: