Desligamento programado com interface gráfica em Zenity

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

[ Hits: 2.220 ]

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

Atualizar repositório no Linux desabilitando a hibernação do sistema

Instalação do Microsoft Edge no Linux

Space invaders

Network_test

Dicionário e tradutor baseado no Michaelis


  

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