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

424

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

Дима
источник
11
Почему они отключили это в первую очередь? Это как-то связано с потерей звука?
Али
2
для 13.10 см askubuntu.com/questions/361734/...
rogerdpack
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

morhook
источник
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, как и я.

MREQ
источник
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
источник
Почему откат?
это был ошибочный откат
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

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

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

Dee
источник
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/

ominug
источник