Как активировать гибернацию в 16.04.1? (Systemd)

32

У меня свежая установка 16.04.1 на Lenovo T450s, которая всегда работала нормально в отношении приостановки / гибернации в Ubuntu (предыдущая версия, которую я использовал, была 14.04.5). В этой установке размер подкачки больше, чем ОЗУ.

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

Насколько я понимаю, теперь, когда Ubuntu перешел на systemd, будет правильная команда, systemctl hibernate которая возвращает

 Failed to hibernate system via logind: Sleep verb not supported

Я попробовал решения, упомянутые здесь , но они в основном направлены на повторное включение pm-hibernateи внесение записи в меню выхода. Я также видел, что одним из возможных решений является установка ядра Tuxonice, но не пытался, так как я не очень заинтересован в том, чтобы вмешиваться в ядро ​​в целом и использовать ядро ​​PPA в частности.

Итак, есть ли способ активировать спящий режим в последних версиях Ubuntu, основанных на systemd? Желательно использовать systemd и избегать хакерских атак. Или мне просто нужно подождать и надеяться до следующего обновления?

Марк
источник
1
Да, я пытался. Дело не в том, что гибернация не дает сбоя, скажем, система зависает при выключении или не оттаивает. Просто, когда я стреляю systemctl hibernate(с или без sudo), ничего не происходит , кроме этого сообщения Failed to hibernate system via logind: Sleep verb not supported.
Марк
Своп работает и работает хорошо, проблем нет. Я grubвсе равно попробовал , чтобы быть уверенным. Не повезло.
Марк
FWIW, sudo pm-hibernate все еще работает 16.04 ... обычно. Из вашего ответа ниже, похоже, что спящий режим на самом деле не работает с Secure Boot, но если бы он это сделал, pm-hibernate определенно работал бы так, как ожидалось. Конечно, вы также можете использовать команду systemctl.
TSJNachos117
Жаль, что сообщение не читалось: Не удалось перейти в спящий режим системы через logind: Пожалуйста, используйте BIOS для отключения безопасной загрузки
Bad Loser

Ответы:

34

Наконец-то я смог решить свою собственную проблему, следуя некоторым темам в Fedora (они перешли на systemd некоторое время назад, так что там больше материала).

Оказывается, у меня была включена безопасная загрузка (я помню, что меня об этом спрашивали во время установки 16.04, и я оставил его включенным, не задумываясь об этом), и это привело к выводу cat /sys/power/disk:

 [disabled]

На самом деле не очень хороший знак. Поэтому я перезагрузился и пошел искать в моих настройках BIOS, там отключил безопасную загрузку. Теперь cat /sys/power/diskдостается мне:

 [platform] shutdown reboot suspend 

который выглядит лучше. И действительно, вызов systemctl hibernateприводит к успешной последовательности гибернации / оттаивания.

Более того, опция hibernate теперь отображается в графическом интерфейсе без необходимости какого-либо взлома (по крайней мере, на моем компьютере).

Марк
источник
Спасибо чувак. Ты спас мой день. Я действительно благодарю вас. Спасибо Спасибо.
Хамидулла
3
Это должно быть добавлено в документацию по Ubuntu здесь: help.ubuntu.com/stable/ubuntu-help/power-hibernate.html
Хоакин Арамендия
Спасибо. У меня это работало и с Ubuntu 16.04 на asus zenbook, кроме того, что опция меню для спящего режима в графическом интерфейсе все еще отсутствует.
Войтекс
Просто к сведению, если настройки вашего диска не являются причиной или ответ не устраняет вашу ошибку, попробуйте включить пространство подкачки и убедитесь, что оно имеет разумный размер по сравнению с общей установленной физической ОЗУ. Это сделало это для меня!
der_michael
Спасибо за комментарий, но в моем случае обмен был велик и великодушен.
Marc
16

Это также может произойти, если ваш своп слишком мал для хранения содержимого ОЗУ (например, когда вы добавили больше ОЗУ на свой компьютер после настройки ОС).

Проверьте, например, в htop, то Memчисло должно быть <= Swpчисло.

См. Https://github.com/systemd/systemd/issues/6729.

NH2
источник
1
Спасибо за ваше предложение, но это не было проблемой в моем случае. Это обсуждалось в комментариях. Я обновлю основной текст, чтобы сделать его еще понятнее. Между прочим, я не понимаю, почему это всегда первое, что люди предлагают в отношении исправления гибернации, в то время как стандартная установка Ubuntu обычно дает правильную сумму подкачки, если только вы добровольно не вмешались в нее.
Марк
1
@Marc Как я уже сказал в ответ: Даже если Ubuntu установить выбирает нужное количество свопа в момент установки , очень часто для людей , чтобы просто купить другую RAM палку и подключить его к компьютеру после установки (например , обновление с 8 ГБ до 16 ГБ ОЗУ через год после покупки и установки машины).
nh2