Гібернація Ubuntu 19.10, 20.04, 22.10, 23.10 і так далі

Був вимушений перейти з Windows на Ubuntu, зіштовхнувся з деякими незручностями, а саме відсутність “з коробки” гібернації. Після довгих пошуків, сотні спроб таки знайшов робочий варіант, не ідеальний але працює.

Взагалі Ubuntu це окрема тема, я все таки вражений наскільки ця ОС відстає від Windows.

Метод опрацьований на двох ноутбуках Dell G3 та Dell G5 – працює без нарікань.

Увага! Зробіть копію важливих даних, адже наступними діями ви можете втратити їх!

Що потрібно зробити:

  1. Потрібно встановити ОС з використанням LVM – вада такого встановлення, це відсутність можливості вибрати одразу розмір кожного з розділів.
  2. Після того як ОС буде встановлена, потрібно завантажитись з живого лінукса, можна одразу з того що ви встановлювали, адже там є Try Ubuntu without install
  3. Коли ви завантажитесь в “живу” Убунту, потрібно виконати декілька дій.
    1. Встановити KDE partition manager (його у мене не вийшло встановити без проблем, нижче розміщу інструкцію як це зробити).
    2. За замовчуванням убунту створила два розділи, один свап на 900 мб а інший той яким ви користуєтесь. Потрібно зменшити основний розділ, так щоб у вас була можливість збільшити розмір свап розділу до кількості вашої оперативної памяті
    3. Після цього збільшити розмір свап розділу
  4. Після цих маніпуляцій можна виходити з живої ОС і завантажувати основну.
  5. Потрібно дізнатись UUID вашого свап розділу, для того щоб дізнатись UUID можна використати команду sudo blkid | grep UUID= | grep swap
  6. Після цього необхідно прописати ці дані в GRUB, відкрийте файл /etc/default/grub , наприклад, за допомогою команди sudoedit /etc/default/grub.
    Та вставте там resume=UUID=f3c88109-2010-4cfb-840f-80b5932d7ce1" в рядку GRUB_CMDLINE_LINUX_DEFAULT.
    У вас має вийти щось на зразок
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=f3c88109-2010-4cfb-840f-80b5932d7ce1"
    Після того як ви збережете файл потрібно виконати команду sudo update-grub
  7. Тепер потрібно перевірити чи все працює, для цього залиште відкритим якісь програми, наприклад, браузер, папки, ще щось, та виконайте команду
    sudo systemctl hibernate
  8. Дочекайтесь поки ноутбук вимкнеться. Спробуйте його увімкнути, якщо всі відкриті додатки збереглись і все працює – вітаю у вас все вийшло.

Оновлення 2023/05/05

У випадку Ubuntu 23.04 вище наведений спосіб не допоміг. Додатково довелось закоментуваали swapfile в /etc/fstab та додати запис, про свап розділ:

UUID=f3c88109-2010-4cfb-840f-80b5932d7ce1  none  swap       sw       0       0

Додаткові покращення

Звісно відправляти ноутбук в гібернацію через виконання команди в консолі не зовсім зручно, тому я пропоную полегшити собі життя.

Кнопка включання/вимикання в якості гібернації

Це зробити дуже легко. Потрібно в /etc/polkit-1/localauthority/50-local.d/ створити файл з ім’ям com.ubuntu.enable-hibernate.pkla, а його вміст

[Enable hibernate 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

Тепер в налаштуваннях системи у вас буде можливість назначити гібернацію на кнопку включення/вимикання ноутбуку.

У випадку Ubuntu 23.10 цей спосіб не спрацював. Виявилось, що достатньо було виконати

sudo apt-get install polkitd-pkla

Кнопки в “меню”

Це теж не так тяжко але не всім потрібно, адже достатньо кнопки самого ноутбука. Але якщо потрібно, можете встановити додаток Hibernate Status Button.

Зверни увагу

Цікавий момент, в Ubuntu 19.10 при виходу з гібернації, перед тим як появиться віконце входу в систему на декілька секунд показується все що було на екрані до входу в гібернацію. Тому для безпеки даних варто відправляти ноутбук без вразливих даних на екрані, раджу просто перед гібернацією натиснути клавіші Win + D 🙂

Корисні посилання

https://askubuntu.com/questions/1031633/enable-hibernate-in-ubuntu-18-04-lts