Куда гибридный приостановить?
Так что же случилось с гибридной приостановкой, где она приостановила бы и RAM и диск? Несколько лет назад было жарко, но, кажется, его бросили. Есть ли способ настроить это в последних версиях Ubuntu?
3 ответа
Существует программа под названием pm-is-supported это может быть использовано для проверки возможности приостановки системы.
В моей системе приведены результаты (0 означает, что поддерживается, 1 означает, что не поддерживается):
$ pm-is-supported --suspend ; echo $?
0
$ pm-is-supported --hibernate ; echo $?
0
$ pm-is-supported --suspend-hybrid ; echo $?
1
Справочная страница pm-is-supported предполагает, что s2both поддерживает гибридную приостановку. Я установил s2both, доступный в uswsusp пакет, но он по-прежнему сообщает, что гибридная приостановка не поддерживается. У меня есть догадка, что он нуждается в перезагрузке, потому что он обновил образ initrd. Я собираюсь перезагрузить компьютер и доложить. Пожелай мне удачи.
Обновление: работает sudo s2both записал снимок на диск и правильно приостановил работу в ОЗУ, однако, когда я нажал клавишу, чтобы возобновить перезагрузку системы (и не восстановил снимок с диска).
Я думаю, что-то не так с uswsusp пакет в убунту. splashy пакет (который используется uswsusp) конфликт файлов с lsb-base который остался незафиксированным после Jaunty ( https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089)
Попробуйте запустить sudo s2both или же sudo pm-suspend-hybridПосмотрите, работает ли он в вашей системе.
Вы можете включить гибридную приостановку, следуя ответу на этот вопрос:
Этот вопрос возникает в Google достаточно часто, и я думаю, что его стоит столкнуть. Ли прекрасно объясняет гибридную приостановку. Однако s2both требует uswsusp (таким образом, не использует приостановку в ядре), а pm-hsuspend-hybrid делает неправильную вещь, потому что он не поддерживается [1].
Вот как включить гибридную приостановку без проблем:
- Переопределите вызов "suspend", чтобы сделать "hybrid_suspend" в pm-utils.
% cat /etc/pm/config.d/00-use-suspend-hybrid
# Всегда используйте suspend_hybrid вместо suspend
if [ "$METHOD" = "suspend" ]; затем
METHOD=suspend_hybrid
фи- Сделайте резервную копию / usr / lib / pm-utils / pm-functions
- Получить патч можно здесь: https://bugs.freedesktop.org/attachment.cgi?id=68712
- Этот патч включает гибридную приостановку, если она доступна (например, в ядрах 3.6+)
- Либо примените его с помощью 'patch -p0', либо объедините вручную, если это не удалось
Этот метод работает для меня на моем Sony Vaio SVS.
PS: Воспроизведение патча здесь на случай, если файл будет удален в будущем:
diff -git a/pm/pm-functions.in b/pm/pm-functions.in
--- a/pm/pm-functions.in
+++ b/pm/pm-functions.in
@@ -316,8 +316,28 @@ if [ -z "$HIBERNATE_MODULE" ] && \
{
[ -n "${HIBERNATE_MODE}" ] && \
grep -qw "${HIBERNATE_MODE}" /sys/power/disk && \
+ HIBERNATE_MODE_SAVE=$(cat /sys/power/disk) && \
+ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE##*[}" && \
+ HIBERNATE_MODE_SAVE="${HIBERNATE_MODE_SAVE%%]*}" && \
echo -n "${HIBERNATE_MODE}" > /sys/power/disk
echo -n "диск" > /sys/power/state
+ RET=$?
+ echo -n "$HIBERNATE_MODE_SAVE" > /sys/power/disk
+ возврат "$RET"
+ }
+ фи
+
+# для ядер, поддерживающих приостановку к обоим (т.е. гибридную приостановку)
+# начиная с ядра 3.6
+if [ -z "$SUSPEND_HYBRID_MODULE" ] && \
+ [ -f /sys/power/disk ] && \
+ grep -q диск /sys/power/state && \
+ grep -q suspend /sys/power/disk; затем
+ SUSPEND_HYBRID_MODULE="ядро"
+ do_suspend_hybrid()
+ {
+ HIBERNATE_MODE="приостановить"
+ do_hibernate
}
фиИсточники:
- https://bugzilla.redhat.com/show_bug.cgi?id=843657
- https://bugs.freedesktop.org/show_bug.cgi?id=52572
[1]: pm-utils предшествует гибридной приостановке в ядре, доступной в ядрах 3.6+. Что на самом деле делает pm-suspend-hybrid, так это переводит компьютер в спящий режим на 15 минут по умолчанию, а затем переводит его в спящий режим.