- Как отключить режим сна и гибернации в Linux
- Отключить Режим сна и Гибернацию в Linux
- Включить режим сна и гибернацию в Linux
- Заключение
- Спящий режим
- Содержание
- Что это и как это работает?
- Настройка
- Создание swap-файла
- Настройка гибернации в swap-файл
- Как отключить спящий режим и отключение дисплея ?
- Руководство по включению гибернации в Linux Mint 20 Cinnamon (Ubuntu 20) и предотвращению нежелательных пробуждений
Как отключить режим сна и гибернации в 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
Вот такой результат вы должны получить:
Чтобы убедиться в том что команда выполнена корректна, введите команду:
$ sudo systemctl status sleep. target suspend.target hibernate.target hybrid-sleep. target
Если вы не желаете того чтоб ваш ноутбук при закрытии крышки уходил в режим ожидания (сна). Вам требуется отредактировать файл /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-файла можно узнать здесь.
Создайте файл размером 4 ГБ в корневом каталоге (убедитесь, что у вас хватает свободного места):
Дайте файлу необходимые права и создайте в нем область подкачки:
Вручную подключите файл как swap:
Допишите строку в fstab, чтобы созданный swap подключался автоматически при запуске системы.
Настройка гибернации в swap-файл
Узнайте UUID корневого раздела (с помощью mount можно узнать, какой из разделов является корнем):
Укажите первый физический блок swap-файла. Его можно узнать с помощью swap-offset из пакета uswsusp :
Запишите ваши параметры в файл настроек initramfs:
В строку GRUB_CMDLINE_LINUX_DEFAULT добавьте параметры без кавычек и знаков > pm-hibernate из пакета pm-utils :
Если у вас все работает — переходите к следующему пункту. Если нет — воспользуйтесь утилитой uswsusp .
Если у вас все заработало — радуйтесь, если нет — придется конфигурировать uswsusp :
На вопрос «Продолжить без работоспособного пространства подкачки?» в случае использования swap-файла отвечаем «Да», пространство подкачки в диалоге указываем по UUID (/dev/disk/by-uuid/ ), раздел не шифруем (иначе может случиться подобное описанному здесь). После этого автоматически будет сформирован uswsusp.conf с необходимыми параметрами. Пробуем опять:
Если заработало, заменяем вызов pm-hibernate на s2disk :
Снова проверьте гибернацию (возможно, перед этим потребуется перезагрузка):
Если не заработало с uswsusp , используйте TuxOnIce — он обычно работает без проблем.
Если гибернация заработала, то остается только активировать кнопку «Спящий режим» в меню выключения. Для этого:
Найдите блоки, посвященные hibernate:
и измените в них параметр ResultActive с no на yes.
Если гибернация работает по вызову pm-hibernate , но не работает по кнопке «Спящий режим» в меню выключения, то, возможно, проблема в том, что эта кнопка вызывает команду systemctl hibernate , которая по умолчанию не поддерживает uswsusp (подробно эта проблема в LXDE описана здесь).
Для решения этой проблемы внесите правки в конфигурационный файл:
Замените в нём параметр ExecStart с
Источник
Как отключить спящий режим и отключение дисплея ?
Здравствуйте, Кто знает как отключить гашение экрана? сначала гаснет, затем спящий режим. В настройка отключил все что можно, но все равно толку нет.
presentation-mode или как его.
Если из командной строки, то возможно, что так:
Для проверки текущего состояния:
В настройках энергосбережения во вкладке «безопасность». Там сам разберёшься. Я всегда отключаю там первым делом и нет проблем.
Там больше нет такой вкладки.
Pointer Control: acceleration: 2/1 threshold: 4 Screen Saver: prefer blanking: no allow exposures: no timeout: 0 cycle: 300 Colors: default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffffff Font Path: built-ins DPMS (Energy Star): Standby: 600 Suspend: 600 Off: 600 DPMS is Disabled
Хм. У меня в Manjaro стоят XFCE 4.16, в них есть.
Сейчас глянул специально «менеджер питания», вкладка «безопасность». Самая верхняя строка там.
Раньше у меня тоже было а сейчас нету (переустановливал). Сейчас там только 4 вкладки : Общие, Система, Дисплей, Устройства. И все что есть в этих вкладках я отключил но толку 0. Я погуглил, в некоторых форумах пишут типа это баг какой то. Ни кто толком не смог решить.
Хм. Тогда и впрямь в какой-то степени странно. У меня вкладка есть, у тебя нету.
cat /sys/module/kernel/parameters/consoleblank если выдаст не 0, setterm -blank 0
А в настройках энергосбережения точно все отключил?
Даже не знаю, завтра у более опытного знакомого (его нет на этом форуме) спрошу,может чего подскажет. Пока почекай все подряд настройки, монитора, рабочего стола и тд. Давно xfce не видел, не помню,как там
только в artix приходится делать две команды:
xset s 0 0 xset dpms 0 0
Так заработало. А при перезагрузке нужно вводить заново. Можете подсказать где настройки сидят? Прописать и не вводить?
Я не уверен, что в /etc/X11 есть соответствующие настройки. Обычно такие команды просто прописывают в автозагрузку (в
/.xinitrc , если он есть, или любым другим способом).
Пока не получилось 😐 Не буду флудить, так как нашел продолжение своего вопроса: (Решено) xset установки (интересно, но мне не помогло) Вышел из ситуации следующим образом: меню, параметры, настройки LXQT, настройки сеанса. Автозапуск. Раздел Автозапуск приложений. Кнопка добавить. И прописал свои две команды:
xset dpms 0 0 0
На Artix artix-lxqt-openrc-20210426-x86_64 помогло.
Источник
Руководство по включению гибернации в Linux Mint 20 Cinnamon (Ubuntu 20) и предотвращению нежелательных пробуждений
ГДЕ И КАК УСТАНОВИТЬ ДАУНРИГГЕР
ОБНОВЛЕНИЕ: я обнаружил некоторые несоответствия с моим сценарием в разделе 4, который должен выполняться при каждом пробуждении. Оказывается, /proc/acpi/wakeup только настройки сбрасываются иногда. Не при каждом выключении / перезапуске / гибернации / приостановке. Итак, время от времени мой сценарий включал пробуждение. Я обновил скрипт. Теперь он проверяет, говорит ли он включен в любом месте в /proc/acpi/wakeup и только потом выводит на него.
Это своего рода памятка для меня в будущем. Я не понимаю, почему гибернация в Linux — это не простая функция, которая просто работает, и почему ее включение должно быть таким сложным. Я надеюсь, что это также поможет людям, у которых есть вопросы о гибернации.
- Во-первых, вам нужно убедиться, что у вас есть достаточно большой файл подкачки. Своп — это место, где ваша оперативная память сохраняется на диске при переходе в спящий режим.
- Проверьте размер свопа через Системный монитор -> Ресурсы или запустив sudo swapon —show . Тебе, наверное, не хватает. Размер подкачки должен быть несколько больше, чем размер ОЗУ. В Интернете есть несколько руководств. Я использую 5 ГБ свопа на своей машине с 4 ГБ оперативной памяти.
- Как увеличить размер свопа, зависит от того, как вы его настроили. Может быть вам нужно создать файл подкачки большего размера, может быть вам нужно открыть GParted и просто измените размер разделов там. У меня есть зашифрованный LVM с /dev/vgmint/root и /dev/vgmint/swap тома. Вы не можете изменить размер LVM, пока он смонтирован, поэтому вы загружаетесь с USB-накопителя с Linux Mint. Там вы можете использовать Диски приложение, чтобы разблокировать зашифрованный LVM, и используйте это прекрасное руководство, чтобы безопасно уменьшить размер вашего /dev/vgmint/root объем:
- Принудительно проверить файловую систему sudo e2fsck -f /dev/vgmint/root
- Сжимайте файловую систему sudo resize2fs /dev/vgmint/root 180G . Замените 180G примерно на 90% от размера, который должен быть окончательный.
- Уменьшите объем до окончательного размера sudo lvreduce -L 200G /dev/vgmint/root , где 200 ГБ — окончательный размер вашего тома.
- Расширьте файловую систему, чтобы она занимала остальное свободное место на томе sudo resize2fs /dev/vgmint/root
- Тогда ты можешь бежать sudo lvextend -l 100%FREE /dev/vgmint/swap_1 для расширения тома подкачки только что созданным свободным пространством.
- Теперь нам нужно обновить своп. Мы закончили с живой системой USB-накопителя, загрузитесь в вашу обычную систему. Если вы снова проверите размер своего свопа, вы увидите, что его размер не изменился, хотя мы просто дали ему больше места. Нам нужно создать новый своп. Бежать sudo swapoff -a отключить все свопы и запустить sudo mkswap /dev/vgmint/swap_1 создать новый.
- Теперь проверьте, поддерживает гибернацию и добавить кнопку гибернации назад прочитав эту прекрасную статью:
- Открыть терминал, запустить sudo pm-hibernate . Ваш компьютер должен перейти в спящий режим. Загрузите его снова и убедитесь, что он все восстанавливает. Если это так, значит, ваше оборудование поддерживает спящий режим.
- Теперь мы включим значок гибернации. Создать файл:
- Вставьте в этот файл следующее содержимое:
- Сохраните, перезапустите. Теперь у вас должна быть опция «Гибернация» при нажатии кнопки питания.
- Управление энергопотреблением. Вероятно, это характерно для Linux Mint с Cinnamon. Я хочу, чтобы мой ноутбук переходил в спящий режим после определенного периода бездействия, но невозможно настроить это с помощью Управление энергопотреблением приложение. Для редактирования внутренних настроек Cinnamon я использую редактор dconf ( sudo apt install dconf-editor ). Откройте его, перейдите в / org / корица / настройки-демон / плагины / мощность / или просто ищите мощность. sleep-inactive-battery-type это то, что мне нужно — установите его в режим гибернации. Пока здесь я люблю выключать use-time-for-policy и использовать проценты заряда батареи вместо оставшегося времени для определения состояний «низкий заряд батареи», «критическое состояние батареи» и «действие батареи». Процент заряда батареи — это реальное значение, а оставшееся время является приблизительным и может сильно варьироваться. Вы также можете установить процентные пороги, используя percentage-low , percentage-critical и percentage-action . Взгляните, на этой вкладке есть несколько интересных настроек. Но будьте осторожны.
- Теперь последний кусок пазла предотвратить нежелательное пробуждение от приостановки / гибернации. Написать sudo cat /proc/acpi/wakeup . Вы увидите, какие устройства включены и могут привести к нежелательному выходу из спящего режима. Устройства, вызывающие проблемы, необходимо отключить при загрузке и при выходе из режима ожидания / гибернации.
- Вот как отключить устройство: echo DEVICE_NAME | sudo tee /proc/acpi/wakeup . (Спасибо этой ветке.)
- Выясните, какие устройства вызывают у вас проблемы (я отключил все), и напишите сценарий bash, который отключит их. (Возможно, файл должен принадлежать root, поскольку root будет его выполнять.) Это будет выглядеть примерно так:
Источник