Не работает гибернция, Ubuntu
Включил гибернацию в Ubuntu 20.04, но при нажатии на кнопку Hibernate в меню происходит что то типо Lock, тоже самое происходит при команде sudo systemctl hibernate. В результате команды sudo pm-hibernate просто выключается и включается экран. Как можно поправить данную ситуацию?
В файле /etc/default/grub прописано
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/nvme0n1p2"
Ответы (1 шт):
Как подсказали в комментариях: спищий режим
Я настраивал через swap раздел.
- Запишите ваши параметры в файл настроек initramfs
echo "resume=UUID=<UUID> resume_offset=<offset>" | sudo tee /etc/initramfs-tools/conf.d/resume
В gparted можно найти UUID и offset (First sector)
- и в конфиг GRUB
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=<UUID> resume_offset=<offset>"
- Обновите настройки GRUB и сгенерируйте новый initramfs:
sudo update-grub
sudo update-initramfs -u
Перезагружаем
Проверьте работу гибернации с помощью команды pm-hibernate из пакета pm-utils
sudo pm-hibernateЕсли у вас все работает - переходите к следующему пункту. Если нет — воспользуйтесь утилитой uswsusp
sudo s2diskЕсли у вас все заработало - радуйтесь, если нет - придется конфигурировать uswsusp
sudo dpkg-reconfigure -pmedium uswsuspЕсли заработало, заменяем вызов pm-hibernate на s2disk:
echo "SLEEP_MODULE=uswsusp" | sudo tee -a /etc/pm/config.d/module
Если гибернация заработала, то остается только активировать кнопку «Спящий режим» в меню выключения. Для этого:
Измените настройки policitykit sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
В блоке:
[Disable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=no
[Disable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=no
Замените измените в них параметр ResultActive с no на yes.
Если гибернация работает по вызову pm-hibernate, но не работает по кнопке «Спящий режим» в меню выключения, то, возможно, проблема в том, что эта кнопка вызывает команду systemctl hibernate, которая по умолчанию не поддерживает uswsusp
sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/
sudo nano /etc/systemd/system/systemd-hibernate.service
Заменяем
ExecStart=/lib/systemd/systemd-sleep hibernate
на
ExecStart=/bin/sh -c 's2disk && run-parts --regex .\* -a post /lib/systemd/system-sleep'
