Ok, je sais qu'il y a déjà plusieurs questions liées à cela. J'ai essayé beaucoup de solutions en vain. Je vais détailler ici ce que j'ai fait et comment sont mes fichiers de configuration dans l'espoir qu'une bonne âme me signale ce que j'ai raté.
Quelques informations initiales:
pm-hibernate
fonctionne bien. 1. J'avais une menthe (14 si je ne me trompe pas) où fermer le couvercle ne serait pas en hibernation jusqu'à ce que je ajouté quelques scripts . Dans Ubuntu 14, il n’existe pas de /etc/acpi/lid.sh
que je puisse modifier comme je l’ai fait dans Mint. J'ai essayé d'en créer un avec le contenu suivant:
echo 'ok' > ok
grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
su - gabriel -c 'dconf read /org/gnome/settings-daemon/plugins/power/lid-close-ac-action' | grep hibernate
if [ $? = 0 ]
then
pm-hibernate
fi
fi
Le fichier ok
n'est pas créé lorsque je ferme le couvercle, cela signifie que le script n'est jamais appelé.
J'ai essayé de déplacer lid.sh dans events/
.
Comme suggéré ici , j'ai essayé de le renommer en lid.sh.post
et de le déplacer en /etc/acpi/local/
, ainsi que plusieurs autres combinaisons de répertoire et de noms (avec/sans .post
, dans /etc/acpi/
, local/
, events/
...)
2. J'ai fait comme indiqué ici et installé gnome-Tweak-tool
, afin de pouvoir définir l'action sur le couvercle fermé à hiberner. Après cela, les menus déroulants dans le panneau de configuration/alimentation étaient vierges (ne pas suspendre ni "ne rien faire"), mais maintenant, ils indiquent "ne rien faire", je ne sais pas ce que j'ai fait pour changer cela. Et courir
su - gabriel -c 'dconf read /org/gnome/settings-daemon/plugins/power/lid-close-ac-action'
renvoie toujours 'rien', ce qui compromet mon script (probablement inutile de toute façon).
3. J'ai fait comme indiqué ici : édité /etc/systemd/logind.conf
et mis HandleLidSwitch
sur 'hibernate' :
cat /etc/systemd/logind.conf | grep -i lid
#HandleLidSwitch=hibernate
#LidSwitchIgnoreInhibited=yes
J'ai aussi essayé avec
#LidSwitchIgnoreInhibited=no
4. Comme expliqué ici et ici , j'ai édité /var/lib/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
:
root@gabriel-linux:/var/lib/polkit-1/localauthority/50-local.d# cat com.ubuntu.enable-hibernate.pkla
[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 mon script (lid.sh
) soit appelé dans /etc/acpi/
, je devais créer le fichier correct dans /etc/acpi/events/
.
Le fichier doit s'appeler lm_lid
et le contenu est le suivant:
event=button/lid.*
action=/etc/acpi/lid.sh
Redémarrez votre système pour que cela prenne effet.
Note: Je suis revenu à Linux Mint (maintenant 17) avant de comprendre tout cela, et cela, avec le fichier correct, fonctionne maintenant. J'aimerais cependant avoir des nouvelles des utilisateurs Ubuntu.
J'ai eu un problème similaire dans Linux Mint 17.3. Il est parti quand j'ai installé le pilote vidéo nvidia à la place du pilote open source par défaut. (Administration-> Gestionnaire de pilotes-> Sélectionnez le pilote recommandé par nvidia)