Comment activer l'hibernation en 16.04.1? (systemd)

32

J'ai une nouvelle installation de 16.04.1 sur un Lenovo T450 qui fonctionnait toujours bien en ce qui concerne la suspension / hibernation sur Ubuntu (la version précédente que j'ai utilisée était le 14.04.5). Le swap est confortablement plus grand que la RAM sur cette installation.

Comme d'habitude, après l'installation, j'ai essayé de continuer avec le hack habituel pour l'activation de l'hibernation. Cependant, les choses semblent être différentes cette fois car elles sudo pm-hibernate ne semblent rien faire.

Si je comprends bien, maintenant que ubuntu est passé à systemd, la commande correcte serait celle systemctl hibernate qui renvoie

 Failed to hibernate system via logind: Sleep verb not supported

J'ai essayé les solutions mentionnées ici , mais elles visent principalement à réactiver pm-hibernateet à en faire une entrée dans le menu de déconnexion. J'ai également vu qu'une solution possible était d'installer le noyau Tuxonice, mais je n'ai pas essayé car je ne suis pas très enthousiaste à l'idée de falsifier le noyau en général et d'utiliser un noyau PPA en particulier.

Alors, existe-t-il un moyen de réactiver l'hibernation sur les dernières versions d'Ubuntu basées sur Systemd? Utilisez de préférence systemd et évitez les hacks potentiellement destructeurs. Ou dois-je simplement attendre et espérer la prochaine mise à jour?

Marc
la source
1
Oui, j'ai essayé. Le problème, ce n'est pas que l'hibernation échoue, disons que le système se bloque pendant l'arrêt ou ne dégèle pas. C'est juste que rien ne se passe quand je tire systemctl hibernate(avec ou sans sudo), sauf ce message Failed to hibernate system via logind: Sleep verb not supported.
Marc
Le swap est en place et fonctionne bien, pas de problème là-bas. J'ai quand même essayé la grubchose juste pour être sûr. Pas de chance.
Marc
FWIW, sudo pm-hibernate fonctionne toujours le 16.04 ... habituellement. D'après votre réponse ci-dessous, il semble que l'hibernation ne fonctionne pas vraiment avec Secure Boot, mais si c'était le cas, pm-hibernate fonctionnerait certainement comme prévu. Bien sûr, vous pouvez également utiliser la commande systemctl.
TSJNachos117
Dommage que le message n'ait pas été lu: Échec de la mise en veille prolongée du système via la fermeture de session: veuillez utiliser le BIOS pour désactiver le démarrage sécurisé
Bad Loser

Réponses:

34

J'ai finalement pu résoudre mon propre problème en suivant certains sujets sur Fedora (ils sont passés à systemd il y a quelque temps, donc il y a plus de matériel là-bas).

Il s'avère que j'avais le démarrage sécurisé activé (je me souviens avoir été interrogé à ce sujet lors de l'installation du 16.04, et que je l'ai gardé sans y penser) et cela a provoqué la sortie de cat /sys/power/disk:

 [disabled]

En effet, ce n'est pas un très bon signe. J'ai donc redémarré et recherché dans mes paramètres du BIOS, désactivé le démarrage sécurisé là-bas. Maintenant cat /sys/power/diskm'obtient:

 [platform] shutdown reboot suspend 

qui a l'air mieux. Et en effet, l'appel systemctl hibernateentraîne une séquence d'hibernation / décongélation réussie.

De plus, l'option d'hibernation apparaît désormais dans l'interface graphique sans aucun piratage (au moins sur mon ordinateur).

Marc
la source
Merci mec. Tu m'as sauvé la journée. Je vous remercie vraiment. Merci merci.
Khamidulla
3
Cela devrait être ajouté dans la documentation Ubuntu ici: help.ubuntu.com/stable/ubuntu-help/power-hibernate.html
Joaquín Aramendía
Merci. Cela a également fonctionné pour moi avec Ubuntu 16.04 sur asus zenbook à part que l'option de menu pour l'hibernation dans l'interface graphique est toujours manquante.
Wojteks
Juste pour info, si votre paramètre de disque n'est pas la raison ou que la réponse ne corrige pas votre erreur, essayez d'activer votre espace de swap et assurez-vous qu'il est de taille raisonnable sur votre RAM physique totale installée. Cela l'a fait pour moi!
der_michael
Merci pour le commentaire, mais le swap était activé et généreusement dimensionné dans mon cas.
Marc
16

Cela peut également se produire lorsque votre swap est trop petit pour contenir le contenu de votre RAM (par exemple lorsque vous avez ajouté plus de RAM à votre ordinateur après avoir configuré le système d'exploitation).

Vérifiez par exemple htop, le Memnombre doit être <= le Swpnombre.

Voir https://github.com/systemd/systemd/issues/6729

nh2
la source
1
Merci pour votre suggestion, mais ce n'était pas le problème dans mon cas. Il a été discuté dans les commentaires. Je mettrai à jour le texte principal pour le rendre encore plus clair. Soit dit en passant, je ne comprends pas pourquoi c'est toujours la première chose que les gens suggèrent concernant la correction de l'hibernation, alors que l'installation standard d'ubuntu sortira généralement avec la bonne quantité de swap, sauf si vous l'avez volontairement falsifiée.
Marc
1
@Marc Comme je l'ai dit dans la réponse: même si l'installation d'Ubuntu sélectionne la bonne quantité de swap au moment de l'installation , il est très courant que les gens achètent simplement une autre clé RAM et la connectent à l'ordinateur après l'installation (par exemple mise à niveau de 8 Go à 16 Go de RAM par an après avoir acheté et installé la machine).
nh2