Suspender e ativar o PC em determinado momento

Respostas:

9

Você pode fazer (pelo menos metade disso) isso com o Gnome Schedule . ( sudo apt-get install gnome-schedule) (NB: ele é colocado no seu iniciador como Tarefas agendadas , embora digitar gnome-schedule ainda o exiba.)

Após iniciá-lo, "Novo" -> "Tarefa Recorrente". Preencha o formulário como achar melhor.

O comando para hibernar é /usr/sbin/pm-hibernate(Suspender é /usr/sbin/pm-suspend)

Em relação a acordar novamente, consulte "Como faço para agendar o acordar da hibernação?"


Como alternativa, você pode instalar a "interface de gerenciamento de energia". ( sudo apt-get install powermanagement-interface)

Em seguida, crie um script como este:

#!/bin/bash
# This script puts the system under standby mode for x hours
usage() {
echo "usage: $0 <n-hours>"
echo "where <n-hours> is the number of hours to be on standby"
exit 0

}
if [ $# -ne 1 ]
then
usage
fi

PATH=$PATH:/usr/sbin
hours=$1
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo `date '+%s' -d "+ $hours hours"` > /sys/class/rtc/rtc0/wakealarm
## Edit the above line to get the exact length of hibernation you want
pmi action suspend

E programe-o no crontab da raiz.

Fonte

John
fonte
19

Como fazer o seu PC Linux acordar automaticamente

Deseja colocar seu PC Linux no modo de suspensão ou hibernação e ativá-lo automaticamente em um horário específico? Você pode fazer isso facilmente com o comando rtcwake, incluído por padrão na maioria dos sistemas Linux.

Isso pode ser útil se você quiser que seu computador faça algo em um horário específico, mas não o execute 24 horas por dia, 7 dias por semana. Por exemplo, você pode colocar seu computador em modo noturno e acordá-lo antes de executar alguns downloads.

Usando rtcwake

O comando rtcwake requer permissões de root, portanto, ele deve ser executado com o sudo no Ubuntu e em outras distribuições derivadas do Ubuntu. Nas distribuições Linux que não usam o sudo, você deverá fazer login como root com o comando su primeiro.

Aqui está a sintaxe básica do comando:

sudo rtcwake -m [type of suspend] -s [number of seconds]

Por exemplo, o comando a seguir suspende seu sistema para o disco (o hiberna) e o ativa 60 segundos depois:

sudo rtcwake -m disk -s 60

Tipos de suspensão

A opção -m aceita os seguintes tipos de suspensão:

modo de espera - O modo de espera oferece pouca economia de energia, mas a restauração em um sistema em execução é muito rápida. Este é o modo padrão se você omitir a opção -m.

mem - Suspender para RAM. Isso oferece economia significativa de energia - tudo é colocado em um estado de baixa energia, exceto a sua RAM. O conteúdo da sua memória é preservado.

disk - Suspender para o disco. O conteúdo da sua memória é gravado no disco e o computador está desligado. O computador ligará e seu estado será restaurado quando o cronômetro terminar.

off - Desligue o computador completamente. A página de manual do rtcwake observa que a restauração de "off" não é oficialmente suportada pela especificação ACPI, mas funciona com muitos computadores de qualquer maneira.

não - não suspenda o computador imediatamente, apenas defina a hora de ativação. Por exemplo, você pode dizer ao seu computador para acordar às 6h. Depois disso, você pode colocá-lo no modo de suspensão manualmente às 23:00 ou 01:00 - de qualquer forma, ele acordará às 06:00.

Segundos vs. Tempo Específico

A opção -s leva alguns segundos no futuro. Por exemplo, -s 60 ativa seu computador em 60 segundos, enquanto -s 3600 ativa seu computador em uma hora.

A opção -t permite que você ative o computador em um horário específico. Essa opção deseja alguns segundos desde a época do Unix (00:00:00 UTC em 1 de janeiro de 1970). Para fornecer facilmente o número correto de segundos, combine o comando date com o comando rtcwake.

A opção -l informa ao rtcwake que o relógio do hardware está definido para a hora local, enquanto a opção -u informa ao rtcwake que o relógio do hardware (no BIOS do computador) está definido no horário UTC. As distribuições Linux geralmente ajustam o relógio do seu hardware para a hora UTC e traduzem para a hora local.

Por exemplo, para que seu computador seja ativado às 6:30 da manhã de amanhã, mas não seja suspenso imediatamente (supondo que o relógio do hardware esteja definido como hora local), execute o seguinte comando:

sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)

Socorro

One Zero
fonte
1
Uma boa redação do rtcwake está nessa questão. Ele oferece a solução completa: askubuntu.com/questions/61708/…
gare
6
Por favor, ao copiar e colar de um site, forneça pelo menos o URL: howtogeek.com/121241/…
hanoo
Parece que o rtcwake não consegue se lembrar de várias instâncias, então como faço para o computador acordar, digamos, a cada hora?
Yan King Yin
1

Você pode tentar configurar o BIOS para um evento de ativação. Quase todas as placas-mãe têm esse recurso, usam o manual mb e descobrem que, em algumas biografias da AMI, ele é chamado Wake up by RTC alarm, acho que essa é a maneira mais fácil de acorde o PC em um horário específico

Prasad RD
fonte
0

Portanto, se alguém estiver interessado, é isso que eu achei que funciona, sem precisar instalar nada e como não raiz.

Use este código de comando:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

e para atrasá-lo, use o comando sleep com um número com smh ou d (seg, min, dia, hora) e com a;

exemplo Código:

sleep 60s; dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Isso suspende o computador após 60 segundos

AndyDaSilva52
fonte