Question Comment activer l'hibernation?


Dans Ubuntu 12.04 et plus récent, l'hibernation a été désactivée par défaut dans policykit. Comment puis-je l'activer?


417
2018-01-12 00:10


origine


Pourquoi l'ont-ils désactivé en premier lieu? Cela a-t-il quelque chose à voir avec la perte audio? - Ali
pour 13.10 voir askubuntu.com/questions/361734/… - rogerdpack
Pour répondre à la question d'Ali, celle-ci était désactivée car de nombreuses personnes avaient des problèmes d'hibernation à cause de problèmes avec leurs partitions de swap. Cependant, dans Ubuntu 14.10 Utopic Unicorn, il est prévu de faire fonctionner l'hibernation pour de bon, avec un bouton et tout. - John Scott
Pour 15.04, vous pouvez avoir besoin de cette question askubuntu.com/q/614662/178596 - Wilf
Hibernate peut ne pas fonctionner lorsque btrfs la partition est utilisée. Vois ici askubuntu.com/questions/768136/… - Anwar


Réponses:


Si cette réponse ne fonctionne pas dans Ubuntu 13.10, voir ici pour une réponse alternative


Vous pouvez suivre la documentation officielle ici. Hibernation était désactivée le 12.04 pour les machines qui ne sont pas certifiées avec Ubuntu.

Pour activer l'hibernation, vous devez tester si cela fonctionne correctement en exécutant sudo pm-hibernate dans un terminal. Le système va essayer d'hiberner. Si vous êtes en mesure de redémarrer le système, vous êtes plus ou moins sûr d'ajouter un remplacement.

Pour ce faire, commencez à éditer:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Remplissez le avec ceci:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Ou dans 14.04 et plus tard:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Enregistrer en appuyant sur Ctrl-O puis entrer puis quittez nano en appuyant sur Ctrl-X.

Redémarrez et l'hibernation est de retour!

Ou courir killall unity-panel-service pour simplement réinitialiser le menu.

Certains utilisateurs devront alors exécuter sudo update-grub pour que l'option de mise en veille prolongée soit disponible dans le menu d'alimentation. Certains utilisateurs peuvent aussi devoir au moins se déconnecter puis se connecter pour que le menu d’alimentation (en haut à droite) apparaisse.


335
2018-06-23 19:17



Cette solution fonctionne également dans le shell GNOME 3.4 avec l'extension "Alternative Status Menu". - Robert Wohlfarth
@ cuda.geek yep, ne va plus t'occuper de toute la gui, taper cette petite commande est plus rapide (encore plus rapide avec alias ...) :) - Aditya M P
Vraiment? Est-ce la version plus conviviale de l'utilisateur pour changer un paramètre aussi simple? Ça devient plus laid tous les jours ... - Esteban
Excellent tutoriel! J'étais passé de Windows à Ubuntu et j'aimais ça! vous êtes géniaux :) - gfivehost
Je ne pense pas que c'était le point d'Esteban. Cela ne devrait pas nécessiter la magie des arcanes pour activer l'hibernation. Pensez à quelque chose dans le répertoire / etc / default où vous changez une ligne de enable_hibernate = "false" à enable_hibernate = "true". Pensez à avoir un dialogue système-> paramètres qui vous permet juste de l'allumer avec un avertissement "ceci peut ne pas fonctionner, votre machine peut ne pas se réveiller correctement". - Scott Marlowe


Tout d'abord, vous devez tester votre machine prend en charge l'hibernation. Testez-le avec la commande:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 et supérieur

Pour activer l'interface dont vous avez besoin pour exécuter sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla et remplissez avec:

