Desligamento programado com interface gráfica em Zenity

Publicado por Sócrates Duarte (última atualização em 22/02/2017)

[ Hits: 2.234 ]

Download Desligamento Automatico.sh




Segue um script de desligamento programado por tempo, podendo selecionar minutos ou a hora desejada.

O mesmo possui interface gráfica "zenity" e elevação para SUDO automática.

Em resumo, é só executar mesmo sem "SUDO" antes do script, pois o mesmo identifica e solicita a senha administrativa, e depois escolher em quantos minutos vai desligar, ou mesmo a hora de desligamento.

Espero que seja útil.

Abraços.

  



Esconder código-fonte

#! /bin/bash
#
# Script de desligamento automático
# Por Sócrates G. Duarte

#Verifica se o usuário é root
if [ "`id -u`" != "0" ] ; then
gksu $0

while true; do
OPCAO="$(zenity --title "Desligamento Automático" \
 --width=350 --height=250 \
--text="Selecione o tempo para desligar" --list \
--checklist \
--column "Escolha" FALSE '15 Minutos' FALSE '30 Minutos' FALSE '45 Minutos' FALSE '1 Hora' FALSE '2 Hora' FALSE 'Digitar Hora' \
--column "Ordem de sequência" )"

if   [ "$OPCAO" = "15 Minutos" ]; then

( sleep 15m && shutdown -h) | zenity --progress --width=300 --height=100 --title="Aguardando..." --text "Desligando em 15 minutos" --auto-close --pulsate
zenity --info \
--title="Desligando" \
--text="Executando desligamento automático"


elif [ "$OPCAO" = "30 Minutos" ]; then

( sleep 30m && shutdown -h) | zenity --progress --width=300 --height=100 --title="Aguardando..." --text "Desligando em 30 minutos" --auto-close --pulsate
zenity --info \
--title="Desligando" \
--text="Executando desligamento automático"


elif [ "$OPCAO" = "45 Minutos" ]; then

( sleep 45m && shutdown -h) | zenity --progress --width=300 --height=100 --title="Aguardando..." --text "Desligando em 45 minutos" --auto-close --pulsate
zenity --info \
--title="Desligando" \
--text="Executando desligamento automático"


elif [ "$OPCAO" = "1 Hora" ]; then

( sleep 1h && shutdown -h) | zenity --progress --width=300 --height=100 --title="Aguardando..." --text "Desligando em 1 hora" --auto-close --pulsate
zenity --info \
--title="Desligando" \
--text="Executando desligamento automático"


elif [ "$OPCAO" = "2 Hora" ]; then

( sleep 2h && shutdown -h) | zenity --progress --width=300 --height=100 --title="Aguardando..." --text "Desligando em 2 hora" --auto-close --pulsate
zenity --info \
--title="Desligando" \
--text="Executando desligamento automático"


elif [ "$OPCAO" = "Digitar Hora" ]; then

  url=`zenity --entry --text "Digite a hora de desligar, como no EX: 00:00" --title "Hora de desligar" --width=190 --height=100`

  if   [ "$url" = "" ]; then
zenity --info --text="Favor Informar Hora de Desligamento"
  else

shutdown -h $url
zenity --info \
--title="Aguardando..." \
--text="Desligando as $url, Para interronper abra o termial e digite o comando ( shutdown -c )"
 fi
         else
                      exit 1
         fi
done

fi 

Scripts recomendados

ktbackup

Sincronizar arquivos com rsync

shell script

Verificar conexão com Internet

DNS dinâmico noip2 para systemd


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts