Programa de Tempo para o Ubuntu

Iniciado por mkevsison, 24 de Maio de 2014, 13:19

tópico anterior - próximo tópico

luizsouza99

Código do instalador abaixo:

#!/bin/bash

#Verifica se não é usuário root
ROT=$(id -u)
if [ "$ROT" = "0" ];then
echo "O programa não funciona em modo root, por favor entre novamente"
sleep 1
exit
fi

echo "Digite o nome de usuário deste cliente"
read USU
echo
echo "Digite o número da máquina"
read X

mkdir /home/$USU/lan
touch /home/$USU/lan/.estado$X
echo "espera" > /home/$USU/lan/.estado$X

echo "Instalei o arquivo de configuração, compartilhe ele com a máquina principal"
echo "/home/$USU/lan/.estado$X"
echo
echo "Para ver o arquivo oculto estado basta dar control H"
echo
echo "Aperte enter quando terminar"
read PROX

#######################################################################################
######################## ESCREVENDO O SCRIPT ##########################################
#######################################################################################
touch /home/$USU/temp

echo "#!/bin/bash
echo espera > /home/$USU/lan/.estado$X" > /home/$USU/temp

echo "PASTA=$"'(ls /home/'$USU' | grep lan)'" # verifica se a pasta lan existe" >> /home/$USU/temp
echo "ARQUIVO=$"'(ls /home/'$USU'/lan | grep .estado$X)'" # verifica se a pasta lan existe" >> /home/$USU/temp

echo '# proteção contra delete para lan e .estado
if [ -z "$PASTA" -o -z "$ARQUIVO" ];then' >> /home/$USU/temp
echo "mkdir /home/$USU/lan
   touch /home/$USU/lan/.estado$X
   chown -R $USU:$USU /home/$USU/lan
   chmod -R 777 /home/$USU/lan
   echo "espera" > /home/$USU/lan/.estado$X
fi

# Loop infinito
for (( loop=1;loop>0;loop++));do
sleep 5" >> /home/$USU/temp

echo "ESTADO=$"'(cat /home/'$USU'/lan/.estado'$X')'" # recebendo o valor da maquina chefe" >> /home/$USU/temp

echo ' if [ "$ESTADO" != "espera" ];then
      sleep $ESTADO # o programa vai dormir até que o tempo se esgote' >> /home/$USU/temp
      echo "reboot
   fi
done" >> /home/$USU/temp
#######################################################################################
#######################################################################################
#######################################################################################
echo "Agora vamos gravar o script, digite enter para prosseguir"
read PROX
clear

sudo mv /home/$USU/temp /etc/init.d/
sudo mv /etc/init.d/temp /etc/init.d/lan
sudo chmod +x /etc/init.d/lan
clear
echo "Em outro terminal dê o comando: 'sudo gedit /etc/rc.local'"
echo
echo "Copie a linha abaixo e cole no arquivo que abrir (coloque antes do exit 0)"
echo "/etc/init.d/lan"

echo
echo "Depois de pronto aperte enter aqui para continuarmos"
read PROX
clear
echo "Se vc fez tudo certo basta reiniciar o pc que ele já rodará o programa"
echo "Dê uma olhada no monitor do sistema se o programa lan esta rodando"
echo
echo "Para usa-lo basta salvar os segundos no arquivo estado de acordo com a tabela abaixo:"
echo
echo
echo "Meia hora= 1800"
echo "1 hora e meia= 5400"
echo "1 hora= 3600"
echo "2 hora= 7200"
echo "2 horas e meia= 9000"
echo "3 hora= 10800"
echo "4 hora= 14400"
echo
echo "Enter para finalizar"
read PROX
exit

sigur

Você está usando

mkdir /home/$USU/lan

mas daí o cara vai ter que usar nomes diferentes para USU! O que acontece se o dir USU já existir?

Creto

Para mim o mais fácil ainda é:

Com tempo pré definido - Reiniciar
sudo shutdown -r 1

Com tempo pré definido - Desligar
sudo shutdown -h 1

T+


sigur

Pra mim, o mais viável seria chamar o screensaver após determinado tempo.

Havia escrito uma vez, mas acho que não enviei, acabei cancelando, por engano.

Seria muito ruim para o comércio se os usuários deixassem de frequentar a LAN por motivos de perda de dados.

Imaginem só: o cara está navegando, trabalho e tal e de repente o micro reinicia? Precisa ter tempo para salvar, terminar de escrever um e-mail, etc...
Seria melhor travar a tela e daí o cara vai e pode fechar tudo com segurança.

luizsouza99

#49
o dir uso deve existir, exemplo: /home/luiz "usu" é uma variavel para instalar em qualquer computador independente do nome de usuário

também concordo com relação a perda de dados, mas parece que atende o nosso amigo, eu até pedi ele para pesquisar um comando que travasse a tela, mas ele não achou

dá para fazer um monte de melhoria como adicionar tempo, avisar ao usuario que faltam 5 minutos etc. por enquanto eu fiz este que pode atender para algumas pessoas

e usar um comando visivel no terminal iria dar margem para que o usuário desse um control C