Como posso desligar o sistema automaticamente após um tempo específico?

Respostas:

49

Abra uma janela do terminal e digite:

sudo shutdown -h +60

e substitua 60 por qualquer número de minutos que você desejar.

Mais informações aqui:

http://ubuntuforums.org/archive/index.php/t-473173.html http://www.linux.org/lessons/beginner/l5/lesson5a.html

Daniel
fonte
2
O -Pparâmetro (desligado) também parece ser uma boa ideia.
htorque
shutdown + m 60 não funciona para mim. me dá uma mensagem de erro e diz que há um valor de tempo inválido.
NES
Eu pensei que era estranho ... não deveria ser "+ m 60", deveria ser "+60" (ou talvez mais como "-h +60". A parte inferior desta página parece saber como funciona: linux.org/lessons/beginner/l5/lesson5a.html .
Daniel
"shutdown -P 1" - funciona bem e desliga o sistema em 1 minuto, sem necessidade de unidade de tempo.
N3rd 02/08/19
2
na verdade, a sua sudo ..... porque privilégios necessidade de raiz
Shirish Herwade
8
  • Você pode usar o gshutdown Instale o gshutdown
  • Após a instalação, ele pode ser encontrado em Aplicativos → Acessórios → GShutdown texto alternativo
  • Também dê uma olhada neste método .
karthick87
fonte
Alguém pode me dizer por que votam?
precisa saber é o seguinte
2
Eu não votei. Mas Gshutdown não funciona sem problemas aqui. Quando eu escolho o desligamento, ele desconecta o usuário?
NES
Eu também, ele registra o usuário para fora e o laptop vai para o modo de suspensão
lewis4u
2

Como o tópico abt de desligar o PC após certo período de inatividade é redirecionado para este tópico, explicarei esse problema aqui.

Gastei muito tempo para resolver esse problema, por isso acho útil compartilhá-lo, para simplificar o mesmo problema para outras pessoas. Eu tentei programas diferentes, mas eles não funcionaram para mim, então achei o uso de scripts curtos com cronjob a melhor solução.

Em primeiro lugar, referi-me a publicar o desligamento programado - desligamento após 30 minutos

Vou copiá-lo abaixo e depois explicar as melhorias para fazê-lo funcionar:

Instale o xprintidle. Essa ferramenta fornece o tempo ocioso de um usuário.

sudo apt-get install xprintidle

Crie um script autoshutdown.sh que verifique o tempo de inatividade e instrua o computador a desligar se ficar inativo por 30 minutos.

idle=$(xprintidle)

if [ $idle -gt 1800000 ]; then
    shutdown -h now
fi

Faça um cronograma para isso, que verifique periodicamente se o sistema ficou inativo por muito tempo e se ficou inativo por mais de 30 minutos, ele será encerrado. Observe que o cronjob deve ser feito para o usuário root.


Este script precisa de algumas melhorias para funcionar, como:

idle=`env DISPLAY=:0 su OUR_USER -c xprintidle 2>&1`

OUR_USER é o usuário ao qual nos referimos para verificar o tempo ocioso (não o usuário root)

DISPLAY=:0está correto para um monitor da área de trabalho (execute o envcomando para ler DISPLAYna sua situação)

se o script for executado OUR_USER, a linha acima pode ser reduzida:

idle=`env DISPLAY=:0 xprintidle 2>&1`

Este tópico está descrito em http://ubuntuforums.org/showthread.php?t=1069602

se o script for executado OUR_USER, o shutdowncomando deve ser precedido porsudo

sudo shutdown -h now

Meu script foi executado a partir do cron por linha no arquivo cron:

*/5 * * * * /home/OUR_USER/autoshutdown.sh 
  • a cada 5 minutos
  • OUR_USER deve ser substituído como anteriormente para o usuário ao qual nos referimos.

Se o script não for executado pela raiz, lembre-se de adicionar a linha:

ALL ALL=(ALL) NOPASSWD: /sbin/shutdown 

no arquivo sudoers , portanto, o comando shutdown não precisará de uma senha para ser executada.


Eu tentei esses cronjobs em 2 distros semelhantes Lubuntu 12.04.4 RC LXLE de 32 bits ( http://www.lxle.net/ )

Em um sistema, ele funciona apenas usando o cronjob raiz definido no arquivo:

/ var / spool / cron / crontabs / root


EMBARGO

Outro problema é que o xprintidle no meu sistema atribuiu valores às vezes aleatórios para mim e às vezes logicamente incrementais. O resultado final - meu sistema geralmente foi desligado após 20 minutos, talvez, se eu definir o valor máximo de inatividade para 30 minutos. Eu acho que o culpado é o xscreensaver, que não funciona conforme definido pelos parâmetros inseridos.

Michał
fonte