Поиск по сайту:

Как включить функцию гибернации в Ubuntu 22.04 LTS

Спящий режим компьютера не работает в вашей Ubuntu? Вот пошаговое полное руководство, показывающее, как включить эту функцию.

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

ПРИМЕЧАНИЕ. Теперь это руководство протестировано и работает на моем ноутбуке с Ubuntu 22.04 и GNOME по умолчанию. Это может НЕ работать, если вы использовали Grub-Customizer для редактирования загрузочного меню! Для других сред рабочего стола вам необходимо заменить gedit в следующих командах на ваш любимый текстовый редактор: или воспользуйтесь универсальным редактором командной строки nano.

Проверьте, работает ли спящий режим:

Hibernate не работает на моем ноутбуке с Ubuntu 20.04 (возможно, не помню), хотя в Debian 11 он работает.

ПРИМЕЧАНИЕ. Приведенная ниже команда не работает для безопасной загрузки! Вам необходимо отключить его в BIOS/EFI для использования режима гибернации. При безопасной загрузке вы получите сообщение об ошибке:

«Не удалось перевести систему в спящий режим через вход в систему: команда сна «гибернация» не поддерживается».

Чтобы проверить, работают ли функции, откройте терминал (Ctrl+Alt+T) и выполните команду:

systemctl hibernate

Сохраните работу перед запуском команды! Затем введите пароль пользователя, когда он спросит.

Команда выключит ваш компьютер/ноутбук. Затем снова загрузите компьютер и посмотрите, восстановится ли состояние вашей системы после входа в систему.

Включить спящий режим на разделе подкачки:

То есть не получится просто зайти на пустой рабочий стол? Попробуйте включить эту функцию, выполнив следующие действия.

Проверьте область подкачки:

Область подкачки используется, когда память заполняется. Его также можно использовать для сохранения состояния вашей системы через спящий режим.

Откройте терминал (Ctrl+Alt+T) и запустите команду, указав область подкачки:

swapon --show

Если выводится «/dev/sdaxsection…» (или /dev/nvmex), продолжайте этот шаг. Или, если отображается сообщение «Нет подкачки или файла», перейдите к следующему шагу: «Включить спящий режим для файла подкачки».

Найти UUID области подкачки

В моем случае подкачкой является раздел: «/dev/sda4». Теперь найдите UUID (универсальный уникальный идентификатор) области, выполнив команду:

cat /etc/fstab |grep swap

Скопируйте UUID для /dev/sda4 в моем случае. Он будет использоваться на следующем этапе.

Возобновить своп через параметр ядра

Добавление параметра ядра в запись меню загрузки позволяет в моем случае перейти в спящий режим на ноутбуках HP и ASUS.

Для этого выполните команду в терминале, чтобы открыть файл конфигурации:

sudo gedit /etc/default/grub

Когда он откроется, добавьте resume=UUID=xxxx (замените xxxx на идентификатор, который вы скопировали на предыдущем шаге) в качестве значения «GRUB_CMDLINE_LINUX_DEFAULT».

Сохраните файл и обновите Grub с помощью команды:

sudo update-grub

Наконец, перезагрузите свой компьютер, откройте несколько окон приложений и запустите команду systemctl hibernate, чтобы проверить, работает ли она сейчас!

Включить спящий режим при файле подкачки:

Этот шаг предназначен только для тех, у кого нет раздела подкачки, поскольку файл подкачки также можно использовать для спящего режима.

Создать файл подкачки:

Чтобы создать файл подкачки, если у вас его нет, выполните одну за другой следующие команды:

а.) Предварительно выделите место на диске для файла с помощью команды:

sudo dd if=/dev/zero of=/swapfile count=8192 bs=1MiB

Замените 8192 МБ (8G) на нужный размер. Для замены рекомендуется размер оперативной памяти.

б.) Измените разрешение файла только на чтение и запись для root:

sudo chmod 600 /swapfile

в.) Установите файл в качестве области подкачки:

sudo mkswap /swapfile

г.) Наконец включите его, выполнив команду:

sudo swapon /swapfile

д.) И запишите его в /etc/fstab, чтобы Ubuntu автоматически смонтировала его при запуске.

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Найдите UUID и смещение:

Поскольку файл создан в файловой системе Ubuntu. Его можно найти как по корневому UUID, так и по физическому смещению.

Чтобы увидеть раздел Ubuntu, запустите команду и найдите тот, который смонтирован в «/»:

df -h

Затем найдите его UUID с помощью команды:

blkid

В моем случае это «/dev/sda3», а UUID отмечен подчеркиванием.

Чтобы найти физическое смещение для /swapfile, выполните команду:

sudo filefrag -v /swapfile

Скопируйте начальный номер в поле Physical_offset. В моем случае это 1134592.

Возобновить работу с файлом подкачки через параметр ядра:

Наконец, отредактируйте файл конфигурации Grub (или используйте Grub-Customizer) с помощью команды:

sudo gedit /etc/default/grub

Затем добавьте resume=UUID=xxx summary_offset=xxx в качестве значения «GRUB_CMDLINE_LINUX_DEFAULT». Также замените «xxx» на идентификатор и/или значение смещения.

И обновите grub, чтобы применить изменения с помощью команды:

sudo update-grub

Восстановить initramfs:

В моем случае Hibernate теперь работает после перезагрузки. Если у вас не работает, попробуйте восстановить initramfs с помощью нового правила.

Сначала откройте терминал (Ctrl+Alt+T) и выполните команду для создания файла конфигурации:

sudo gedit /etc/initramfs-tools/conf.d/resume

Затем вставьте строку «RESUME=UUID=xxx summary_offset=xxx» (замените xxx правильным идентификатором) и сохраните ее.

После сохранения файла перегенерируйте initramfs с помощью команды:

sudo update-initramfs -c -k all

Наконец, перезагрузитесь и снова проверьте функцию гибернации.

Включите опцию гибернации в меню выключения:

После включения этой функции вы можете добавить опцию меню в меню выключения на панели задач.

1.) Во-первых, откройте терминал (Ctrl+Alt+T) и запустите команду для создания и редактирования файла конфигурации:

sudo gedit /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

Для настольных компьютеров, отличных от Gnome, например XUbuntu и Ubuntu MATE, должна быть опция гибернации после выхода из системы и повторного входа.

2.) Включите опцию Hibernate в системном меню для рабочего стола GNOME по умолчанию.

Для рабочего стола GNOME по умолчанию перейдите к кнопке ссылки ниже и установите расширение для пункта меню:

Расширение кнопки состояния Hibernate: https://extensions.gnome.org/extension/755/hibernate-status-button/

Если вы впервые устанавливаете расширение Gnome, вам необходимо сначала запустить команду для установки пакета «chrome-gnome-shell»:

sudo apt install chrome-gnome-shell

Нажмите ссылку «нажмите здесь, чтобы установить расширение браузера» на странице расширения и обновите страницу, если вы не видите значок переключения.

Или найдите и установите «Extension Manager» из Ubuntu Software и используйте этот инструмент для поиска и установки этого расширения:

Более того:

Если после этого руководства все пойдет хорошо, вы сможете получить больше, включая режим гибернации при закрытии крышки и автоматический переход в спящий режим при простое системы.

Статьи по данной тематике