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


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.