В 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
.
После этого появится экран:
Убедитесь, что вы проверили режим гибернации, как это сделал я.
Во-первых, я рекомендую вам проверить, поддерживает ли ваш ноутбук гибернацию, потому что причина, по которой гибернация отключена по умолчанию, заключается в том, что на некоторых машинах она иногда приводит к фатальным результатам. Протестируйте свою машину с помощью
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
файл
-
Сначала получите UUID раздела подкачки.
sudo blkid | grep swap
Это выведет строку, похожую на эту:
/dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
Фактическая строка не будет совпадать с этой. Скопируйте значение UUID между ними
"..."
двойная кавычка. -
Откройте файл резюме
gksudo gedit /etc/initramfs-tools/conf.d/resume
И в этот файл добавьте строку, подобную этой
RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
Не забудьте заменить фактическое значение UUID, полученное на шаге 1. Сохраните файл и выйдите из gedit
-
Затем в терминале выполните эту команду
sudo update-initramfs -u
Теперь вы сможете выйти из спящего режима
2. Редактирование /etc/default/grub
файл.
-
Откройте терминал и выполните приведенную ниже команду, чтобы открыть его
gksudo gedit /etc/default/grub
-
Там будет такая строка, как
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
команда. -
Затем выполните эту команду
sudo update-grub
Это также позволит вам успешно возобновить работу из спящего режима.
Протестировано на двух установках Ubuntu, обе работали
У меня на ноутбуке установлен Ubuntu Gnome 17.04 amd64. Я сделал следующее, чтобы включить гибернацию:
$ sudo apt-get install hibernate
(источник)
Это также установлено 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.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