Спящий режим по-прежнему отсутствует в меню в 13.10 после включения через polkit. Как включить?
Я знаю, что с 12.04 нам нужно добавить правило policykit для включения гибернации (см. Вопрос " Как включить гибернацию?" И " Официальная документация").
Я могу успешно перевести свой ноутбук в режим гибернации с sudo pm-hibernate
или же sudo s2disk
, так что правило на месте и работает, но запись спящего режима все еще отсутствует в меню.
Посмотрев исходный код пакета сеанса индикатора (но не понимая весь код), я могу сказать, что в коде все еще есть пункт меню гибернации, и он должен отображаться, когда система способна к гибернации. Пожалуйста, успокойся, если тебя это бесит. Очень маловероятно, что это будет заговор, а скорее ошибка / регрессия на более глубоком уровне, которая может произойти, когда вы перемещаете код или заменяете его.
Вопрос: Что нужно сделать в 13.10, чтобы правильно сказать indicator-session
что система может переходить в спящий режим?
Возможный дубликат: Гибернация по-прежнему недоступна - Нет активности, потому что в то время была дерзкая разработка, так что она выходит за рамки AskUbuntu.
Связанный отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814
4 ответа
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
However, please understand that this is not a place to complain and please be nice.
Смежные вопросы
- Как я могу сказать Ubuntu ничего не делать, когда я закрываю крышку ноутбука? (or tell Ubuntu to hibernate when closing the laptop lid)
Если у вас все еще есть проблемы с работой 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
Если вы выполнили предыдущие шаги и это все еще не работает, я предлагаю вам изменить /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
Одна вещь, которую я хотел бы добавить здесь, что AFAICR, это размонтированный раздел подкачки. Если раздел подкачки не смонтирован, опция гибернации не будет отображаться / включаться независимо от конфигурации гибернации.
И если раздел подкачки не будет автоматически смонтирован, то сеанс гибернации будет потерян.