Activer l'hibernation sous GNU/Linux
Petit article sur comment activer l'hibernation sous GNU/Linux, testé avec Ubuntu, doit également fonctionner avec d'autres distribution, moyennement quelques adaptations.
Installation
- Installez le paquet
uswsusp
$ sudo apt-get install uswsusp
- Editez le fichier
/etc/uswsusp.conf
afin de vérifiez et modifier sa configuration. - Le paramètre
resume device
doit normalement indiquer votre partition de swap, si ce n'est pas le cas (ou si vous n'êtes pas sûr), utilisez la commandeblkid
pour trouver l'UUID correspondant à ladite partition, puis, copiez/collez-le à la suite de/dev/disk/by-uuid/
. Par exemple :resume device = /dev/disk/by-uuid/cbbf3d13-a456-4249-9a8f-ab526b71ec0a
- Ajoutez la ligne suivante :
snapshot device = /dev/snapshot
- Passez le paramètre de
early writeout
àn
, l'hibernation semble mieux passer ainsi :early writeout = n
Test
Utilisez la commande s2disk
pour passer l'ordinateur en hibernation, une fois était, rallumez-le et vérifiez que le système est bien revenu dans son état précédent.
Intégration au système
Intégration à pm-utils
Bien que la commande s2disk
fonctionne, il est préférable d'utiliser la commande pm-hibernate
afin que les programme puisse passer l'ordinateur en hibernation, celle-ci utilisant à son tour s2disk
.
- Installez le paquet
pm-utils
$ sudo apt-get install pm-utils
- Editez (ou créez le cas échéant) le fichier
/etc/pm/config.d/00sleep_module
et ajoutez le contenu suivant :SLEEP_MODULE="uswsusp"
Vous devriez à présent pouvoir faire hiberner le PC avec la commande pm-hibernate
.
Permettre l'hibernation lors de la fermeture de l'écran
Il est très agréable de pouvoir passer en hibernation sans presque y penser rien qu'en rabattant l'écran de son PC portable, cependant, dans les options d'alimentation, le choix d'hiberner lors de la fermeture de l'écran n'est pas disponible, pour corriger cela :
- Dans le fichier
/etc/systemd/logind.conf
décommentez la ligne :HandleLidSwitch=suspend
Puis, passez sa valeur àhibernate
. - Redémarrez le service
logind
pour prendre les changement en compte :$ sudo systemctl restart systemd-logind.service
Ajout d'un bouton permettant d'hiberner à l'interface graphique.
Il est plus agréable de pouvoir faire la mise en hibernation via l'interface graphique, sans avoir besoin de dégainer la ligne de commande.
- Editez (ou créez le cas échéant) le fichier
/var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
et ajoutez le contenu suivant :[Re-enable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes
Le bouton devrait apparaître dans les options d'arrêt/redémarrage de l'interface graphique après un redémarrage.