- Как отключить режим сна и гибернации в Linux
- Отключить Режим сна и Гибернацию в Linux
- Включить режим сна и гибернацию в Linux
- Заключение
- Как включить гибернацию linux mint
- 2. Настраиваем параметры ядра
- 3. Добавляем пункт Гибернация в диалоговое окно Выключения
- 4. Возможные неисправности и их устранение (я не встречался, но попробуйте)
- Руководство по включению гибернации в Linux Mint 20 Cinnamon (Ubuntu 20) и предотвращению нежелательных пробуждений
- Почему в Debian/Ubuntu/Mint по умолчанию выключена поддержка Hibernate?
Как отключить режим сна и гибернации в 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. Очень надеюсь, что руководство было полезным.
Источник
Как включить гибернацию linux mint
Для работы Гибернации (hibernation) необходим swap-файл размером не меньше RAM. Если мало оперативки, то наверняка используется подкачка и размер swap-файла должен быть больше вплоть до 2xRAM.
Смотрим, объём оперативки, подкачки и как используется:
Swap-файл должен быть расположен в корневой папке файловой системы(/swapfile). Проверяем:
Если swap-файла нет или он недостаточного размера, создадим его. Сначала отключаем пространство подкачки:
Присваиваем переменной значение желаемого размера swap-файла в Гигабайтах, я установил 6:
Проверяем хватит ли свободного места для нашего файла?:
Далее создаём swap-файл, устанавливаем права, создаём пространство подкачки и отключаем любое другое пространство подкачки чтобы исключить конфликты:
sudo dd if=/dev/zero of=/swapfile bs=1M count=$(($SIZE * 1024)) sudo chmod 0600 /swapfile sudo mkswap /swapfile sudo sed -i ‘/swap/‘ /etc/fstab sudo tee -a /etc/fstab
2. Настраиваем параметры ядра
RESUME_PARAMS=»resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk ‘NR==4
if grep resume /etc/default/grub>/dev/null; then echo -e «\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS»;else sudo sed -i «s/GRUB_CMDLINE_LINUX_DEFAULT=\»/GRUB_CMDLINE_LINUX_DEFAULT=\»$RESUME_PARAMS/» /etc/default/grub;fi
Если выдаёт ошибку, то выполняем инструкции. Если ошибки нет – обновляем GRUB:
3. Добавляем пункт Гибернация в диалоговое окно Выключения
sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
Перезагружаем систему.
Проверяем возможность гибернации:
busctl call org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager CanHibernate
Должен быть ответ «yes». Не закрывая запущенные приложения пробуем войти в гибернацию через меню выключения. После отключения компьютера включаем его снова. Всё должно вернуться на рабочий стол.
Чтобы уйти в гибернацию из терминала:
4. Возможные неисправности и их устранение (я не встречался, но попробуйте)
Если вышло сообщение, что система не поддерживает гибернацию, то, скорее всего, это связано с вашим BIOS/UEFI. Загрузитесь в BIOS/UEFI и проверьте настройки, должен поддерживаться ACPI sleep state S4. Функции UEFI’s secure boot и fast boot могут также запрещать гибернацию, отключите их.
Если вы используете ядро не по умолчанию, возможно оно было скомпилировано без поддержки гибернации. Проверяем:
grep CONFIG_HIBERNATION /boot/config-$(uname -r)
Если система допускает режим гибернации, она все равно может сломаться в состоянии сна или вероятнее во время возобновления работы. Это опять же может быть вызвано проблемами с BIOS/UEFI, некоторые из них имеют дефектную реализацию ACPI, или проблемами с аппаратным обеспечением, включая драйверы ядра и прошивки.
Поэтому обновите BIOS, удалите/отключите как можно больше устройств и повторите попытку, возможно, этого уже достаточно. Попробуйте и другие ядра.
Устранение неполадок в спящем режиме не всегда легко (есть причина, по которой эта функция отключена по умолчанию!), лучше всего искать на форумах и в Интернете решение, касающееся вашего оборудования. К сожалению, решение не может быть найдено во всех случаях.
Источник
Руководство по включению гибернации в 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 будет его выполнять.) Это будет выглядеть примерно так:
Источник
Почему в Debian/Ubuntu/Mint по умолчанию выключена поддержка Hibernate?
Сам столкнулся с этим в последнем Mint 20 Cinnamon и нашёл массу жалоб на то, что в Debian/Ubuntu/Mint по умолчанию выключена поддержка Hibernate, плюс несколько обсуждений того, как её включить:
Почему то, что в Windows просто работает, в Linux просто отключено?
Не понял, у меня все с самого начала было включено (Buster), и с самого начала работало через ж… ну вы поняли.
Видимо так работает, что лучше пусть будет отключено.
Судя по описанию решения по второй ссылке корень проблемы в недостаточном размере swap файла. У меня инсталлятор решил, что 2 GB будет достаточно, хотя памяти в 16 раз больше и диск на пол тера.
Windows же ведёт себя более благоразумно.
Каков размер swap файла/раздела в твоей системе, по сравнению с объёмом памяти?
В современных компьютерах (твое древнее гогно к этому отношения не имеет) довольно хорошо починили ACPI и прочие sleep так, что гибернация оказалась ненужной. Да и на холодную ОС стали грузиться на порядок быстрее благодаря SSD.
Как долго хватит на половину заряженного аккумулятора лептопу в режиме sleep? Дня три — четыре протянет? А неделю или две, пока я в отпуске? С чего ты взял, что у меня что-то древнее?
Да, примерно то же самое писали в devel рассылке федоры, когда обсуждали переход на zram с дискового свопа.
Не знал, кстати, что оно не работает с Secure Boot. Впрочем я никогда гибернацией и не пользовался, и даже в винде вырубаю вместе со ее своп файлом
Вот кстати еще интересная инфа
ACPI is a mess of a specification, it’s massive and complicated. No single vendor implements all of it, and possibly not single vendor implements portions completely correctly and bug free. ACPI power level S4 is fragile, it doesn’t even always work on Windows (or macOS for that matter) . ACPI power level S3 is apparently becoming more fragile, noted by increasing user reports where S3 appears to just be a stub (hardware will enter suspend to RAM, but has variable degrees of recover from not at all to the display or keyboard don’t work). Hardware vendors, Microsoft, Apple, and Linux kernel developers have been putting most of their effort into S0 lower power idle because they don’t have to depend on ACPI or (logic board) firmware, and on faster boot times, where hibernation is a fallback position.
Там какой-то новый подвид S3 появился на ноутах, который плохо с линуксом дружит
Suspend, который sleep, у меня как раз работает.
Видимо потому что с hibernate не совместимо шифрование диска?
Как долго хватит на половину заряженного аккумулятора лептопу в режиме sleep? Дня три — четыре протянет? А неделю или две, пока я в отпуске? С чего ты взял, что у меня что-то древнее?
Осталось понять, какой процент пользователей юзает вполовину заряженный аккумулятор в sleep’е больше трех-четырех дней и к тому же хочет неделю не подходить к компьютеру, но при этом хочет чтобы все данные недельной давности на нем оставались открытыми.
Осталось понять, какое отношение sleep вообще имеет к обсуждаемому вопросу. У меня рабочий лептоп, который я забираю домой или (реже) запираю в тумбочку. Вернуться в офис, или просто к внешнему источнику электричества, лептом может через сутки, через несколько суток или даже через несколько недель. Как мне это делать не обращая внимание на то, сколько процентов заряда аккумулятора осталось и с сохранением текущего состояния?
На мой последний вопрос в предыдущем сообщении ты не ответил.
Видимо потому что с hibernate не совместимо шифрование диска?
Шифрования диска нет.
Система при установке, насколько помню, предлагала где то 1:1. Но это самому можно задать (у меня в 2 раза больше). Все остальное, о чем писалось по ссылкам, было по дефолту включено.
И что, совсем без ошибок? Без правок и ковыряния в системе!? Эхх…
Потому что не таргентовая аудитория.
На серверах, роутерах это не нужно.
Комп, тикай з городу! Тобi винда!
Не сказал бы что в венде просто работает. На тех ноутах и станционарниках в моей семье и у родных что есть, где-то что-то обязательно не работает. То в вине не работает гибернация, то в линуксе, то какие-то проблемы с обычным суспендом.
А так поддерживаю, у меня всех рабочих ноутах и гибернация и суспенд. Пользуюсь и тем и тем, но гибернацией чаще, потому что не садит аккумулятор и можно не беспокоясь оставить на выходные или в течении недели на пару дней, мало ли какие у меня дела.
Сам по себе холодный запуск можно прилично оттюнить было в линуксе ещё с мохнатых годов. Но когда работаешь, обычно открыты десятки каких-нибудь аппликух и вот скиптовать это так, чтобы в том же виде всё открывалось, в котором было — довольно муторно и не особо получается. Куда проще гибернейт.
И что, совсем без ошибок? Без правок и ковыряния в системе!? Эхх…
Ну я не часто этим пользуюсь. Вот перед написанием того комментария попробовал уйти в sleep и вернуться и оно работало.
Система при установке, насколько помню, предлагала где то 1:1. Но это самому можно задать (у меня в 2 раза больше). Все остальное, о чем писалось по ссылкам, было по дефолту включено.
Наверное Debian всё ещё делает это по-старинке, как это принято при серверном использовании. Но в данном случае речь идёт о лептопе и в моём случае о Linux Mint.
Потому что не таргентовая аудитория.
Источник