L'hibernation est toujours absente du menu dans 13.10 après l'activation via polkit. Comment activer?

52

Je sais que depuis 12.04, nous devons ajouter une règle de politique pour activer l'hibernation (voir la question Comment activer l'hibernation? Et la documentation officielle ).

Je peux réussir à mettre mon ordinateur portable en mode veille prolongée avec sudo pm-hibernateou sudo s2disk, la règle est donc en place et fonctionne, mais l'entrée en veille prolongée est toujours absente du menu.

En regardant à travers la source du paquetage indicateur-session (mais sans comprendre le code en entier), le code contient toujours une entrée de menu de veille prolongée qui devrait être affichée lorsque le système est capable de passer en veille prolongée. S'il te plaît, calme-toi si ça te rend furieux. Il est très peu probable que ce soit un complot , mais plutôt un bug / une régression plus profonde, ce qui peut arriver lorsque vous déplacez du code ou le remplacez.

Question: Que faut-il faire en 13.10 pour dire correctement indicator-sessionque le système peut passer en hibernation?


Doublon possible: Hibernation toujours pas disponible - Pas d'activité, parce que fantasmagorique était en développement à cette époque, donc hors de portée pour AskUbuntu.

Rapport de bug lié: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

LiveWireBT
la source
Ma question sur la même chose: askubuntu.com/questions/361058
pileofrocks
@pileofrocks Désolé, vous devez avoir oublié le vôtre dans mon lecteur de flux aujourd'hui.
LiveWireBT
Le vôtre est libellé de manière meilleure et techniquement (posez ma question quand je n’étais pas encore au courant du bogue), si un autre doit être fermé, alors il doit être celui que j’ai fait. : P
pileofrocks

Réponses:

63

14.04 et au-delà

Mitch fait remarquer dans ses réponses des 14.04 et 16.04 que vous devriez vérifier 10-vendor.d/com.ubuntu.desktop.pklaavant de modifier quoi que ce soit. Vérifiez également que le démarrage sécurisé est désactivé et que cela ramène l'option de menu.

Réactivation de l'option de veille prolongée dans le menu

Pour réactiver l'option d'hibernation dans le menu, vous /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkladevez modifier le code pour qu'il ressemble à ceci: (13.10):

[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

Puis redémarrez ou exécutez killall indicator-session-servicevotre session et vous devriez avoir votre fonctionnalité de veille prolongée / option de menu de retour. Créez le fichier s'il n'existe pas déjà.

Enquête à partir d'un rapport de bug

Citation tirée de la publication de Jeffery To sur le rapport de bogue du Launchpad # 1232814 :

Pour Saucy, indicateur-session a été mis à jour pour utiliser logind (org.freedesktop.login1) au lieu de upower.

Si vous vérifiez /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, vous verrez que la veille prolongée est désactivée par défaut à la fois pour upower et logind.

La première étape pour réactiver l'option Hibernate consiste donc à modifier /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla en quelque chose comme:

[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

Après le redémarrage, le menu de session de l'écran de connexion devrait avoir une option Veille prolongée.

[...]

Tous les remerciements et le crédit vont à Jeffery!

Pourquoi l'hibernation a-t-elle été désactivée?

Il existe un rapport de bogue sur le tableau de bord qui suggère de désactiver la suspension / veille prolongée au lieu de savoir quel matériel "certifie" pour quels modes d'alimentation. C'est prétendu être une approche plus évolutive.

Une autre chose à mentionner est que l'utilisation de UEFI Secure Boot et de l'hibernation semblent possibles, mais risquent de contourner l'ancien. ( 1 , 2 ) Pour rappel, lorsque vous utilisez le mode veille prolongée, vous stockez tout le contenu de la mémoire vive (RAM) sur le disque sans chiffrement, notamment les mots de passe des systèmes de fichiers et des conteneurs chiffrés.

À un moment donné avec 16.04, j'ai dû désactiver Secure Boot pour pouvoir mettre en veille prolongée mes ordinateurs portables. Dans mon cas, j'ai utilisé uswsusp et les tests avec s2disk ont ​​renvoyé le message ci-dessous. Cela peut vous donner une indication que votre problème, pourquoi vous ne pouvez pas mettre en veille prolongée alors que tout le reste est en place, est lié à Secure Boot:

s2disk: Could not open the snapshot device. Reason: Operation not permitted 

Cependant, comprenez que ce n’est pas un endroit pour vous plaindre et soyez gentil.

Questions connexes

LiveWireBT
la source
3
Merci pour la méthode, mais je n'ai toujours aucun succès après un redémarrage et après 'killall indicateur-session-service'. Vous avez cependant mentionné "ou avez fait autre chose après le redémarrage", alors je suppose que je suis dans cette catégorie. Il est très étrange de constater qu'un comportement aussi important soit toujours non pris en charge après de nombreuses itérations de ce système d'exploitation, mais c'est tout le discours que j'ai à l'heure actuelle. Je vais juste me croiser les doigts et coller avec sudo pm-hibernate pour le moment.
cdaddr
3
Quelques questions: pourquoi l'hibernation est-elle désactivée dans le monde? Et faire les options d'hibernation ci-dessus dans Paramètres d'alimentation? Je n'ai pas besoin d'hibernation dans le menu d'engrenages, mais pour mon ordinateur portable d'hiberner aux niveaux de batterie critiques. Merci d'avoir répondu!
Oxwivi
1
Je ne suis pas capable d'hiberner même après ça !! :( aide s'il vous plaît! hibernation fonctionne sur ma machine ... mais ne figurant pas dans le menu ..
Nirmik
1
@constantius Oui, vous devriez le créer.
LiveWireBT
1
@SalmanPK Vous pourriez alors poser une autre question. Assurez-vous également que vous avez suffisamment de SWAP.
Seth
2

Si vous avez toujours des problèmes pour faire fonctionner Hibernate, vérifiez le commentaire n ° 58 sur ce rapport de bogue :

J'ai trouvé une solution de contournement sur Ubuntu Gnome 13.10: il suffit d'installer hibernate:

sudo apt-get install hibernate

Le seul problème est que la division émettra trois erreurs lors du démarrage après une mise hors tension normale. Pour cela, vous pouvez désactiver la répartition:

sudo -H gedit /etc/default/apport

Puis change enabled=0.

Pour modifier les paramètres d'hibernation des fichiers d'édition dans /etc/hibernate.

L'installation du paquet Hibernate semble apporter les changements nécessaires et cela a très bien fonctionné pour moi dans Ubuntu gnome 13.10 x64

cyberalex4life
la source
1

Si vous avez suivi les étapes précédentes et que cela n'a toujours pas fonctionné, je vous suggère de changer votre /etc/pm/sleep.d/20_custom-ehci_hcden:

[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

pour que cela fonctionne, suivez les étapes mentionnées ci-dessus pour activer l'option de veille prolongée. Cela a vraiment fonctionné pour moi.

A la fin, vous aurez 2 fichiers édités avec " [Re-enable hibernate ... ]" Essayez celui-ci. Cela fonctionnera à coup sûr si vous utilisez Ubuntu 13.10

nba-crash
la source
1

Une chose que je voudrais ajouter ici, qui AFAICR, est une partition de swap non montée. Si la partition d'échange n'est pas montée, l'option de mise en veille prolongée ne sera pas affichée / activée quelle que soit la configuration de la mise en veille prolongée.

Et si la partition d'échange ne monte pas automatiquement, la session en veille prolongée serait perdue.

Doigts saignants
la source