Risposte:
Puoi farlo (almeno la metà) con Gnome Schedule . ( sudo apt-get install gnome-schedule
) (NB: viene messo nel tuo programma di avvio come Operazioni pianificate , anche se digitando gnome-schedule lo porta ancora.)
Dopo averlo avviato, "Nuovo" -> "Attività ricorrente". Compila il modulo come ritieni opportuno.
Il comando per ibernare è /usr/sbin/pm-hibernate
(Suspend is /usr/sbin/pm-suspend
)
Per quanto riguarda il risveglio, vedere "Come posso programmare il risveglio dal letargo?"
In alternativa, è possibile installare "l'interfaccia di gestione dell'alimentazione". ( sudo apt-get install powermanagement-interface
)
Quindi crea uno script come questo:
#!/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 programmalo nel crontab della radice.
Vuoi mettere il tuo PC Linux in modalità sospensione o ibernazione e farlo riattivare automaticamente in un momento specifico? Puoi farlo facilmente con il comando rtcwake, incluso di default nella maggior parte dei sistemi Linux.
Questo può essere utile se vuoi che il tuo computer faccia qualcosa in un momento specifico, ma non vuoi che funzioni 24/7. Ad esempio, è possibile mettere in sospensione il computer durante la notte e farlo svegliare prima di eseguire alcuni download.
Il comando rtcwake richiede i permessi di root, quindi deve essere eseguito con sudo su Ubuntu e altre distribuzioni derivate da Ubuntu. Sulle distribuzioni Linux che non usano sudo, dovrai prima accedere come root con il comando su.
Ecco la sintassi di base del comando:
sudo rtcwake -m [type of suspend] -s [number of seconds]
Ad esempio, il comando seguente sospende il sistema su disco (ibernalo) e lo riattiva 60 secondi dopo:
sudo rtcwake -m disk -s 60
L' opzione -m accetta i seguenti tipi di sospensione:
standby : lo standby offre pochi risparmi energetici, ma il ripristino su un sistema in esecuzione è molto rapido. Questa è la modalità predefinita se si omette l'opzione -m.
mem - Sospendi su RAM. Ciò offre un notevole risparmio energetico: tutto viene messo in uno stato di basso consumo, tranne la RAM. Il contenuto della tua memoria viene conservato.
disk - Sospendi su disco. Il contenuto della memoria viene scritto su disco e il computer è spento. Il computer si accenderà e il suo stato verrà ripristinato al termine del timer.
spento : spegne completamente il computer. La pagina man di rtcwake osserva che il ripristino da "off" non è ufficialmente supportato dalla specifica ACPI, ma funziona comunque con molti computer.
no - Non sospendere immediatamente il computer, basta impostare l'ora di sveglia. Ad esempio, potresti dire al tuo computer di svegliarsi alle 6 del mattino. Dopodiché, puoi metterlo a dormire manualmente alle 23:00 o all'01: in entrambi i casi, si sveglia alle 6:00.
L' opzione -s richiede un numero di secondi in futuro. Ad esempio, -s 60 riattiva il computer in 60 secondi, mentre -s 3600 riattiva il computer in un'ora.
L' opzione -t ti consente di riattivare il computer in un momento specifico. Questo passaggio richiede alcuni secondi dall'epoca di Unix (00:00:00 UTC del 1 ° gennaio 1970). Per fornire facilmente il numero corretto di secondi, combinare il comando date con il comando rtcwake.
L' opzione -l dice a rtcwake che l'orologio hardware è impostato sull'ora locale, mentre l'opzione -u dice a rtcwake che l'orologio hardware (nel BIOS del computer) è impostato sull'ora UTC. Le distribuzioni Linux spesso impostano l'orologio hardware sull'ora UTC e lo traducono nell'ora locale.
Ad esempio, per riavviare il computer alle 6:30 di domani ma non sospenderlo immediatamente (supponendo che l'orologio hardware sia impostato sull'ora locale), eseguire il comando seguente:
sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)
Quindi, se qualcuno è interessato, questo è quello che ho scoperto che funziona, senza dover installare nulla e come non root.
Usa questo codice di comando:
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
e per ritardarlo usa il comando sleep con un numero con smh o d (sec, min, giorno, ora) e con a;
codice di esempio:
sleep 60s; dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
Ciò sospende il computer dopo 60 secondi