Aller au contenu

Activer l'hibernation

Sur Pop!_OS

Prérequis

Vérifiez si le noyau prend en charge l'hibernation

1
cat /sys/power/state
Il devrait figurer disk en option sur la liste.

Vérifiez si un fichier d'échange ou une partition est disponible

1
free -h
Si Swap est répertorié comme 0, cela signifie qu'un swap n'est pas disponible et doit être créé.

Créer un fichier d'échange

Tuto ici

Configurer l'hibernation

Lister le swap

1
cat /proc/swaps
  • Le fichier d'échange est généralement répertorié comme /swapfile
  • La partition d'échange est répertoriée comme /dev/sdxx

Swap UUID

Obtenez l'UUID pour le swap

1
findmnt -no UUID -T /swapfile
Cela ressemble à quelque chose comme ci-dessous:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Décalage de permutation

Ceci n'est nécessaire que lorsqu'un fichier d'échange est disponible. Obtenez le décalage.

1
sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print $4} }'
Cela ressemble à quelque chose comme ci-dessous :
9999999..

Mettre à jour les options du noyau

Pour un fichier d'échange

1
sudo kernelstub -a 'resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999'
En cas de mauvaise manipulation ou mauvais chiffre entrer, l'option -d a la place de la -a permet d'effacer l'entrée.
Pour une partition Swap, l'option resume_offset n'est pas nécessaire
1
sudo kernelstub -a 'resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
Ajouter ci-dessous la ligne à /etc/initramfs-tools/conf.d/resume. Créer le fichier s'il n'est pas présent et ajouter :

Pour un fichier d'échange

1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition d'échange
1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Mettre à jour les configurations
1
sudo update-initramfs -u

Tester l'hibernation

N'oubliez pas de sauvegarder votre travail avant d'essayer ceci

1
sudo systemctl hibernate
Source

Ajouter l'option au menu

Ajouter l'extention system-action-hibernate

Ajouter les lignes suivante dans /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

1
2
3
4
5
6
7
8
9
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Sur Debian Ubuntu LinuxMint

Prérequis

Vérifiez si le noyau prend en charge l'hibernation

1
cat /sys/power/state
Il devrait figurer disk en option sur la liste.

Vérifiez si un fichier d'échange ou une partition est disponible

1
free -h
Si Swap est répertorié comme 0, cela signifie qu'un swap n'est pas disponible et doit être créé.

Créer un fichier d'échange

Tuto ici

Configurer l'hibernation

Lister le swap

1
cat /proc/swaps
  • Le fichier d'échange est généralement répertorié comme /swapfile
  • La partition d'échange est répertoriée comme /dev/sdxx

Swap UUID

Obtenez l'UUID pour le swap

1
findmnt -no UUID -T /swapfile
Cela ressemble à quelque chose comme ci-dessous:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Décalage de permutation

Ceci n'est nécessaire que lorsqu'un fichier d'échange est disponible. Obtenez le décalage.

1
sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print $4} }'
Cela ressemble à quelque chose comme ci-dessous :
9999999..

Mettre à jour les options du noyau

Pour un fichier d'échange
Rajouter ces options dans /etc/default/grub et rajouter au niveau de la ligne GRUB_CMDLINE_LINUX_DEFAULT=

1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition Swap, l'option resume_offset n'est pas nécessaire
1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Ajouter ci-dessous la ligne à /etc/initramfs-tools/conf.d/resume. Créer le fichier s'il n'est pas présent et ajouter :

Pour un fichier d'échange

1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx resume_offset=9999999
Pour une partition d'échange
1
resume=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Mettre à jour les configurations
1
sudo update-initramfs -u && sudo update-grub

Tester l'hibernation

N'oubliez pas de sauvegarder votre travail avant d'essayer ceci

1
sudo systemctl hibernate
Source

Ajouter l'option au menu

Ajouter l'extention pour Gnome system-action-hibernate

Ajouter les lignes suivante dans /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

1
2
3
4
5
6
7
8
9
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes