Настроить спящий режим линукс

Спящий режим

Спящий режим (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 записывает свое текущее состояние в файл. Далее при включении все эти данные восстанавливаются и вы продолжаете работу с места остановки. Т.е. все открытые документы, папки, файлы остаются в таком же состояние, как до режима гибернации.

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

В 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

Из выходных данных мы видим, что все четыре состояния были отключены.

Включить режим сна и гибернацию в 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.

Включить режим сна и гибернации в Linux

Чтобы убедиться в том что команда выполнена корректна, введите команду:

$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target

Проверка включения режима сна и гибернации на Linux

Проверка приостановки и гибернации в Ubuntu

Если вы не желаете того чтоб ваш ноутбук при закрытии крышки уходил в режим ожидания (сна). Вам требуется отредактировать файл /etc/systemd / logind.conf.

$ sudo vim /etc / systemd/logind. conf

Добавьте в этот файл следующие строки:

[Login]
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

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

Заключение

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

Источник

Как включить Гибернацию в Linux

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

Шаг 1: Проверьте, поддерживает ли ваша система гибернацию

Прежде чем включить гибернацию в Linux, вам следует убедиться, что ваша система поддерживает эту функцию. Для этого в терминале выполните следующую команду:

Гибернацию в 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

Настройка конфигурационных файлов Гибернации в Linux

Сохраните файл, нажав клавиши 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.

Источник

Читайте также:  Образ текущей системы linux
Оцените статью
Adblock
detector