Regula o horário de uso do computador pelos filhos - Versão 2.0
Publicado por Emmanuel Ferro 10/11/2008
[ Hits: 5.617 ]
FINALIDADE: Regular de forma automática (e sem questionamentos) o horário que os filhos usam o computador.
FUNCIONAMENTO: Desliga o computador segundo as regras de horários e castigo que você definir para os usuários que você quiser.
INSTALAÇÃO: Altere no script suas preferências e inclua no arquivo /etc/crontab a segunte linha: */1 * * * * root /regula-2.0 &
OBS.1: Testado em Ubuntu, necessita do pacote zenity.
OBS.2: Esta versão acrescenta a opção "de castigo".
#!/bin/bash # # regula.sh Versão 2.0 # # changelog: # 1.0 - 2.0 - Acrécimo da opção de_castigo # # Copyright 2008 Emmanuel Ferro <emmanuel.ferro@gmail.com> # # Este programa é software livre, você pode redistribuí-lo ou modificá-lo # sob os termos da GNU General Public License, versão 2 ou qualquer versão # mais recente, conforme publicado pela Free Software Foundation. # # Este programa é distribuido na esperança de que possa ser útil, porém # SEM NENHUMA GARANTIA, sem mesmo a garantia implícita de COMERCIALIZAÇÃO # ou ADEQUAÇÃO A UM DETERMINADO PROPÓSITO. Veja a GNU General Public License # para mais detalhes. # # Você pode ter recebido uma copia da GNU General Public License juntamente # com este programa, do contrario solicite uma cópia escrevendo para Free # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. # # DESCRIÇÃO: 1) Desliga o computador se o usuário logado estiver na lista filhos, # e a hora atual e o dia da semana estiverem num intervalo proibido. # 2) Desliga o computador se o usuário logado estiver na lista de_castigo # sem considerar o intervalo proibido. # # COMO USAR: Altere a lista de filhos e de_castigo, a mensagem de alerta e os inervalos # proibidos conforme sua necessidade. Inclua uma entrada no arquivo # /etc/crontab, atravéz do comando abaixo: # $ sudo echo "*/1 * * * * root /usr/local/bin/regula-2.0 &" >> /etc/crontab # # Obs.1: Considerando que o script está em /usr/local/bin # Obs.2: Atribua permissão de execução a este script ($ chmod a+x /usr/local/bin/regula.sh) # Obs.3: Você pode criar uma exceção ao horário proibido sempre que quizer programando # um shutdown para qualquer horário (antes, durante ou depois do horário proibido) # Variáveis usadas logado=`who|cut -d' ' -f1|uniq` dia_sem=`date +%u` hora=`date +%H%M` shutd=`ps ax|grep shutdown|grep "\-h"|wc -c` # ************ ALTERE AQUI CONFORME SUA NECESSIDADE ************************ filhos=( iana bianca medu visita ) de_castigo=( iana ) mensagem="Tempo esgotado $logado! \nVá dormir! \nDesligando em 1 minutos..." mensagem_castgo="$logado, você está de castigo!\nReflita sobre seu comportamento\nDesligando em 1 minuto" # Definição de horário proibido para cada dia da semana case $dia_sem in 1) hora_ini=2200 ; hora_fim=0600 ;; # SEGUNDA 2) hora_ini=2200 ; hora_fim=0600 ;; # TERÇA 3) hora_ini=2200 ; hora_fim=0600 ;; # QUARTA 4) hora_ini=2200 ; hora_fim=0600 ;; # QUINTA 5) hora_ini=0000 ; hora_fim=0600 ;; # SEXTA 6) hora_ini=0000 ; hora_fim=0600 ;; # SÁBADO 7) hora_ini=2200 ; hora_fim=0600 ;; # DOMINGO *) exit 0;; esac # *************************************************************************** # Função que programa o desligamento e emite um alerta desligar() { # Desligar em 1 minutos shutdown -h +1 & # Pegando a sessão do usuário, para que o root execute uma aplicação no display de outro usuário export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -fo gnome-screensaver)/environ) # Emitir mensagem de alerta su $logado -c "zenity --display :0 --warning --text '$mensagem'" } # Função que altera a mensagem e desliga castigo(){ mensagem=$mensagem_castigo desligar } # Não faz nada se o usuário logado não for filho e_filho=`echo ${filhos[*]}|grep $logado|wc -w` [ ${e_filho} -eq 0 ] && exit 0 # Não faz nada se já existe um shutdown programado [ $shutd -gt 0 ] && exit 0 # Se houver castigo todo horário é proibido e_castigo=`echo ${de_castigo[*]}|grep $logado|wc -w` [ ${e_castigo} -ne 0 ] && castigo # Se o intervalo proibido estiver no mesmo dia if [ $hora_ini -lt $hora_fim ]; then # Verificar horário if [ $hora -gt $hora_ini ] && [ $hora -lt $hora_fim ]; then desligar fi # Se o intervalo proibido passar pela meia noite else # Verificar horário if [ $hora -gt $hora_ini ] || [ $hora -lt $hora_fim ]; then desligar fi fi # Fim exit 0
Filtro para importação de extrato do Banco do Brasil para Kmymoney
Gerenciador de contas de usuários
Baixar números das várias loterias nacionais
Trocar senha no primeiro login em PDC SAMBA
Nenhum comentário foi encontrado.
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Configurando static ipv6 em placa de rede eth0[DUVIDA] (1)
Sistema da Coréia do Norte - Red Star OS (59)