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

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

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 чтобы опция гибернации была доступна в меню питания. Некоторым пользователям также может потребоваться, по крайней мере, выйти из системы, а затем войти в нее, чтобы она появилась в меню питания (вверху справа).

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

 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/stable/ubuntu-help/power-hibernate.html

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

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

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, Enter, Ctrl+X

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

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

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

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

Еще кое-что:

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

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

введите описание изображения здесь

Убедитесь, что вы проверите Hibernate, как и я.

Если ответ с /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

Правило 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

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

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

Включение гибернации с помощью скрипта

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

скрипт enable-hibernate:

#!/bin/bash
#http://Ask-ubuntu.ru/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

скрипт disable-suspend:

#!/bin/bash
#http://Ask-ubuntu.ru/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 оба сценария, чтобы сделать их исполняемыми.

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

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

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

Включить Hibernate в 12.04

Чтобы включить 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="quiet splash" , Отредактируйте строку для вставки RESUME=UUID=<your-uuid-value-here> после слова splash,

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

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

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

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

     sudo update-grub
    

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


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

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

$ sudo apt-get install hibernate ( источник)

Это также установлено libx86-1uswsuspvbetool

Тогда я мог бы успешно зимовать с 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/

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