Suspendre et réactiver le PC à un certain moment

Réponses:

9

Vous pouvez le faire (au moins la moitié) avec Gnome Schedule . ( sudo apt-get install gnome-schedule) (NB: il est mis dans votre lanceur en tant que tâches planifiées , bien que taper gnome-schedule le fasse toujours apparaître.)

Après l'avoir lancé, "Nouveau" -> "Tâche récurrente". Remplissez le formulaire comme bon vous semble.

La commande d'hibernation est /usr/sbin/pm-hibernate(Suspendre est /usr/sbin/pm-suspend)

En ce qui concerne le réveil, veuillez consulter "Comment planifier le réveil de l'hibernation?"


Alternativement, vous pouvez installer "l'interface de gestion de l'alimentation". ( sudo apt-get install powermanagement-interface)

Créez ensuite un script comme celui-ci:

#!/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

Et planifiez-le dans la crontab de la racine.

La source

John
la source
19

Comment faire pour que votre PC Linux se réveille automatiquement du mode veille

Vous voulez mettre votre PC Linux en mode veille ou hibernation et le faire se réveiller automatiquement à une heure spécifique? Vous pouvez facilement le faire avec la commande rtcwake, incluse par défaut avec la plupart des systèmes Linux.

Cela peut être utile si vous voulez que votre ordinateur fasse quelque chose à un moment précis, mais que vous ne voulez pas qu'il fonctionne 24 heures sur 24, 7 jours sur 7. Par exemple, vous pouvez mettre votre ordinateur en veille la nuit et le faire se réveiller avant d'effectuer certains téléchargements.

Utilisation de rtcwake

La commande rtcwake nécessite des autorisations root, elle doit donc être exécutée avec sudo sur Ubuntu et d'autres distributions dérivées d'Ubuntu. Sur les distributions Linux qui n'utilisent pas sudo, vous devrez d'abord vous connecter en tant que root avec la commande su.

Voici la syntaxe de base de la commande:

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

Par exemple, la commande suivante suspend votre système sur le disque (le met en veille prolongée) et le réveille 60 secondes plus tard:

sudo rtcwake -m disk -s 60

Types de suspension

Le commutateur -m accepte les types de suspension suivants:

veille - La veille offre peu d'économies d'énergie, mais la restauration sur un système en cours d'exécution est très rapide. Il s'agit du mode par défaut si vous omettez le commutateur -m.

mem - Suspendre à la RAM. Cela offre des économies d'énergie importantes - tout est mis dans un état de faible consommation, sauf votre RAM. Le contenu de votre mémoire est conservé.

disque - Suspendre sur le disque. Le contenu de votre mémoire est écrit sur le disque et votre ordinateur est éteint. L'ordinateur s'allumera et son état sera restauré une fois le chronomètre terminé.

éteint - Éteignez complètement l'ordinateur. La page de manuel de rtcwake note que la restauration à partir de «off» n'est pas officiellement prise en charge par la spécification ACPI, mais cela fonctionne quand même avec de nombreux ordinateurs.

non - Ne suspendez pas immédiatement l'ordinateur, réglez simplement l'heure de réveil. Par exemple, vous pouvez demander à votre ordinateur de se réveiller à 6 heures du matin. Après cela, vous pouvez le mettre en veille manuellement à 23 heures ou 1 heure du matin - dans les deux cas, il se réveillera à 6 heures du matin.

Secondes vs temps spécifique

L' option -s prendra un certain nombre de secondes à l'avenir. Par exemple, -s 60 réveille votre ordinateur en 60 secondes, tandis que -s 3600 réveille votre ordinateur en une heure.

L' option -t vous permet de réveiller votre ordinateur à une heure précise. Ce commutateur nécessite un certain nombre de secondes depuis l'époque Unix (00:00:00 UTC le 1er janvier 1970). Pour fournir facilement le nombre correct de secondes, combinez la commande date avec la commande rtcwake.

Le commutateur -l indique à rtcwake que l'horloge matérielle est définie sur l'heure locale, tandis que le commutateur -u indique à rtcwake que l'horloge matérielle (dans le BIOS de votre ordinateur) est définie sur l'heure UTC. Les distributions Linux règlent souvent votre horloge matérielle sur l'heure UTC et la traduisent en heure locale.

Par exemple, pour que votre ordinateur se réveille à 6h30 demain mais ne se suspende pas immédiatement (en supposant que votre horloge matérielle est réglée sur l'heure locale), exécutez la commande suivante:

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

Aidez-moi

One Zero
la source
1
Une belle rédaction de rtcwake est à cette question. Il offre une solution complète: askubuntu.com/questions/61708/…
gare
6
S'il vous plaît, lorsque vous copiez / collez à partir d'un site Web, donnez au moins l'URL: howtogeek.com/121241/…
hanoo
Il semble que rtcwake ne se souvienne pas de plusieurs instances, alors comment faire pour que l'ordinateur se réveille, disons, toutes les heures?
Yan King Yin du
1

Vous pouvez essayer de configurer le BIOS pour un événement de réveil, presque toutes les cartes mères ont cette fonctionnalité, utilisez votre manuel de mb et découvrez-le, dans certains bios AMI, cela s'appelle Wake up by RTC alarm, je pense que c'est le moyen le plus simple de réveiller le PC à une heure précise

Prasad RD
la source
0

Donc, si quelqu'un est intéressé, c'est ce que j'ai trouvé qui fonctionne, sans avoir à installer quoi que ce soit et en tant que non root.

Utilisez cette commande Code:

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

et pour le retarder, utilisez la commande sleep avec un nombre avec smh ou d (sec, min, day, hour) et avec a;

exemple de code:

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

Cela suspend l'ordinateur après 60 secondes

AndyDaSilva52
la source