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


424

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


11
Почему они отключили это в первую очередь? Это как-то связано с потерей звука?
— Али


4
Чтобы ответить на вопрос Али, он был отключен, потому что у многих людей были проблемы со спящим режимом из-за проблем с их разделами подкачки. Однако в Ubuntu 14.10 Utopic Unicorn есть планы заставить работать гибернацию насовсем, с помощью кнопки и всего остального.
— Джон Скотт

1
Для 15.04 вам может понадобиться этот вопрос askubuntu.com/q/614662/178596
— Уилф

Hibernate может не работать при использовании btrfsраздела. Смотрите здесь askubuntu.com/questions/768136/…
— Анвар

Ответы:


334

Если этот ответ не работает в 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затем enterвыйдите из nano, нажав Ctrl- X.

Перезагрузка и гибернация возвращается!

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

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


1
Это решение также работает в GNOME shell 3.4 с расширением «Alternative Status Menu».
— Роберт Вольфарт,

1
@ cuda.geek Да, я больше не буду беспокоиться обо всем, что связано с графическим интерфейсом, ввод этой маленькой команды быстрее (даже быстрее с псевдонимом ...) :)
— Aditya MP

15
В самом деле? Это удобная для пользователя версия изменения такой простой настройки? С каждым днем ​​становится все хуже ...
— Эстебан

1
Отличный учебник! Я переключился с Windows на Ubuntu, и мне это нравится! вы, люди, потрясающие :)
— gfivehost

8
Я не думаю, что это была точка зрения Эстебана. Для включения режима гибернации не требуется тайная магия. Подумайте о чем-то в каталоге / etc / default, где вы меняете одну строку с enable_hibernate = "false" на enable_hibernate = "true". Подумайте о наличии диалогового окна system-> settings, которое позволяет вам включить его с предупреждением «это может не сработать, ваш компьютер может не проснуться».
— Скотт Марлоу

47

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

 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

Убунту 14.04 и 15.04

Для включения в интерфейсе вам необходимо запустить sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confUbuntu 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


1
Он работал для меня на Ubuntu 15.04 , в то время как оригинальный принятый ответ - нет.
— Майк Б.

@MikeB. Это сработало, потому что начиная с Ubuntu 15.04, базовая система Ubuntu начинает использовать systemd - более новая замена старой выскочки. Последний раздел в приведенном выше коде, имеющий «logind», предназначен для систем на основе систем. Надеюсь, это проливает свет на вашу ситуацию. : D
— x__x

Работал для меня на Ubuntu 16.04 . единственная проблема была ошибкой отказа в разрешении, которую я решил использовать sudo.
— Сандип

Первый шаг sudo pm-hibernateприводит к command not found. Я тоже попробовал sudo apt install sudo pm-hibernate, чего тоже нет. Это версия Ubuntu 16.04.
— Л.Д. Джеймс

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

32

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

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

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

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


Вы имеете в виду:ResultActive=yes

1
Нет, так и должно быть ResultActive=no. Ответ указывает, что это отключить приостановить.
— Майкл Миор

14

Еще кое-что:

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

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

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

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


14

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

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

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


Почему откат?

это был ошибочный откат
— kelvinelove

6

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

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

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


tuxonice работает и для меня, а Ubuntu 14.04 по какой-то причине не работает!
— Лешек

5

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

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

Сценарий 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

Сценарий 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оба сценария сделать их исполняемыми.


4

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

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

2

В 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, оба работали


подайте это как отдельный вопрос и ответ. Как люди могут искать "не удалось возобновить из приостановить" и не найти ваши отличные записи.
— Дима

После вашего предложения я создал этот вопрос с автоответчиком askubuntu.com/questions/196364/…
— Anwar

0

У меня на ноутбуке есть 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/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.