Спящий режим по-прежнему отсутствует в меню в 13.10 после включения через polkit. Как включить?

52

Я знаю, что с 12.04 нам нужно добавить правило policykit для включения гибернации (см. Вопрос « Как включить гибернацию?» И « Официальная документация» ).

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

Посмотрев исходный код пакета сеанса индикатора (но не понимая весь код), я могу сказать, что в коде все еще есть пункт меню гибернации, и он должен отображаться, когда система способна к гибернации. Пожалуйста, успокойся, если тебя это бесит. Очень маловероятно, что это будет заговор , а скорее ошибка / регрессия на более глубоком уровне, которая может произойти, когда вы перемещаете код или заменяете его.

Вопрос: Что нужно сделать в 13.10, чтобы правильно сказать, indicator-sessionчто система может переходить в спящий режим?


Возможный дубликат: Гибернация по-прежнему недоступна - Нет активности, потому что в то время была дерзкая разработка, так что она выходит за рамки AskUbuntu.

Связанный отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

LiveWireBT
источник
Мой вопрос о том же: askubuntu.com/questions/361058
Pileofrocks
@pileofrocks Извините, должно быть, вы пропустили ваше в моем читателе новостей сегодня.
LiveWireBT
Ваш сформулирован лучше, хотя и более технически (сделал мой вопрос, когда я еще не знал об ошибке), если другой должен быть закрыт, то это должен быть тот, который сделал я. : P
Pileofrocks

Ответы:

63

14.04 и выше

Митч указывает в своем ответе за 14.04 и 16.04, что вы должны проверить, 10-vendor.d/com.ubuntu.desktop.pklaпрежде чем что-либо изменять. Также убедитесь, что у вас отключена безопасная загрузка, и возвращает ли это пункт меню обратно.

Повторное включение режима гибернации в меню

Чтобы снова включить режим гибернации в меню, вы /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaдолжны изменить его так, чтобы он выглядел следующим образом в saucy (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

Затем перезагрузитесь или запустите killall indicator-session-serviceсеанс, и вы вернетесь обратно в режим гибернации. Создайте файл, если он еще не существует.

Расследование из сообщения об ошибке

Цитата из сообщения Джеффри То в сообщении об ошибке Launchpad # 1232814 :

Для Saucy индикатор-сессия была обновлена, чтобы использовать logind (org.freedesktop.login1) вместо upower.

Если вы проверите /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, вы увидите, что hibernate по умолчанию отключен как в upower, так и в logind.

Поэтому первым шагом для повторного включения опции Hibernate является редактирование /etc/polkit-1/localauthority/50-local.d/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

После перезагрузки в меню сеанса экрана входа в систему должна быть опция Hibernate.

[...]

Все спасибо и благодарность Джеффри!

Почему гибернация отключена?

На панели запуска существует отчет об ошибках, в котором предлагается отключить режим приостановки / гибернации вместо отслеживания того, какое оборудование «сертифицирует» для каких режимов питания. Утверждается, что это более масштабируемый подход.

Следует также упомянуть, что использование UEFI Secure Boot и гибернации возможно, но может обойтись без него. ( 1 , 2 ) Напоминаем, что при использовании режима гибернации вы храните все данные в ОЗУ на диске без шифрования, включая пароли для зашифрованных файловых систем и контейнеров.

В какой-то момент с 16.04 мне пришлось отключить безопасную загрузку, чтобы иметь возможность переводить компьютер в спящий режим. В моем случае я использовал uswsusp, а тестирование с s2disk вернуло сообщение ниже. Это может дать вам подсказку, что ваша проблема, почему вы не можете перейти в спящий режим, хотя все остальное на месте, связана с безопасной загрузкой:

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

Однако, пожалуйста, поймите, что это не место для жалоб, и, пожалуйста, будьте милы.

Смежные вопросы

LiveWireBT
источник
3
Спасибо за метод, но у меня все еще нет успеха после перезагрузки и после 'killall Indicator-session-service'. Вы упомянули «или сделали другие способы устранения неполадок после перезагрузки», поэтому, я думаю, я в этой категории. Очень странно, что после стольких итераций этой операционной системы такое важное поведение по- прежнему не поддерживается, но это все, что я получил сейчас. Я просто буду скрещивать пальцы и придерживаться sudo pm-hibernate на данный момент.
cdaddr
3
Пара вопросов: почему в мире отключена гибернация? Помогает ли использование вышеуказанного режима гибернации в настройках питания? Я не нуждаюсь в спящем режиме в меню передач, но для моего ноутбука в спящем режиме при критических уровнях заряда батареи. Спасибо за ответ!
Oxwivi
1
Я не могу впадать в спячку даже после этого !! :( помогите, пожалуйста! гибернация работает на моей машине ... но не отображается в меню ..
Nirmik
1
@constantius Да, вы должны создать его.
LiveWireBT
1
@SalmanPK Тогда вы можете задать другой вопрос. Также убедитесь, что у вас достаточно свопа.
Сет
2

Если у вас все еще есть проблемы с работой hibernate, проверьте комментарий № 58 к этому сообщению об ошибке :

Я нашел обходной путь в Ubuntu GNOME 13.10: просто установите Hibernate:

sudo apt-get install hibernate

Единственная проблема заключается в том, что apport выдаст три ошибки при запуске после обычного отключения питания. Для этого вы можете отключить приложение:

sudo -H gedit /etc/default/apport

Тогда поменяй enabled=0.

Чтобы изменить настройки из спящего режима, отредактируйте файлы в /etc/hibernate.

Установка пакета hibernate, кажется, делает правильные изменения, и он работал очень хорошо для меня в Ubuntu GNOME 13.10 x64

cyberalex4life
источник
1

Если вы выполнили предыдущие шаги, и это все еще не работает, я предлагаю вам изменить /etc/pm/sleep.d/20_custom-ehci_hcdна:

[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

чтобы заставить его работать, затем выполните шаги, упомянутые выше, чтобы включить опцию гибернации. Это действительно сработало для меня.

В конце у вас будет 2 файла, отредактированных с помощью " [Re-enable hibernate ... ]" Попробуйте этот. Это будет работать наверняка, если вы используете Ubuntu 13.10

нб-катастрофа
источник
1

Одна вещь, которую я хотел бы добавить здесь, что AFAICR, это размонтированный раздел подкачки. Если раздел подкачки не смонтирован, опция гибернации не будет отображаться / включаться независимо от конфигурации гибернации.

И если раздел подкачки не будет автоматически смонтирован, то сеанс гибернации будет потерян.

Кровоточащие пальцы
источник