Как включить гибернацию?

В Ubuntu 12.04 и новее, гибернация была отключена по умолчанию в policykit . Как я могу включить это обратно?

431
задан 3 June 2014 в 14:21

10 ответов

Если этот ответ не работает в Ubuntu 13.10, см. здесь для альтернативного ответа


Гибернация была отключена 12.04 для машин, которые не сертифицирован для Ubuntu.

Чтобы включить спящий режим, вам нужно проверить, правильно ли он работает, запустив sudo pm-hibernate в терминале. Система попытается перейти в спящий режим. Если вы можете снова запустить систему, вы более или менее безопасно можете добавить переопределение.

Для этого начните редактирование:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Заполните его следующим образом:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Или в 14.04 и позже:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Сохраните, нажав Ctrl - O , затем введите и затем выйдите из nano, нажав Ctrl - X .

Перезагрузка и гибернация вернулись!

Или запустите killall unity-panel-service , чтобы просто сбросить меню.

Некоторым пользователям затем потребуется запустить sudo update-grub ], чтобы включить возможность гибернации в меню питания. Некоторым пользователям может также потребоваться, по крайней мере, выйти из системы, а затем войти в систему, чтобы она отображалась в меню питания (вверху справа).

335
ответ дан 3 June 2014 в 14:21

Кроме того, для тех, кто хочет отключить кнопку приостановки (по разным причинам), действуйте аналогичным образом ...

Выберите любое имя файла, но это одно подробное / соглашение:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Заполните его следующим образом:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl + O , Введите , Ctrl + X

Нет необходимости перезапускать , он должен исчезнуть, как только вы войдете в меню выключения.

33
ответ дан 3 June 2014 в 14:21

Сначала вам нужно проверить, поддерживает ли ваша машина гибернацию. Проверьте это с помощью команды:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 и выше

Для включения в интерфейсе вам необходимо запустить sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu .enable-hibernate.pkla и заполните его:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 и 15.04

Для включения в интерфейсе вам нужно запустить sudo nano /etc/polkit-1/localauthority.conf. d / 52-enable-hibernation.conf для Ubuntu 14.04 и 15.04 и заполните его:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Он имеет несколько строф, так как у вас может быть несколько пользователей (так что это не зависит от нескольких пользователей или полномочий менеджера вместо login1)

ps: официальная документация https://help.ubuntu.com/16.04/ubuntu-help/power-hibernate.html

51
ответ дан 3 June 2014 в 14:21

Еще кое-что:

Если вы хотите добавить параметр гибернации на панель XFCE , вам нужно щелкнуть правой кнопкой мыши свое имя (вверху) и выбрать свойства .

После этого всплывает экран:

enter image description here

Убедитесь, что вы проверили спящий режим, как я.

14
ответ дан 3 June 2014 в 14:21

Во-первых, я рекомендую Вам проверить, поддерживает ли Ваш ноутбук спящий режим, так как причина, по которой спящий режим отключен по умолчанию, заключается в том, что иногда на некоторых машинах он дает фатальные результаты. Проверьте свой ноутбук по

Ctrl+Alt+T, а затем sudo pm-hibernate

Ваш ноутбук должен впасть в спячку. Разбудите машину после спячки и понаблюдайте, если она плохо себя ведет или работает нормально. Если после спячки у Вас возникнут какие-либо аномалии, я советую Вам не продолжать следующую процедуру. Однако, если она работает нормально, продолжайте активировать спящий режим, нажав

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Редактируйте открытый файл и добавьте следующие строки:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

После этого перезагрузите машину, и при входе в систему в правом верхнем углу настроек Вы должны увидеть опцию спящего режима.

14
ответ дан 3 June 2014 в 14:21

Если ответ с /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla не работает, как в моем случае, не забудьте удалить файл по:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

и попробуйте использовать TuxOnIce.


