Куда гибридный приостановить?

Так что же случилось с гибридной приостановкой, где она приостановила бы и 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
    }
 фи

Источники:

[1]: pm-utils предшествует гибридной приостановке в ядре, доступной в ядрах 3.6+. Что на самом деле делает pm-suspend-hybrid, так это переводит компьютер в спящий режим на 15 минут по умолчанию, а затем переводит его в спящий режим.

Другие вопросы по тегам