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 commande blkid 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.

Vus : 872
Publié par Zergy : 41