Сначала убедитесь, что у вас достаточно подкачки. Он должен быть такого же размера или большего, чем объем вашей оперативной памяти. Используйте команду

free

rule Swap > Mem. Если это не так, увеличьте размер свопа. Затем установите TuxOnIce на

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Тогда вы можете попробовать провести тест в спящем режиме, запустив:

sudo pm-hibernate

Не забудьте сохранить вашу работу перед тем, как сделать это.

Если все прошло нормально, ваш компьютер выключится. После включения, Ваш рабочий стол будет находиться в состоянии, в котором Вы его оставили до спячки.

6
ответ дан 3 June 2014 в 14:21

Включение спячки со скриптом

Я перевел вышеприведенные ответы на скрипты bash. Это делает установку на несколько машин менее утомительной.

Script enable-hibernate:

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Script disable-suspend:

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Примечание: Не забудьте chmod +x оба скрипта, чтобы сделать их исполняемыми.

5
ответ дан 3 June 2014 в 14:21

Простая команда, которая делает то же самое, что и принятый ответ, за исключением неинтерактивного:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF
4
ответ дан 3 June 2014 в 14:21

У меня на ноутбуке стоит Ubuntu Gnome 17.04 amd64.Я сделал следующее, чтобы включить спящий режим:

$ sudo apt-get install hibernate ( source )

Это также установило libx86-1 uswsusp vbetool

Тогда я смог успешно перейти в спящий режим с помощью sudo systemctl hibernate . На моем пути нет исполняемого файла pm-hibernate .

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Вставлено: ( источник )

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Установлено https://extensions.gnome.org/extension/755/hibernate-status-button/

0
ответ дан 3 June 2014 в 14:21

В 12.04 я успешно включил опцию hibernate в меню индикатора для перехода в спящий режим. Но, тем не менее, я не смог успешно возобновить спящий режим. Для исправления этой проблемы я выполнил следующие шаги:

Enable Hibernate in 12.04

To enable Hibernate, я последовал за this answer from Dima.

After enable hibernate, я смог перевести себя в спящий режим. Но проблема в том, что я не могу успешно вернуться из спячки. Каждый раз, когда я запускаю компьютер из спячки, он загружается как обычная загрузка. Так что, я должен был сделать это, чтобы вернуться из спячки.

Исправление, чтобы иметь возможность возобновить спящий режим

Есть два способа исправить это.

1. Редактирование файла /etc/initramfs-tools/conf.d/resume

  1. Сначала получаем UUID раздела подкачки.

     sudo blkid | grep swap
    

    В результате будет выведена строка, аналогичная этой:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap".
    

    На самом деле линия не будет совпадать с этим. Скопируйте значение UUID между "..." двойная кавычка.

  2. Откройте файл резюме

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    И в этом файле добавьте строку типа этой

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    Не забудьте заменить действительное значение UUID, полученное на шаге 1. Сохраните файл и выйдите из gedit

  3. Затем в терминале выполните эту команду

    sudo update-initramfs -u
    

Теперь вы сможете вернуться из спячки

2. Редактирование файла /etc/default/grub.

  1. Откройте терминал и выполните следующую команду, чтобы открыть его

    gksudo gedit /etc/default/grub

  2. Будет строка типа GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск". . Отредактируйте строку для вставки RESUME=UUID=<ваше-время-значение-здесь> после слова splash.

    Например, в моем случае строка выглядит так после редактирования

     GRUB_CMDLINE_LINUX_DEFAULT="спокойное возобновление splash=UUID=a14f3380-810e-49a7-b42e-72169e66c432" . 
    

    Убедитесь, что вы использовали UUID-значение, полученное от команды sudo blkid | grep swap.

  3. Затем выполните эту команду

      sudo update-grub.
    

Это также позволит вам успешно возобновить работу из спящего режима.


Проверено на двух установках Ubuntu, обе работали

2
ответ дан 3 June 2014 в 14:21

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

Похожие вопросы: