Спящий режим в Ubuntu 10.04

May 09, 2013 15:52


Только сегодня узнал, что, оказывается, Ubuntu можно заставить уходить в спящий режим с помощью


Был сильно удивлён, так как у меня из всех возможных в Linux вариантов спящего режима всё это время работал только hibernate-disk (естественно, с запуском через консоль). Если у вас похожая ситуация, то следующее решение вам, как и мне, должно помочь.

1. Ставим пакет uswsusp:
sudo aptitude install uswsusp

2. Открываем файл /etc/pm/config.d/00sleep_module (или создаём, если его не существует):
sudo gedit /etc/pm/config.d/00sleep_module

3. Пишем в файл строку:
SLEEP_MODULE="uswsusp"

4. Сохраняем и закрываем файл.

Вуаля, спящий режим наконец-то работает. Если вы спросите: «А какая разница, как уводить в спящий режим, через консоль или по кнопке», то я отвечу, - если переводить Ubuntu в спящий режим так, как было задумано разработчиками, то при просыпании ОС будет работать блокировка экрана (если она у вас есть). Что в моём случае безусловный плюс.
За решение спасибо amlaml.

Кстати, на днях подставил в ноутбук второй HDD и столкнулся с проблемой теперь уже выхода из спящего режима. Выглядит это как бесконечно долгая загрузка Ubuntu. Однако если на экране загрузки нажать Esc, то мы увидим её причину - ошибку

resume: libgcrypt version: 1.4.4
resume: Could not stat the resume device file '/dev/sda2'
Please type in the full path name to try again or press ENTER to boot the system

У меня эта ошибка появилась, повторюсь, сразу после установки второго винчестера и связана, насколько я понял, с тем, что на этапе «просыпания» система инициализирует диски иначе (видимо, в другом порядке), чем при обычной загрузке. По крайней мере мне помогла смена классического идентификатора вида /dev/sda1 на UUID этого диска.
Сохраню инструкцию на память.


1. Для начала нужно открыть файл /etc/uswsusp.conf. Он должен выглядеть примерно так:

# /etc/uswsusp.conf(8) -- Configuration file for s2disk/s2both
resume device = /dev/sda2
splash = y
compress = y
early writeout = y
image size = 1850350632
RSA key file = /etc/uswsusp.key
shutdown method = platform

Задача - поменять значение параметра resume device на уникальный идентификатор диска (UUID). Для этого нужно выполнить команду

blkid

И скопировать значение UUID из строки, которая заканчивается на TYPE="swap". Это значение нужно скопировать в наш файл /etc/uswsusp.conf:

# /etc/uswsusp.conf(8) -- Configuration file for s2disk/s2both
resume device = /dev/disk/by-uuid/sd5a81c3-4fe1-d401-0766-3d813edab623
splash = y
compress = y
early writeout = y
image size = 1850350632
RSA key file = /etc/uswsusp.key
shutdown method = platform

2. Затем в файле /etc/initramfs-tools/conf.d/resume заменить

RESUME=UUID=sd5a81c3-4fe1-d401-0766-3d813edab623

на

RESUME=/dev/disk/by-uuid/sd5a81c3-4fe1-d401-0766-3d813edab623

3. Также некоторые советуют указать устройство в конфиге /etc/defaults/grub с помощью строки

GRUB_CMDLINE_LINUX="resume=/dev/disk/by-uuid/sd5a81c3-4fe1-d401-0766-3d813edab623"

Хотя у меня проблема решилась и без этого. Естественно, вместо sd5a81c3-4fe1-d401-0766-3d813edab623 нужно везде указывать свой UUID.

4. Последний шаг. Нужно выполнить

update-initramfs -u

update-grub

После этого просыпание Ubuntu должно происходить без проблем.
И за это решение большое спасибо mintuser.

хозяйке на заметку, ubuntu

Previous post Next post
Up