Ubuntu не спит, когда крышка закрыта

Я использую Ubuntu 12.04 в моем ноутбуке. Я пытаюсь настроить спящий режим, когда крышка закрыта. Однако не работает. Я сделал следующие шаги, чтобы решить проблему:

  • Я включаю в /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Системные настройки - Питание
  • Я использовал редактор dconf.

Когда я закрываю крышку, вместо этого спящий режим приостанавливается. Я пытаюсь бежать sudo pm-hibernate и работает нормально.

Любое предложение?

2 ответа

Решение

Примечание: попробуйте pm-hibernate в оболочке, прежде чем пытаться это сделать. Если это работает, давай.

Я исправил это...

  • Использование cinnamon-settings / Power для установки события в Hibernate. Это устанавливает значения dconf /org/gnome/settings-daemon/plugins/power/lid-close-ac-action а также /org/gnome/settings-daemon/plugins/power/lid-close-battery-action к тому, что вы хотите

  • редактирование /etc/acpi/events/lm_lid (gksudo gedit /etc/acpi/events/lm_lid) и заполняя его

event=button/lid.*
action=/etc/acpi/lid.sh
  • редактирование /etc/acpi/lid.sh (gksudo gedit /etc/acpi/lid.sh). Если он пуст, заполните его
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

Иначе, ищите правильное место, чтобы поместить код выше

замещать gabriel по вашему имени пользователя. Вы должны сделать su вещь перед звонком gsettings get потому что этот скрипт запускается от имени root и работает gsettings get root может вернуть настройки пользователя root вместо вашего пользователя.

Вы могли бы просто позвонить pm-hibernate но затем меняются параметры в cinnamon-settings не будет работать больше. Мне было все равно, проверять, подключен ли мой ноутбук к сети переменного тока или к аккумулятору, потому что это не имеет значения: я все равно хочу всегда вести себя одинаково. Может быть, кто-то хочет добавить if там?

Вот как это исправить.

В вашем файле:

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

Убедитесь, что у вас есть две настройки

[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

Вот почему. В этом файле:

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

он устанавливает два варианта "нет"

Файл, который вы создали, должен быть выполнен после того, как он находится в / var / lib, поэтому он должен иметь приоритет над ним (проверено, и оно работает). Вы можете прочитать информацию об этом здесь в разделе "Порядок оценки". Если для вашего параметра "upower" установлено значение "yes", вы можете выбрать режим гибернации в настройках питания в Ubuntu. Однако вы по-прежнему не можете перейти в спящий режим, поскольку в файле 10-vendor.d для login1.hibernate было задано значение "нет", и это также должно быть "да".

Другие вопросы по тегам