29Jun

Comment faire pour que votre PC Linux s'éveille automatiquement du sommeil

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

Ceci peut être utile si vous voulez que votre ordinateur fasse quelque chose à un moment précis, mais ne le fasse pas 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 de faire quelques téléchargements.

Utilisation de rtcwake

La commande rtcwake nécessite des permissions 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 que root avec la commande su .

Voici la syntaxe de base de la commande:

sudo rtcwake -m [type de suspension] -s [nombre de secondes]

Par exemple, la commande suivante suspend votre système sur le disque( l'hiberne) et le réveille 60 secondes plus tard:

sudo rtcwake -m disque -s 60

Types de suspension

Le commutateur -m accepte les types de suspension suivants:

  • veille - Le mode veille offre peu d'économies d'énergie, mais la restauration vers un système en cours d'exécution est très rapide. C'est le mode par défaut si vous omettez l'option -m.
  • mem - Suspend à RAM.Cela offre des économies d'énergie significatives - tout est mis dans un état de faible puissance, sauf votre RAM.Le contenu de votre mémoire est préservé.
  • disque - Suspend sur le disque. Le contenu de votre mémoire est écrit sur le disque et votre ordinateur est éteint. L'ordinateur s'allume et son état est rétabli à la fin de la minuterie.
  • off - Éteignez complètement l'ordinateur. La page de manuel de rtcwake note que la restauration à partir de "off" n'est pas officiellement supportée par la spécification ACPI, mais cela fonctionne avec de nombreux ordinateurs de toute façon.
  • non - Ne suspendez pas l'ordinateur immédiatement, il vous suffit de régler l'heure de réveil. Par exemple, vous pouvez dire à votre ordinateur de se réveiller à 6h du matin. Après cela, peut le mettre en veille manuellement à 23 heures ou 1h du matin - de toute façon, il se réveillera à 6h du matin.

Secondes et heure spécifique

L'option - prend un certain nombre de secondes dans le futur. 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 à un moment précis. 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ée sur l'heure UTC.Les distributions Linux définissent souvent votre horloge matérielle en heure UTC et la traduisent en heure locale.

Par exemple, pour que votre ordinateur se réveille à 6h30 demain mais ne suspend 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 'demain 06:30')

Plus de conseils

Utilisez le & & &l'opérateur pour exécuter une commande spécifique après que rtcwake réveille votre système du sommeil. Par exemple, la commande suivante suspend votre ordinateur en RAM, le réveille deux minutes plus tard, puis lance Firefox:

rtcwake -m mem -s 120 & &

firefox Intégrez la commande rtcwake dans un script cron pour réveiller automatiquement votre ordinateur à un moment précis. Le commutateur -m no peut également être utile dans un script cron. Par exemple, vous pouvez exécuter la commande rtcwake -m no -s 28800 dans un script cron à 22h tous les jours. Cela permettrait à votre ordinateur de se réveiller en 28800 secondes à 06h00.Cependant, votre ordinateur ne s'endormirait pas immédiatement - vous pourriez le mettre en veille à 23 heures ou à 1 heure du matin et il se réveillerait normalement à 6 heures du matin normalement.

Mises en garde

  • RTC signifie horloge en temps réel.rtcwake utilise l'horloge matérielle de votre ordinateur, que vous pouvez définir dans votre BIOS, pour déterminer quand votre ordinateur va se réveiller. Si vous utilisez un vieil ordinateur avec une batterie CMOS mourante qui ne peut pas fonctionner correctement, cela ne fonctionnera pas.
  • Si sleep, suspend to RAM, ou hibernate ne fonctionne pas correctement avec votre système Linux - peut-être parce que Linux n'a pas les pilotes pour les faire fonctionner correctement avec votre matériel - cela peut ne pas fonctionner.
  • Soyez prudent lorsque vous configurez un ordinateur portable pour qu'il se réveille automatiquement à un moment précis. Vous ne voudriez pas qu'il se réveille, qu'il court, qu'il surchauffe ou qu'il décharge sa batterie dans un sac d'ordinateur portable.