Desligamento programado com interface gráfica em Zenity

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

[ Hits: 2.046 ]

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

Instalador de Código Fonte - Linha de Comando

diMail - envia e-mail com um front do dialog

Impedir duas ou mais conexões por usuário

Extrair o áudio de arquivos de vídeo

Cadastrar usuario Squid


  

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