- Как отключить режим сна и гибернации в Linux
- Отключить Режим сна и Гибернацию в Linux
- Включить режим сна и гибернацию в Linux
- Заключение
- Спящий режим
- Настройка
- Создание swap-файла
- Настройка гибернации в swap-файл
- Как включить Гибернацию в Linux
- Шаг 1: Проверьте, поддерживает ли ваша система гибернацию
- Шаг 2: Установка необходимых пакетов для включения гибернации в Linux
- Шаг 3: Настройка конфигурационных файлов
- Шаг 4: Перезагрузите систему
- Шаг 5: Проверьте, работает ли гибернация
- Шаг 6: Дополнительные настройки
- Заключение
Как отключить режим сна и гибернации в Linux
В этой статье мы рассмотрим, как отключить режим гибернации и режим сна в системе Linux. Но прежде чем мы сделаем это, давайте кратко рассмотрим эти два режима.
Режим гибернации при его включении, система Linux записывает свое текущее состояние в файл. Далее при включении все эти данные восстанавливаются и вы продолжаете работу с места остановки. Т.е. все открытые документы, папки, файлы остаются в таком же состояние, как до режима гибернации.
Режим сна помогает экономить электроэнергию, когда вы не используете свою систему. Чтобы вернуться к использованию вашей системы, требуется просто щелкнуть мышью или нажать на любую кнопку клавиатуры. Иногда вам может потребоваться нажать кнопку питания.
В Linux есть 3 режима различных режима ожидания:
- Suspend to RAM (Ждущий режим): этот режим используют большинство ноутбуков. И автоматически входят в этот режим в случае бездействия по истечению определенного периода времени. А так же при закрытии крышки ноутбука, когда компьютер работает от аккумулятора. В этом режиме питание остается для оперативной памяти, а большинство компонентов отключаются.
- Suspend to Disk (Hibernate): в этом режиме состояние ПК сохраняется в файле подкачки, и система полностью выключается. Однако включив его, все восстанавливается и вы продолжаете с того места, где оставались.
- Suspend to both (Гибридная приостановка): здесь состояние машины сохраняется в swap, но система не выключается. А так же компьютер выполняет приостановку системы в ОЗУ. Если у вас не установлена батарея тогда, вы можете безопасно возобновить работу системы с диска и продолжить свою работу. Этот метод намного медленнее, чем приостановка работы в ОЗУ.
Отключить Режим сна и Гибернацию в Linux
Чтобы предотвратить ждущий режим или переход вашей системы Linux в спящий режим, вам необходимо отключить следующие systemd:
$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Вы должны получить вот такой результат, как показан ниже:
hybrid-sleep.target
Created symlink /etc/systemd/system/sleep.target → /dev/null.
Created symlink /etc/systemd/system/suspend.target → /dev/null.
Created symlink /etc/systemd/system/hibernate.target → /dev/null.
Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.
Отключить ждущий режим и гибернацию в Ubuntu
Далее требуется перезагрузить систему и снова войти.
Проверьте были ли внесены изменения в систему с помощью команды:
$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target
Из выходных данных мы видим, что все четыре состояния были отключены.
Включить режим сна и гибернацию в Linux
Чтобы снова включить ждущий режим и гибернации требуется выполнить команду:
$ sudo systemctl unmask sleep. target suspend.target hibernate.target hybrid-sleep. target
Вот такой результат вы должны получить:
Removed /etc/systemd/system/sleep.target.
Removed /etc/systemd/system/suspend.target.
Removed /etc/systemd/system/hibernate.target.
Removed /etc/systemd/system/hybrid-sleep.target.
Чтобы убедиться в том что команда выполнена корректна, введите команду:
$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target
Проверка приостановки и гибернации в Ubuntu
Если вы не желаете того чтоб ваш ноутбук при закрытии крышки уходил в режим ожидания (сна). Вам требуется отредактировать файл /etc/systemd / logind.conf.
$ sudo vim /etc / systemd/logind. conf
Добавьте в этот файл следующие строки:
[Login]
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
Сохраните и закройте файл. Не забудьте перезагрузиться, чтобы изменения которые в сделали вступили в силу.
Заключение
На этом все, в этой статье я подробна рассмотрел как отключить ждущий режим (сна) и гибернации в вашей системе Linux. Очень надеюсь, что руководство было полезным.
Спящий режим
Спящий режим (hibernate) – энергосберегающий режим операционной системы компьютера, позволяющий сохранять содержимое оперативной памяти на энергонезависимое устройство хранения данных (жесткий диск) перед выключением питания.
При засыпании все данные процессов вытесняются в swap файл, а также в swap сохраняются некоторые настройки устройств, и после этого система переходит в режим с полным отключением питания.
При включении компьютера система начинает загружаться как обычно, но если в процессе загрузки ядро обнаруживает образ памяти сохраненный в swap, то загрузка в нормальном режиме прекращается и начинается восстановление состояния оперативной памяти из swap-а. Кроме этого восстанавливаются настройки устройств (видеоадаптер, сетевые карты, и пр.).
И вот именно с восстановлением работоспособности устройств компьютера и связаны все основные проблемы с режимом сна. Не всегда драйвера устройств позволяют осуществить необходимые действия по сохранению и восстановление настроек после сна. И это может приводить к зависанию компьютера после попытки проснуться.
Еще одна неприятность этого режима проявляется при больших объемах оперативной запоминающей памяти компьютера. Речь идет об объемах оперативной памяти от 8Gb и выше (что в последние годы встречается все чаще). Если памяти много, то и много придется сохранять в swap при засыпании и соответственно вычитывать из swap при просыпании. Из за этого засыпание и просыпания могут занять довольно значительное время. Может оказаться, что вам проще и гораздо быстрее все-таки сохранить свою работу и выключить нормально компьютер, а потом, после обычной загрузки, открыть свои рабочие файлы заново.
Именно из-за озвученных выше особенностей режима сна в последних версиях Ubuntu по умолчанию этот режим энергосбережения отключен.
Настройка
Для поддержки работы данного режима у вас должен присутствовать swap-раздел или (рекомендуется) swap-файл.
Рекомендации по созданию swap-раздела можно просмотреть здесь. Вариант со swap-файлом является более удобным в использовании (но чуть более сложным при создании) т.к. он не занимает отдельный раздел, легко удаляется, его размер можно легко изменить (без необходимости менять разметку диска и двигать/изменять размеры других разделов).
Но учтите, не на любой файловой системе можно создать (и использовать) swap-файл: из за некоторых особенностей организации размещения файлов на диске swap-файл нельзя использовать на файловой системе btrfs (без специальных ухищрений).
Создание swap-файла
Про рекомендуемый размер swap-файла можно узнать здесь.
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile && sudo mkswap /swapfile
sudo swapoff -a sudo swapon /swapfile
echo "/swapfile swap swap defaults,pri= 0 0"| sudo tee -a /etc/fstab
Настройка гибернации в swap-файл
mount | grep " / " sudo blkid
Укажите первый физический блок swap-файла. Его можно узнать с помощью swap-offset из пакета uswsusp :
echo "resume=UUID= resume_offset=" | sudo tee /etc/initramfs-tools/conf.d/resume
resume=UUID=your UUID> resume_offset=youroffset>
sudo update-grub sudo update-initramfs -u
Проверьте работу гибернации с помощью команды pm-hibernate из пакета pm-utils :
Если у вас все работает — переходите к следующему пункту. Если нет — воспользуйтесь утилитой uswsusp .
Если у вас все заработало — радуйтесь, если нет — придется конфигурировать uswsusp :
sudo dpkg-reconfigure -pmedium uswsusp
На вопрос «Продолжить без работоспособного пространства подкачки?» в случае использования swap-файла отвечаем «Да», пространство подкачки в диалоге указываем по UUID (/dev/disk/by-uuid/ ), раздел не шифруем (иначе может случиться подобное описанному здесь). После этого автоматически будет сформирован uswsusp.conf с необходимыми параметрами. Пробуем опять:
Если заработало, заменяем вызов pm-hibernate на s2disk :
echo "SLEEP_MODULE=uswsusp" | sudo tee -a /etc/pm/config.d/module
Снова проверьте гибернацию (возможно, перед этим потребуется перезагрузка):
Если не заработало с uswsusp , используйте TuxOnIce — он обычно работает без проблем.
Если гибернация заработала, то остается только активировать кнопку «Спящий режим» в меню выключения. Для этого:
sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
[Disable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=no [Disable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=no
Если гибернация работает по вызову pm-hibernate , но не работает по кнопке «Спящий режим» в меню выключения, то, возможно, проблема в том, что эта кнопка вызывает команду systemctl hibernate , которая по умолчанию не поддерживает uswsusp (подробно эта проблема в LXDE описана здесь).
sudo cp /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/ sudo nano /etc/systemd/system/systemd-hibernate.service
ExecStart=/lib/systemd/systemd-sleep hibernate
ExecStart=/bin/sh -c 's2disk && run-parts --regex .\* -a post /lib/systemd/system-sleep'
Как включить Гибернацию в Linux
Включение гибернации в Linux является полезной функцией, которая позволяет сохранять текущее состояние системы на жесткий диск, а затем восстанавливать его после перезагрузки. Это позволит вам быстро возобновить работу с того момента, где вы остановились. А также поможет сократить время загрузки системы. В этой статье мы рассмотрим, как включить гибернацию в Linux.
Шаг 1: Проверьте, поддерживает ли ваша система гибернацию
Прежде чем включить гибернацию в Linux, вам следует убедиться, что ваша система поддерживает эту функцию. Для этого в терминале выполните следующую команду:
Если ваша система поддерживает гибернацию, она должна перейти в спящий режим и выключиться. Если же вы получили ошибку «Не найдено подходящего образа для гибернации«, это означает, что ваша система не поддерживает гибернацию, и вам необходимо установить необходимые пакеты.
Шаг 2: Установка необходимых пакетов для включения гибернации в Linux
Если ваша система не поддерживает гибернацию, вам необходимо установить необходимые пакеты. Для этого в терминале выполните следующую команду:
$ sudo apt-get install hibernate pm-utils
Эта команда установит пакеты hibernate и pm-utils, которые необходимы для работы гибернации.
Возможно вам будет интересно: Как исправить ошибку “W: Some index files failed to download” Ошибка в Ubuntu
Шаг 3: Настройка конфигурационных файлов
После установки пакетов необходимо настроить конфигурационный файл для гибернации в Linux. Для этого в терминале выполните следующую команду:
$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Эта команда откроет конфигурационный файл в текстовом редакторе Nano. В этом файле добавьте следующие строки:
[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
ResultActive=yes
Сохраните файл, нажав клавиши Ctrl+O, затем закройте его, нажав Ctrl+X.
Шаг 4: Перезагрузите систему
После настройки конфигурационного файла необходимо перезагрузить систему. Это обновит настройки и позволит вам использовать гибернацию.
Шаг 5: Проверьте, работает ли гибернация
После перезагрузки системы вы можете проверить, работает ли гибернация. Для этого в терминале выполните следующую команду:
Эта команда должна перевести вашу систему в спящий режим и сохранить ее текущее состояние на жесткий диск. Далее вы можете включить систему снова и продолжить работу с того момента, где вы остановились.
Шаг 6: Дополнительные настройки
Вы можете настроить дополнительные параметры для гибернации, такие как время ожидания перед переходом в гибернацию или объем свободного места на жестком диске, необходимый для работы гибернации. Для этого вам необходимо отредактировать файл конфигурации /etc/default/grub и изменить значения параметров GRUB_CMDLINE_LINUX_DEFAULT и GRUB_CMDLINE_LINUX .
Например, чтобы установить время ожидания перед переходом в гибернацию на 60 секунд, добавьте следующую строку в файл /etc/default/grub :
GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash resume=UUID= resume_offset= resume=UUID= resume_offset= acpi_sleep=nonvs clocksource=hpet i8042.reset»
Затем сохраните файл и выполните команду:
Эта команда обновит настройки grub и применит изменения.
Заключение
В заключение, гибернация — это полезная функция в Linux, которая позволяет сохранять текущее состояние системы на жесткий диск и восстанавливать его после перезагрузки. Чтобы включить гибернацию в Linux, вам необходимо убедиться, что ваша система поддерживает эту функцию, установить необходимые пакеты, настроить конфигурационный файл, перезагрузить систему и проверить, работает ли гибернация. Если вы хотите настроить дополнительные параметры для гибернации, вы можете изменить файл конфигурации grub.