В 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.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
], чтобы включить возможность гибернации в меню питания. Некоторым пользователям может также потребоваться, по крайней мере, выйти из системы, а затем войти в систему, чтобы она отображалась в меню питания (вверху справа).
Кроме того, для тех, кто хочет отключить кнопку приостановки (по разным причинам), действуйте аналогичным образом ...
Выберите любое имя файла, но это одно подробное / соглашение:
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 , Введите , Ctrl + X
Нет необходимости перезапускать , он должен исчезнуть, как только вы войдете в меню выключения.
Сначала вам нужно проверить, поддерживает ли ваша машина гибернацию. Проверьте это с помощью команды:
sudo pm-hibernate
# or for newer Ubuntus like 17.04
sudo systemctl 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.hibernate-multiple-sessions
ResultActive=yes
Для включения в интерфейсе вам нужно запустить 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/16.04/ubuntu-help/power-hibernate.html
Еще кое-что:
Если вы хотите добавить параметр гибернации на панель XFCE , вам нужно щелкнуть правой кнопкой мыши свое имя (вверху) и выбрать свойства
.
После этого всплывает экран:
Убедитесь, что вы проверили спящий режим, как я.
Во-первых, я рекомендую Вам проверить, поддерживает ли Ваш ноутбук спящий режим, так как причина, по которой спящий режим отключен по умолчанию, заключается в том, что иногда на некоторых машинах он дает фатальные результаты. Проверьте свой ноутбук по
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
После этого перезагрузите машину, и при входе в систему в правом верхнем углу настроек Вы должны увидеть опцию спящего режима.
Если ответ с /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
rule 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
. Это делает установку на несколько машин менее утомительной.
Script 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
Script 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
оба скрипта, чтобы сделать их исполняемыми.
Простая команда, которая делает то же самое, что и принятый ответ, за исключением неинтерактивного:
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
У меня на ноутбуке стоит Ubuntu Gnome 17.04 amd64.Я сделал следующее, чтобы включить спящий режим:
$ sudo apt-get install hibernate
( source )
Это также установило 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.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/
В 12.04 я успешно включил опцию hibernate в меню индикатора для перехода в спящий режим. Но, тем не менее, я не смог успешно возобновить спящий режим. Для исправления этой проблемы я выполнил следующие шаги:
To enable Hibernate, я последовал за this answer from Dima.
After enable hibernate, я смог перевести себя в спящий режим. Но проблема в том, что я не могу успешно вернуться из спячки. Каждый раз, когда я запускаю компьютер из спячки, он загружается как обычная загрузка. Так что, я должен был сделать это, чтобы вернуться из спячки.
Есть два способа исправить это.
/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
Теперь вы сможете вернуться из спячки
/etc/default/grub
.Откройте терминал и выполните следующую команду, чтобы открыть его
gksudo gedit /etc/default/grub
Будет строка типа GRUB_CMDLINE_LINUX_DEFAULT="тихий всплеск".
. Отредактируйте строку для вставки RESUME=UUID=<ваше-время-значение-здесь>
после слова splash
.
Например, в моем случае строка выглядит так после редактирования
GRUB_CMDLINE_LINUX_DEFAULT="спокойное возобновление splash=UUID=a14f3380-810e-49a7-b42e-72169e66c432" .
Убедитесь, что вы использовали UUID-значение, полученное от команды sudo blkid | grep swap
.
Затем выполните эту команду
sudo update-grub.
Это также позволит вам успешно возобновить работу из спящего режима.
Проверено на двух установках Ubuntu, обе работали