Pull to refresh

Gnome Power Manager: гибернация через s2disk

Reading time2 min
Views1.4K
Недавно мне захотелось воспользоваться такой удобной функцией в Ubuntu, как гибернация, однако вместо вожделенного спящего режима получал лишь намертво подвешенную систему. При попытке разобраться удалось лишь выяснить что проблема далеко не уникальна и «будет исправлена в обозримом будущем». После недолгого гугления и чтения форумов было принято решение воспользоваться возможностями приложения s2disk из пакета uswsusp, и воспользоваться как можно прозрачнее…

Для начала нам потребуется раздел swap (в ходе экспериментов со swap-файлом не удалось получить желаемого результата),
выяснить есть ли такой раздел и где его искать мы можем так:
swapon -s

в выводе которой мы увидим нечто вроде:
/dev/sda2 partition 10482404 181280 -

Если swap-раздел обнаружен успешно, приступаем к установке:
sudo apt-get install uswsusp

Как показала практика, uswsusp чудесно определяет параметры окружения, но нелишним будет убедиться в правильности настроек. Для этого любимым редактором открываем конфиг /etc/uswsusp.conf с правами рута и внимательно смотрим:
  • параметр «resume device», должен указывать на swap-раздел (который мы подглядели в самом начале)
  • параметр «shutdown method», задаёт действие, выполняемое после записи снимка, по умлочанию «platform»

Собственно больше там особо нечего настраивать, все настройки по умолчанию задаются так, как надо. Теперь самое время проверить работоспособность:
sudo s2disk

Если никаких сюрпризов не возникло и компьютер успешно «уснул», то пропускаем следующий шаг. Мне же пришлось столкнуться с перезагрузкой после создания снимка. В результате чтения мана удалось выяснить, что если задать любое незарезервированное значение, то выполняется принудительное выключение питания, что мы и сделаем, указав в конфиге /etc/uswsusp.conf любое понравившееся значение, например:
shutdown method = poweroff

Вот теперь приступим к самому главному — заставим Gnome Power Manager использовать уже настроенный s2disk вместо встроенной функции гибернации. Для этого нам потребуется отредактировать скрипт по адресу /usr/lib/hal/scripts/hal-system-power-hibernate и привести к следующему виду:
#!/bin/sh
s2disk

Теперь ваш любимец будет мирно «засыпать» при нажатии кнопки «Спящий режим» в окне выключении компьютера со всеми удобствами: плавым затуханием экрана и блокировкой экрана при пробуждении =)

P.S. Учтём комментарии — всё вышеописанное делалось на рабочей станции с 1526Мб ОЗУ. Размер раздела swap составлял сперва 310Мб, затем 10Гб
Tags:
Hubs:
Total votes 5: ↑4 and ↓1+3
Comments11

Articles