J'ai réussi à trouver comment suspendre/mettre en veille le système à partir de la ligne de commande en lisant Comment puis-je suspendre/mettre en veille à partir de la ligne de commande? .
Cependant, je voudrais savoir comment utiliser la ligne de commande pour suspendre/mettre en veille à un moment donné, en termes absolus (exemple, 11:00) ou relatifs (exemple, en 30 minutes).
Je sais déjà comment faire cela avec shutdown, mais je suis certain que la commande est similaire.
Vous pouvez utiliser la commande at
NAME _ pour planifier toute action, y compris l'exécution des commandes détaillées dans cette question .
Par exemple, si vous souhaitez passer en hibernation dans 30 minutes:
echo 'pmi action hibernate' | at now + 30 min
Ou si vous souhaitez suspendre à 23h00:
echo 'pmi action suspend' | at 11pm
Si vous devez exécuter une commande sous le nom root
_, exécutez at
avec Sudo
plutôt que la commande elle-même avec Sudo
(puisque Sudo
ne devrait être exécutée que de manière interactive, à moins que vous ne l'ayez configurée pour ne pas demander votre mot de passe). Par exemple, les équivalents des commandes ci-dessus utilisant pm-hibernate
et pm-suspend
sont les suivants:
echo pm-hibernate | Sudo at now + 30 min
echo pm-suspend | Sudo at 11pm
Pour la spécification relative (par exemple, "après 30 minutes"), vous pouvez simplement utiliser la commande sleep
pour faire attendre la commande de suspension/hibernation.
Attendez 30 minutes, puis suspendez:
Sudo sleep 30m; Sudo pm-suspend
Attendez 1 heure, puis hiberner:
Sudo sleep 1h; Sudo pm-hibernate
Pour des heures spécifiques répétées - comme arrêter des ordinateurs sont une heure spécifique chaque jour. utilisez cron.
crontab -e
ajoutez ce qui suit:
15 14 1 * * pmi action suspend
Si vous voulez le personnaliser.
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Pour un travail unique nous la commande à
Par exemple, si vous souhaitez passer en hibernation dans 30 minutes:
echo 'pmi action hibernate' | at now + 30 min
Ou si vous souhaitez suspendre à 23h00:
echo 'pmi action suspend' | at 11pm