Fórum Ubuntu Linux - PT
Área para Iniciantes => Iniciantes => Tópico iniciado por: mkevsison em 24 de Maio de 2014, 13:19
-
Olá! eu não precizo de um programa completo, só quero um que você coloque o tempo no proprio computador, e quando ele teminar que bloquei o pc, e que seja simples
-
Olá! eu não precizo de um programa completo, só quero um que você coloque o tempo no proprio computador, e quando ele teminar que bloquei o pc, e que seja simples
Veja se o qshutdown resolve seu problema.
Ele está disponível na central de programas.
-
Ele faz uso de senha?
-
Ele faz uso de senha?
faça um script que inicie um tempo e após isto ele toma determinada ação.
desliga.sh //Nome do teu script e depois deixe ele como executavel, mova ele para os binarios, após isto é só fazer a chamada dele quando necessário apenas digitando desliga.sh
-
tem uma extesão para gnome-shell que pode lhe ser útil se chama pomodoro
https://extensions.gnome.org/#
-
se vc der uma pesquisada tem muitos aplicativos para lan house
se não achar nenhum programa que sirva eu posso te ajudar a fazer um script que atenda
usamos uma conta do drobbox e no seu pc principal vc vai colocando o tempo de cada maquina, o script vai ler este arquivo que vc editou no pc principal e executar a função desejada quando o tempo acabar
facil demais, é só descobrir qual comando vc quer executar, por exemplo um que bloqueie a tela ou reinicie e quando o SO subir pedir senha etc...
-
se vc der uma pesquisada tem muitos aplicativos para lan house
se não achar nenhum programa que sirva eu posso te ajudar a fazer um script que atenda
usamos uma conta do drobbox e no seu pc principal vc vai colocando o tempo de cada maquina, o script vai ler este arquivo que vc editou no pc principal e executar a função desejada quando o tempo acabar
facil demais, é só descobrir qual comando vc quer executar, por exemplo um que bloqueie a tela ou reinicie e quando o SO subir pedir senha etc...
Não faço a mínima idéia de como fazer um script, se você mim ajudar ficarei muito grato!
-
nós podemos ir montando o script aqui mesmo, só que como falei acima, dá uma pesquisada em aplicativos para lan house, caso os mesmos não atendam a gente cria um
e já vai dando uma olhada no shell script do zero
http://ubuntuforum-br.org/index.php/topic,110871.0.html
-
nós podemos ir montando o script aqui mesmo, só que como falei acima, dá uma pesquisada em aplicativos para lan house, caso os mesmos não atendam a gente cria um
e já vai dando uma olhada no shell script do zero
http://ubuntuforum-br.org/index.php/topic,110871.0.html
Eu tou lendo esse tutorial, quando terminar volto aqui!
-
Li todo o tutorial e já sei o básico sobre o shel script
-
já estou escrevendo aqui daqui a pouco posto
-
já estou escrevendo aqui daqui a pouco posto
Muito obrigado mesmo!
-
estou fazendo o programa aqui, só que não encontro um comando para bloquear a tela, por enquanto o pc vai reiniciar após o termino do tempo (então o login na maquina deve ter senha)
dá uma olhada se vc acha o comando que bloqueia a tela, ai vc me passa
-
estou fazendo o programa aqui, só que não encontro um comando para bloquear a tela, por enquanto o pc vai reiniciar após o termino do tempo (então o login na maquina deve ter senha)
dá uma olhada se vc acha o comando que bloqueia a tela, ai vc me passa
Tenta logout
-
isso não funciona pelo terminal, mas já tá pronto, e funcionando com o reboot
vou escrever a explicação e posto
-
o passo a passo esta ficando muito grande, vc quer que eu faça um script instalador ou vc dá conta do passo a passo ?
é porque tem que colocar o script na inicialização, dá permissão de execução etc
-
o passo a passo esta ficando muito grande, vc quer que eu faça um script instalador ou vc dá conta do passo a passo ?
é porque tem que colocar o script na inicialização, dá permissão de execução etc
Do jeito que você achar que é mais fácil
-
Olha esse link http://wiki.ubuntu-br.org/Linhas%20de%20Comando%20Bash%20para%20Linux
-
vou dar uma olhada, mas como estou finalizando o script, deixa para depois que a gente só troca o comando que reinicia por outro
-
se vc for muito iniciante vai penar um pouco para fazer rodar, mas não tem erro
-
Vamos começar usando ele apenas na maquina 1 para testar, vc precisa de um arquivo de texto na home dela chamado .estado1, começa com ponto para ser oculto e ninguém mexer. Para visualizá-lo basta dar control + H
é neste arquivo que o programa vai ler quanto tempo deve ficar funcionando, e o comando você vai escrever pela maquina “chefe”, então o arquivo deve estar compartilhado com a maquina “chefe” para que você altere o arquivo por ela (seja pelo dropbox, samba, nfs etc) você que sabe.
Temos dois tipos de comandos:
espera = com este comando o script lê mas não marca tempo
O outro comando você coloca em segundos, que significa quantos segundos a maquina vai ficar ligada (você escreve só os números no arquivo compartilhado .estado1)
1800= 30 minutos
3600 = 1 hora
7200= 2 horas
10800= 3 horas
14.00= 4 horas
etc.
Vamos supor você escreve 1800, o programa vai ler, ficar 1800 segundos aguardando (30 minutos) e depois disto ele reinicia e o cliente não vai conseguir passar da tela de login depois do reboot.
Então imagina só, você esta na sua maquina principal com uma pasta tendo todos os arquivos de todas as maquinas, e em todos está escrito “espera”, o cliente vai e compra 1 hora, você abre o arquivo texto correspondente a maquina que o cliente vai usar e escreve 3600, no máximo de 5 segundos o programa vai “pescar” o tempo e dormir pelo tempo que você determinou, depois que o tempo acabar ele vai reiniciar e o cliente não sabendo a senha do login não faz mais nada.
Depois podemos incrementar o programa avisando ao cliente que faltam apenas 5 minutos, fazer o programa calcular em horas ao invés de digitar em segundos, mas se tiver necessidade e depois de testá-lo.
nos testes você pode usar o comando ./script para testar, ou seja, deixa ele na home e com o terminal na home você dá este comando e vai testando, pra depois colocar na inicialização
Abaixo o codigo, coloque ele num arquivo texto programas tipo pluma, gedit etc. (não é libre office),
coloca ele no diretório /etc/init.d,
dá permissão de execução chmod +x /etc/init.d/script
coloca na inicialização bastando indicar o caminho dele no arquivo /etc/rc.local
exemplo: /etc/init.d/script
parece complicado mais depois que fizer vai ver que é tranquilo, codigo:
#!/bin/bash
# Loop infinito
for (( loop=1;loop>0;loop++));do
sleep 5
ESTADO=$(cat $HOME/.estado1) # recebendo o valor da maquina "chefe"
if [ "$ESTADO" != "espera" ];then
sleep $ESTADO # o programa vai dormir até que o tempo se esgote
echo "espera" > $HOME/.estado1 # resetando o valor do estado
reboot
fi
done
-
há se vc for testar pelo terminal, ele não vai reiniciar se não for root
e tem que criar o arquivo estado e salvar a palavra espera dentro para funcionar
-
Desculpa a demora, tou começando ler o script agora
-
Vamos começar usando ele apenas na maquina 1 para testar, vc precisa de um arquivo de texto na home dela chamado .estado1, começa com ponto para ser oculto e ninguém mexer. Para visualizá-lo basta dar control + H
é neste arquivo que o programa vai ler quanto tempo deve ficar funcionando, e o comando você vai escrever pela maquina “chefe”, então o arquivo deve estar compartilhado com a maquina “chefe” para que você altere o arquivo por ela (seja pelo dropbox, samba, nfs etc) você que sabe.
Temos dois tipos de comandos:
espera = com este comando o script lê mas não marca tempo
O outro comando você coloca em segundos, que significa quantos segundos a maquina vai ficar ligada (você escreve só os números no arquivo compartilhado .estado1)
1800= 30 minutos
3600 = 1 hora
7200= 2 horas
10800= 3 horas
14.00= 4 horas
etc.
Vamos supor você escreve 1800, o programa vai ler, ficar 1800 segundos aguardando (30 minutos) e depois disto ele reinicia e o cliente não vai conseguir passar da tela de login depois do reboot.
Então imagina só, você esta na sua maquina principal com uma pasta tendo todos os arquivos de todas as maquinas, e em todos está escrito “espera”, o cliente vai e compra 1 hora, você abre o arquivo texto correspondente a maquina que o cliente vai usar e escreve 3600, no máximo de 5 segundos o programa vai “pescar” o tempo e dormir pelo tempo que você determinou, depois que o tempo acabar ele vai reiniciar e o cliente não sabendo a senha do login não faz mais nada.
Depois podemos incrementar o programa avisando ao cliente que faltam apenas 5 minutos, fazer o programa calcular em horas ao invés de digitar em segundos, mas se tiver necessidade e depois de testá-lo.
nos testes você pode usar o comando ./script para testar, ou seja, deixa ele na home e com o terminal na home você dá este comando e vai testando, pra depois colocar na inicialização
Abaixo o codigo, coloque ele num arquivo texto programas tipo pluma, gedit etc. (não é libre office),
coloca ele no diretório /etc/init.d,
dá permissão de execução chmod +x /etc/init.d/script
coloca na inicialização bastando indicar o caminho dele no arquivo /etc/rc.local
exemplo: /etc/init.d/script
parece complicado mais depois que fizer vai ver que é tranquilo, codigo:
#!/bin/bash
# Loop infinito
for (( loop=1;loop>0;loop++));do
sleep 5
ESTADO=$(cat $HOME/.estado1) # recebendo o valor da maquina "chefe"
if [ "$ESTADO" != "espera" ];then
sleep $ESTADO # o programa vai dormir até que o tempo se esgote
echo "espera" > $HOME/.estado1 # resetando o valor do estado
reboot
fi
done
Cara mim desculpe mas não sei nem por onde eu começo. :-[
-
vou fazer o script de instalação que vai diminuir bastante a explicação
-
vou fazer o script de instalação que vai diminuir bastante a explicação
Assim concerteza irá ficar mais fácil
-
nós temos que compartilhar um arquivo texto entre maquina cliente e servidor, para isto vamos usar o dropbox, veja o tutorial abaixo
http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2012/02/como-instalar-e-usar-o-dropbox-no-ubuntu-1110.html
-
Acho que você terá dificuldades somente no Dropbox, não instala o programa se o dropbox não estiver ok, qualquer coisa eu te dou uma ajuda
Requerimento:
Ter o Dropbox instalado na maquina cliente e principal (a mesma conta), verifique se a pasta Dropbox apareceu na home
Você vai baixar o script no link http://www.mediafire.com/download/f041157dc1cciw3/lan
- Cole ele na sua home
- Abra o terminal
- Dê o comando ./lan para executa-lo (não esteja logado como root)
- O resto ele faz sozinho, como vai instalar na inicialização ele vai pedir senha
- Depois de alguns segundos o pc vai reiniciar, pronto já estará instalado
Usando:
Como você terá a mesma conta do dropbox no cliente e principal os arquivos serão idênticos, quando você mudar no pc principal o cliente já vai receber esta modificação e consequentemente o programa vai ler o tempo que você deu para o cliente.
No arquivo “estado” que estará compartilhado você coloca o tempo para o cliente (em segundos) abaixo a tabela para te ajudar, nos testes coloque poucos segundos só para ver se a maquina cliente vai reiniciar.
1800= 30 minutos
3600 = 1 hora
7200= 2 horas
10800= 3 horas
14.00= 4 horas
etc.
-
Obrigado, quando eu chegar em casa vou fazer a instalação!
-
Criou um novo arquivo lan.txt na mesma pasta onde coloquei o arquivo lan. E já fiz a instalação, no meu pc principal, já vi o arquivo estado.
devo instalar o mesmo programa no pc do cliente?
-
Ficaria mais fácil se você mim desse sua conta do skype
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
pois mim da seu e-mail
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
pois mim da seu e-mail
Por favor, pare de escrever mim. Escreva me.
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
pois mim da seu e-mail
Por favor, pare de escrever mim. Escreva me.
Kkk tabem mas por que isso lhe incomoda?
-
mim vai mandar agora via mensagem privada kkkkkkkkkkkkkkkkkkk
-
kk blz
-
enviado !!!
-
Descobrir o problema, como executamos o programa em root ele procurou o arquivo na home do root e não na sua home
Então coloquei o caminho completo da sua home
/home/kevison-pc/Dropbox/lan/.estado
não tem mais erro, porque ele conseguirá ler o arquivo, só vai dar erro se a sua home estiver com o nome errado.
Basta finalizar aquele teste que começamos:
1º verifica o nome do diretório e arquivo, deve estar idêntico: /home/kevison-pc/Dropbox/lan/.estado
2º roda este script modificado (como root) http://www.mediafire.com/download/58lz5e36lg5447a/lan
3º deixa ele rodar por pelo menos 10 segundos para ver se não reiniciar
4º se não tiver reiniciado altere o arquivo .estado (com o programa rodando) coloque 20 nele e se +-20 segundos depois o pc reiniciar, quer dizer que esta tudo funcionando
e se estiver funcionado me fala que te passo outro instalador para você não ter nenhum trabalho na instalação
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
pois mim da seu e-mail
Por favor, pare de escrever mim. Escreva me.
Kkk tabem mas por que isso lhe incomoda?
Não é questão de incomodar, ou não. É apenas uma crítica construtiva, para que torne a leitura no fórum mais agradável. Já que estamos aqui para ensinar e aprender, não custa fazer bem feito, não é!
-
Descobrir o problema, como executamos o programa em root ele procurou o arquivo na home do root e não na sua home
Então coloquei o caminho completo da sua home
/home/kevison-pc/Dropbox/lan/.estado
não tem mais erro, porque ele conseguirá ler o arquivo, só vai dar erro se a sua home estiver com o nome errado.
Basta finalizar aquele teste que começamos:
1º verifica o nome do diretório e arquivo, deve estar idêntico: /home/kevison-pc/Dropbox/lan/.estado
2º roda este script modificado (como root) http://www.mediafire.com/download/58lz5e36lg5447a/lan
3º deixa ele rodar por pelo menos 10 segundos para ver se não reiniciar
4º se não tiver reiniciado altere o arquivo .estado (com o programa rodando) coloque 20 nele e se +-20 segundos depois o pc reiniciar, quer dizer que esta tudo funcionando
e se estiver funcionado me fala que te passo outro instalador para você não ter nenhum trabalho na instalação
Deu certo funcionou!
-
kkkkkkkkkk, sabia, o conceito do script é bem simples o complicado é só colocar na inicialização e arquivos de leitura
lembra que a gente começou a instalar outro antes dele ? deleta só para não dar problema
sudo rm -rf /etc/init.d/lan
e dá uma olhada se no /etc/rc.local ficou alguma linha dele
me passa por email o nome do todos os usuários das outras maquinas, e enquanto isto deixa os arquivos "estado" prontos em todas as maquinas
exemplo: a maquina que a gente mexeu /home/kevison-pc/lan/.estado1 a maquina 2 coloca estado2 .... tira aquele diretório dropbox, deixa só /home/usuario/lan/estadoX
-
pelo chat do face ou gmail pra mim é mais facil
esqueci de falar, vc instala o programa na maquina cliente, a unica coisa que vc terá na maquina principal é a pasta compartilhada para que vc escreva o tempo para o cliente
pois mim da seu e-mail
Por favor, pare de escrever mim. Escreva me.
Kkk tabem mas por que isso lhe incomoda?
Não é questão de incomodar, ou não. É apenas uma crítica construtiva, para que torne a leitura no fórum mais agradável. Já que estamos aqui para ensinar e aprender, não custa fazer bem feito, não é!
Obrigado! Agora aprendi como ser educado e cortês nas respostas em qualquer discussão! Excelente exemplo! ;D
-
kkkkkkkkkk, sabia, o conceito do script é bem simples o complicado é só colocar na inicialização e arquivos de leitura
lembra que a gente começou a instalar outro antes dele ? deleta só para não dar problema
sudo rm -rf /etc/init.d/lan
e dá uma olhada se no /etc/rc.local ficou alguma linha dele
me passa por email o nome do todos os usuários das outras maquinas, e enquanto isto deixa os arquivos "estado" prontos em todas as maquinas
exemplo: a maquina que a gente mexeu /home/kevison-pc/lan/.estado1 a maquina 2 coloca estado2 .... tira aquele diretório dropbox, deixa só /home/usuario/lan/estadoX
ja fiz e mandei por e-mail
-
mandei a solução por email e coloco ela aqui para futuras pesquisas.
vai ficar meio escondido se quiserem colocar em outro lugar (já que é um script funcionando para lan house)
como funciona:
A cada 5 segundos o script verifica um arquivo-texto que deve ficar compartilhado com a maquina principal, caso o dono receba algum cliente ele escreve neste arquivo-texto o tempo em segundos (tem tabela de conversão no instalador), o programa aguarda este tempo e reinicia o pc, assim o usuário fica "preso" na tela de login.
para executa-lo: ./instalador
É compatível com qualquer quantidade de maquinas
Download (http://www.mediafire.com/download/vnhx8bjam5esok8/instalador)
-
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
-
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?
-
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+
-
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.
-
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