[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;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 et 15.04

Pour activer l'interface dont vous avez besoin pour exécuter sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf pour Ubuntu 14.04 et 15.04 et remplissez avec:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Il y a plusieurs strophes comme vous pouvez avoir plusieurs utilisateurs (de sorte que cela ne dépend pas de plusieurs utilisateurs ou plus haut en tant que gestionnaire au lieu de login1)

p.s .: dernière documentation officielle https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


45
2018-06-23 00:56



Cela a fonctionné pour moi sur Ubuntu 15.04, alors que la réponse originale acceptée ne l’a pas. - Mike B.
@Mikeb. Cela a fonctionné car depuis Ubuntu 15.04, le système Ubuntu principal commence à utiliser systemd, un nouveau remplacement de l’ancien démarrage. La dernière section du code ci-dessus ayant "logind" est pour les systèmes basés sur systemd. J'espère que cela vous éclairera sur votre situation. :RÉ - x__x
Travaillé pour moi sur Ubuntu 16.04. seul problème était la permission refusée erreur que j'ai résolu en utilisant sudo. - Sandeep
Le premier pas sudo pm-hibernate résulte en command not found. J'ai aussi essayé sudo apt install sudo pm-hibernate, qui n'est pas non plus disponible. Ceci est la version Ubuntu 16.04. - L. D. James
Votre réponse devrait apparaître en haut de la liste, même si elle dispose de moins de votes, elle est plus significative pour les visiteurs utilisant le logiciel d'aujourd'hui. - WinEunuuchs2Unix


De plus, pour ceux qui veulent désactiver le bouton Suspendre (pour diverses raisons), procédez de manière analogue ...

Choisissez n'importe quel nom de fichier, mais il s'agit d'un nom verbeux / convention:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Remplissez le avec ceci:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl+O, Entrer, Ctrl+X

Pas besoin de redémarrer, il devrait être parti dès que vous entrez dans le menu d'arrêt.


32
2018-04-01 08:04



Vous voulez dire: ResultActive=yes
Non, cela devrait être ResultActive=no. La réponse précise que ceci pour désactiver suspendre. - Michael Mior


Encore une chose:

Lorsque vous souhaitez ajouter l'option de veille prolongée à XFCEVous devez cliquer avec le bouton droit de la souris sur votre nom (topright) et sélectionner properties.

Après cela, un écran apparaît:

enter image description here

Assurez-vous que vous cochez Hibernate comme je l'ai fait.


14
2017-10-10 14:13





Tout d'abord, je vous recommande de tester si votre ordinateur portable prend en charge l'hibernation, car la raison pour laquelle l'hibernation est désactivée par défaut est que certaines machines ont parfois des résultats fatals. Testez votre machine en

Ctrl+Alt+T et alors sudo pm-hibernate

Votre machine doit hiberner. Réveillez votre machine après l'hibernation et observez si elle se comporte mal ou si elle agit normalement. Si vous constatez une anomalie après l'hibernation, je vous conseille de ne pas poursuivre la procédure suivante. Cependant, si cela fonctionne correctement, continuez d’activer l’hibernation en

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Editez le fichier ouvert et ajoutez les lignes suivantes:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Après cela, redémarrez votre machine et, une fois connecté, vous devriez voir une option de veille prolongée dans le coin supérieur droit des paramètres.


14
2017-10-10 13:49



Pourquoi le rollback?
c'était un rollback erroné - kelvinelove


Si la réponse avec /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla ne fonctionne pas comme dans mon cas, n'oubliez pas de supprimer le fichier par:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Et essayer d'utiliser TuxOnIce.


Assurez-vous d'abord d'avoir assez de swap. Il devrait être de la même taille ou plus grand que la quantité de votre RAM. Utiliser la commande

free

règle Swap> Mem. Si ce n'est pas le cas, agrandissez votre taille de swap. Ensuite, installez TuxOnIce par

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Ensuite, vous pouvez essayer de faire un test de mise en veille prolongée par:

sudo pm-hibernate

N'oubliez pas de sauvegarder votre travail avant de le faire.

Si tout s'est bien passé, votre ordinateur s'éteindra. Après l'avoir allumé, vous obtiendrez votre bureau dans l'état où vous l'aviez laissé avant la mise en veille prolongée.


6
2018-02-18 15:27



tuxonice fonctionne aussi pour moi, alors que l'hibernation native d'Ubuntu 14.04 échoue pour une raison quelconque! - Leszek


Activation de la veille prolongée avec un script

J'ai traduit ci-dessus les réponses à bash scripts. Cela rend l'installation sur plusieurs machines moins fastidieuse.

Scénario enable-hibernate:

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Scénario disable-suspend:

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Note: N'oubliez pas de chmod +x les deux scripts pour les rendre exécutables.


5
2017-10-24 03:52





Une commande simple qui fait exactement la même chose que la réponse acceptée, sauf de manière non interactive:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF

4
2017-09-19 10:51





En 12.04, j'ai activé l'option d'hibernation dans le menu d'indicateur pour mettre en veille prolongée. Mais je n'ai toujours pas réussi à quitter l'hibernation. J'ai suivi ces étapes pour résoudre ce problème:

Activer Hibernate dans 12.04

Pour activer Hibernate, j'ai suivi cette réponse de Dima.

Après avoir activé l'hibernation, je pouvais hiberner. Mais le problème est que je ne peux pas réussir à quitter mon hibernation. Chaque fois que je démarre mon PC à partir de la veille prolongée, il démarre comme un démarrage normal. Donc, j'ai dû faire ces choses pour pouvoir quitter l'hibernation.

Les correctifs pour pouvoir reprendre la veille prolongée

Il y a deux façons de résoudre ce problème.

1. Modifier le /etc/initramfs-tools/conf.d/resume fichier

  1. Obtenez d'abord l'UUID de la partition de swap.

     sudo blkid | grep swap
    

    Cela produira une ligne similaire à ceci:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    La ligne réelle ne correspondra pas à cela. Copiez la valeur de UUID entre "..." double citation.

  2. Ouvrez le fichier de reprise

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    Et dans ce fichier, ajoutez une ligne comme celle-ci

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    N'oubliez pas de remplacer la valeur UUID réelle obtenue à l'étape 1. Enregistrez le fichier et quittez gedit

  3. Ensuite, dans le terminal, exécutez cette commande

    sudo update-initramfs -u
    

Vous pourrez maintenant reprendre votre hibernation

2. Modifier le /etc/default/grub fichier.

  1. Ouvrez un terminal et exécutez la commande ci-dessous pour l'ouvrir

    gksudo gedit / etc / default / grub

  2. Il y aura une ligne comme GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"   . Modifier la ligne à insérer RESUME=UUID=<your-uuid-value-here> après le mot splash.

    Par exemple dans mon cas, la ligne ressemble à ceci après édition

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    Assurez-vous que vous avez utilisé la valeur UUID que vous obtenez de sudo blkid | grep swap commander.

  3. Ensuite, faites cette commande

     sudo update-grub
    

Cela vous permet également de reprendre votre hibernation avec succès.


Testé sur deux installations Ubuntu, les deux ont fonctionné


2



classer ceci comme une question et une réponse séparées. Comme les gens peuvent rechercher «ne pas reprendre de suspension» et ne pas trouver votre excellente rédaction. - Dima
Après votre suggestion, j'ai créé cette question auto-répondue askubuntu.com/questions/196364/… - Anwar


J'ai Ubuntu Gnome 17.04 amd64 sur mon ordinateur portable. J'ai fait ce qui suit pour activer l'hibernation:

$ sudo apt-get install hibernate (la source)

Cela installé aussi libx86-1uswsuspvbetool

Alors je pourrais hiberner avec succès avec sudo systemctl hibernate. Il n'y a pas pm-hibernateexécutable sur mon chemin.

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Inséré: (la source)

[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;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

installée https://extensions.gnome.org/extension/755/hibernate-status-button/


0