Як увімкнути сплячку?


424

У Ubuntu 12.04 та новіших версіях сплячка була відключена за замовчуванням у політиці . Як я можу це ввімкнути назад?


11
Чому вони відключили це в першу чергу? Чи має це щось із втратою звуку?
Алі


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

1
На 15.04 вам може знадобитися це питання askubuntu.com/q/614662/178596
Вільф

Hibernate може не працювати, коли btrfsвикористовується розділ. Дивіться тут askubuntu.com/questions/768136/…
Anwar

Відповіді:


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а потім вийдіть з нано, натиснувши Ctrl- X.

Перезапуск і сплячка повернулися!

Або запустіть, killall unity-panel-serviceщоб просто скинути меню.

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


1
Це рішення також працює в оболонці 3.4 GNOME з розширенням "Альтернативне меню статусу".
Роберт Вольфарт

1
@ cuda.geek так, більше не буду морочитися всією справою Gui, набираючи цю маленьку команду швидше (ще швидше з псевдонімом ...) :)
Aditya MP

15
Дійсно? Це зручна для користувачів версія такого простого налаштування? З кожним днем ​​стає все гірше ...
Естебан

1
Чудовий підручник! Я перейшов з Windows на ubuntu, і люблю це! Ви люди чудові :)
gfivehost

8
Я не думаю, що це був пункт Естебану. Це не повинно вимагати таємної магії, щоб дозволити зимувати. Подумайте про щось у директорії / etc / default, де ви зміните один рядок з enable_hibernate = "false" на enable_hibernate = "true". Подумайте про діалогове вікно налаштувань системи, що дозволяє лише увімкнути його з попередженням "це може не працювати, ваша машина може не прокинутися належним чином".
Скотт Марлоу

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

Ubuntu 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

У ньому є кілька строф, оскільки у вас може бути кілька користувачів (так що це не залежить від кількох користувачів або сповіщувача як менеджера замість входу1)

ps: остання офіційна документація https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


1
Це працювало для мене на Ubuntu 15.04 , тоді як оригінальна прийнята відповідь не відповідає.
Майк Б.

@MikeB. Це спрацювало, оскільки після Ubuntu 15.04 основна система Ubuntu починає використовувати systemd - більш нову заміну для старого upstart. Останній розділ у наведеному вище коді, що має "логін", призначений для систем на базі системних систем. Сподіваюся, що це проливає трохи світла на вашу ситуацію. : D
x__x

Працював для мене на ubuntu 16.04 . єдиною проблемою було відмовлено в дозволі помилка, яку я вирішив за допомогою sudo.
Сандіп

Перший крок sudo pm-hibernateпризводить до command not found. Я також спробував sudo apt install sudo pm-hibernate, який також недоступний. Це версія Ubuntu 16.04.
LD James

Ваша відповідь має відображатися у верхній частині списку, навіть якщо вона має менше голосів, вона більш значуща для відвідувачів, які використовують сьогоднішнє програмне забезпечення.
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.

Після цього з'являється екран:

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

Переконайтесь, що ви перевіряєте сплячу, як я.


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 by

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 я успішно включив сплячу опцію в меню індикаторів, щоб перезимувати. Але все-таки я не зміг успішно відновитись зі сплячого режиму. Я виконав наступні кроки, щоб виправити цю проблему:

Увімкнути сплячий режим 12.04

Щоб увімкнути сплячку, я дотримувався цієї відповіді від Діми.

Після ввімкнення сплячого режиму я міг перезимувати. Але проблема в тому, що я не можу успішно відновитись зі сплячого режиму. Кожен раз, коли я запускаю свій ПК із сплячого режиму, він завантажується як звичайне завантаження. Отже, мені довелося робити ці речі, щоб мати можливість відновитись у сплячому режимі.

Виправлення, які можна відновити після сплячого режиму

Є два способи виправити це.

1. Редагування /etc/initramfs-tools/conf.d/resumeфайлу

  1. Спочатку отримайте UUID розділу swap.

     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.