web-dev-qa-db-fra.com

Suspendre et réveiller le PC à une heure donnée

Je veux que mon PC dorme à 4h58 et se réveille à 5h15 tous les jours.

Comment je fais ça?

22
One Zero

Vous pouvez faire (au moins la moitié) ceci 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 vous tapiez gnome-schedule l'apporte toujours.)

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

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

Pour en savoir plus sur le réveil, veuillez vous reporter à "Comment planifier mon réveil de l'hibernation?"


Vous pouvez également installer "l'interface de gestion de l'alimentation". (Sudo apt-get install powermanagement-interface)

Ensuite, créez 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 le programmer dans la crontab de la racine.

Source

9
John

Comment faire sortir automatiquement votre PC Linux de son sommeil

Vous souhaitez mettre votre PC Linux en mode veille ou veille prolongée et le faire se réveiller automatiquement à une heure précise? 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 ne le voulez pas 24 heures sur 24, 7 jours sur 7. Par exemple, vous pouvez mettre votre ordinateur en veille la nuit et le laisser vous réveiller avant d'effectuer certains téléchargements.

Utiliser 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 devez d’abord vous connecter en tant qu’utilisateur 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) et le réactive 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 fonctionnement est très rapide. Ceci est le mode par défaut si vous omettez le commutateur -m.

mem - Suspend to RAM. Cela permet d’économiser beaucoup d’énergie: tout est mis en veille, à l’exception de votre RAM. Le contenu de votre mémoire est préservé.

disk - 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é à la fin du chronomètre.

off - Éteignez complètement l'ordinateur. La page de manuel de rtcwake indique que la spécification ACPI ne prend pas officiellement en charge la restauration à partir de "off", mais que cela fonctionne avec de nombreux ordinateurs.

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

Secondes par rapport au temps spécifique

L'option - s prend plusieurs secondes dans le futur. Par exemple, -s 60 réveille votre ordinateur en 60 secondes, tandis que -s 3600 le fait en une heure.

L'option - t vous permet de réactiver votre ordinateur à une heure précise. Ce commutateur demande 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 réglée sur l'heure locale, tandis que le commutateur -u indique à rtcwake que l'horloge matérielle (dans le BIOS de votre ordinateur) ) est réglé sur l'heure UTC. Les distributions Linux règlent souvent votre horloge matérielle sur l'heure UTC et la traduisent sur votre heure locale.

Par exemple, pour que votre ordinateur se réveille demain à 6h30 sans interrompre 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’)

Aide

17
One Zero

Vous pouvez essayer de configurer le BIOS pour un événement de réveil. Presque toutes les cartes mères disposent de cette fonctionnalité, utilisez votre manuel mb et déterminez-le. Dans certains bios AMI, il s’appelle Wake up by RTC alarm, je pense c'est le moyen facile de réveiller le PC à une heure précise

1
Prasad RD

Donc, si quelqu'un est intéressé, c'est ce que j'ai trouvé qui fonctionne, sans avoir à installer quoi que ce soit et 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 s m h ou d (sec, min, jour, heure) 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

0
AndyDaSilva52