web-dev-qa-db-fra.com

Ubuntu not hiberne quand le couvercle est fermé

J'utilise Ubuntu 12.04 sur mon ordinateur portable. J'essaie de configurer pour hiberner lorsque le couvercle est fermé. Cependant, ne fonctionne pas. J'ai suivi les étapes suivantes pour résoudre le problème:

  • J'active dans /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Paramètres système - Alimentation
  • J'ai utilisé l'éditeur dconf.

Quand je ferme le couvercle à la place, l'hibernation est suspendue. J'essaie de lancer Sudo pm-hibernate et fonctionne bien.

Toute suggestion ?

3
user2692786

Note: essayez pm-hibernate dans un shell avant d'essayer ceci. Si cela fonctionne, allez-y.

Je l'ai réparé par ...

  • Utilisation de cannelle-settings/Power pour régler l’événement sur Veille prolongée. Ceci définit les valeurs dconf /org/gnome/settings-daemon/plugins/power/lid-close-ac-action et /org/gnome/settings-daemon/plugins/power/lid-close-battery-action sur ce que vous voulez.

  • Editer /etc/acpi/events/lm_lid (gksudo gedit /etc/acpi/events/lm_lid) et le remplir avec

event=button/lid.*
action=/etc/acpi/lid.sh
  • Édition de /etc/acpi/lid.sh (gksudo gedit /etc/acpi/lid.sh). Si c'est vide, remplissez-le avec
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
    su - gabriel -c 'gsettings get org.cinnamon.settings-daemon.plugins.power lid-close-ac-action' | grep hibernate
    if [ $? = 0 ]
    then
        pm-hibernate
    fi
fi

Sinon, cherchez le bon endroit pour mettre le code ci-dessus

Remplacez gabriel par votre nom d'utilisateur. Vous devez faire la chose su avant d'appeler gsettings get car ce script est exécuté en tant que root et si vous exécutiez gsettings get en tant que root, les préférences pour root seraient renvoyées.

Vous pouvez simplement appeler pm-hibernate mais modifier les options de cinnamon-settings ne fonctionnera plus. Je ne me suis pas soucié de vérifier si mon ordinateur portable est sous tension ou sur batterie, car ce n’est pas pertinent: je veux toujours le même comportement. Peut-être que quelqu'un veut ajouter un if ici?

2
Gabriel

Voici comment résoudre ce problème.

Dans votre dossier:

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

Assurez-vous que vous avez deux paramètres ici

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

[Enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes

Voici pourquoi. Dans ce fichier:

/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

il met les deux options à "non"

Le fichier que vous avez créé devrait être exécuté après celui de/var/lib, il devrait donc avoir la priorité sur celui-ci (testé et fait). Vous pouvez lire les informations à ce sujet ici dans la section "Commande d’évaluation". Lorsque votre option "upower" est définie sur "yes", vous pouvez sélectionner la mise en veille prolongée des paramètres d'alimentation dans Ubuntu. Toutefois, vous ne parvenez toujours pas à mettre en veille prolongée car le fichier 10-vendor.d définissait login1.hibernate sur "non", ce qui doit également être un "oui".

2
Diesel