Linux настройка спящий режим

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

Читайте также:  Linux find all files with extension

Далее требуется перезагрузить систему и снова войти.

Проверьте были ли внесены изменения в систему с помощью команды:

$ 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. Очень надеюсь, что руководство было полезным.

Источник

Спящий режим

Спящий режим (hibernate) – энергосберегающий режим операционной системы компьютера, позволяющий сохранять содержимое оперативной памяти на энергонезависимое устройство хранения данных (жесткий диск) перед выключением питания.
При засыпании все данные процессов вытесняются в swap файл, а также в swap сохраняются некоторые настройки устройств, и после этого система переходит в режим с полным отключением питания.
При включении компьютера система начинает загружаться как обычно, но если в процессе загрузки ядро обнаруживает образ памяти сохраненный в swap, то загрузка в нормальном режиме прекращается и начинается восстановление состояния оперативной памяти из swap-а. Кроме этого восстанавливаются настройки устройств (видеоадаптер, сетевые карты, и пр.).
И вот именно с восстановлением работоспособности устройств компьютера и связаны все основные проблемы с режимом сна. Не всегда драйвера устройств позволяют осуществить необходимые действия по сохранению и восстановление настроек после сна. И это может приводить к зависанию компьютера после попытки проснуться.
Еще одна неприятность этого режима проявляется при больших объемах оперативной запоминающей памяти компьютера. Речь идет об объемах оперативной памяти от 8Gb и выше (что в последние годы встречается все чаще). Если памяти много, то и много придется сохранять в swap при засыпании и соответственно вычитывать из swap при просыпании. Из за этого засыпание и просыпания могут занять довольно значительное время. Может оказаться, что вам проще и гораздо быстрее все-таки сохранить свою работу и выключить нормально компьютер, а потом, после обычной загрузки, открыть свои рабочие файлы заново.
Именно из-за озвученных выше особенностей режима сна в последних версиях Ubuntu по умолчанию этот режим энергосбережения отключен.

Читайте также:  Linux команда обновления репозиториев

Настройка

Для поддержки работы данного режима у вас должен присутствовать 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'

Источник

Оцените статью
Adblock
detector