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

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

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

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

 sudo pm-hibernate # if not found install with "apt install pm-utils" # or for newer Ubuntus above 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.hibernateResultActive=yes[Re-enable hibernate by default in logind]Identity=unix-user:*Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessionsResultActive=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

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

p.s.: официальная документация https://help.ubuntu.com/16.04/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.suspendResultActive=no

Ctrl+O, Enter, Ctrl+X

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

И еще кое-что:

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

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

enter image description here

Убедитесь, что вы проверили режим гибернации, как это сделал я.

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

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.hibernateResultActive=yes

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

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

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

Скрипт enable-hibernate:

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

Скрипт disable-suspend:

#!/usr/bin/env bash# https://askubuntu.com/a/154821/164341cat << '_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.suspendResultActive=no_EOF_clearechoecho 'Suspend disabled.'echo

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

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

И попытаться использовать Смокинг.


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

free

>правило Обмена воспоминаниями. Если это не так, увеличьте размер подкачки. Затем установите TuxOnIce с помощью

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

Затем вы можете попробовать выполнить тест гибернации, выполняемый с помощью:

sudo pm-hibernate

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

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

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

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.hibernateResultActive=yesEOF

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

Включите режим гибернации в 12.04

Чтобы включить режим гибернации, я последовал этот ответ от Димы.

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

Исправления, позволяющие возобновить работу из спящего режима

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

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.hibernateResultActive=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-inhibitResultActive=yes

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

Почему они отключили его в первую очередь? Имеет ли это какое-либо отношение к потере звука?

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

для 13.10 см. power management - Hibernation is still missing from menu in 13.10 after enabling via polkit. How to enable? - Ask Ubuntu

Для 15.04 вам может понадобиться этот вопрос hibernate - How to enable hibernation in 15.04? - Ask Ubuntu

Переход в спящий режим может не работать, если используется раздел btrfs. Смотрите здесь How can I hibernate on Ubuntu 16.04? - Ask Ubuntu

за 18.04 смотрите Ubuntu 18.04 can't resume after hibernate - Ask Ubuntu