Ubuntu 20.04 переходит в режим ожидания, когда бездействует, даже если соответствующие настройки питания отключены.

Вопрос или проблема

Вчера вечером я обновил свой стационарный настольный компьютер с Ubuntu 19.04 до 20.04. Обновление прошло без каких-либо трудностей.

На следующий день мне понадобилось использовать 3D-принтер для небольшого проекта. Я скачал модель и начал печать. Процесс должен был занять чуть меньше 2 часов.

Мой принтер довольно громкий, поэтому я решил заняться чем-то другим. Примерно через полчаса я вернулся и обнаружил, что мой компьютер ушел в спящий режим или гибернацию, и что принтер остановился на середине модели.

Почему мой компьютер это делает, и как мне предотвратить это? Я никогда не хочу, чтобы мой компьютер уходил в гибернацию по любой причине.

Я не большой фанат рабочего стола Gnome, поэтому я использую XFCE 4.12. Вот мои настройки питания (которые неизменны – такими они были все время):

Окно управления питанием 1

Окно управления питанием 2

Все выглядит вполне нормально для меня.

Какие-либо идеи? Также какие журналы я могу проверить, чтобы понять, почему мой компьютер ушел в спящий режим? Это большая проблема для меня, так как я также оставляю компьютер работать по другим причинам.

Я нашел способ, как обойти эту проблему пока что.

Изучая /var/log/syslog, я заметил, что это служба сна systemd переводила мою систему в состояние ожидания.

Следуя информации, найденной на этой странице, я выполнил следующую команду:

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

Пока моя система не выключалась. Мне нужно провести еще несколько более длительных тестов, чтобы убедиться.

Как обычный конечный пользователь, я нахожу, что мое доверие к Ubuntu несколько пошатнулось из-за этого опыта. Похоже, нет простого или дружественного для пользователя способа контролировать поведение при ожидании, но он, очевидно, был введен по умолчанию в Ubuntu 20.04.

Редактирование: Решение, предложенное здесь, имеет один серьезный недостаток: оно отключает автоматическую гибернацию, но ОНО ТАКЖЕ отключает любую опцию для ручной гибернации системы. Т.е. при выборе Гибернация в меню питания или в меню Whisker или что бы вы ни использовали. Эта опция просто больше отсутствует.

Я сталкивался с аналогичной проблемой при обновлении до Ubuntu 20.04. Моя текущая конфигурация – два внешних монитора, подключенных к ноутбуку с закрытой крышкой. Когда я переключал мониторы на мой обычный ПК, мой ноутбук переходил в спящий режим. По умолчанию действие закрытия крышки – это перевод системы в спящий режим. Эта статья решила проблему: https://ubuntuhandbook.org/index.php/2020/05/lid-close-behavior-ubuntu-20-04/

Не используйте это, даже если оно указано первым в документации, это все равно приведет к попыткам перевести систему в спящий режим и вызовет уведомления SSH, даже если сон системы будет проигнорирован.

вместо маскирования с помощью systemctl, редактируйте /etc/systemd/sleep.conf

[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

как обсуждалось здесь.

Ответ или решение

Опыт перехода на новую версию операционной системы часто сопровождается рядом технических проблем, в том числе связанных с энергосбережением. В данном случае, апгрейд системы с Ubuntu 19.04 до 20.04 завершился успешно, но пользователь столкнулся с неожиданным поведением компьютера, который переходил в режим ожидания или гибернации, несмотря на отключенные соответствующие настройки мощности. Это приводит к серьезным неудобствам, особенно в ситуациях, когда требуется длительная работа компьютера без вмешательства пользователя: например, при управлении 3D-принтером.

Теоретическая часть

Ubuntu 20.04, как дистрибутив с активным развитием, вносит определенные изменения в поведение системных сервисов, особенно в части управления энергопотреблением. Все версии Ubuntu опираются на systemd, который управляет процессами, включая переходы в режим ожидания, гибернации и другие состояния энергосбережения. Это делается в основном через службы systemd-suspend, systemd-hibernate, systemd-sleep и т.д. Даже если настройки в графическом интерфейсе отключены, «приказ» о переводе системы в состояние ожидания или гибернации может быть инициирован из других компонентов, таких как настройки исходные от производителя или дефолтные конфигурации самого systemd.

Пример

Пользователь обнаружил, что, несмотря на настройки графического окружения XFCE, которые были оставлены в исходном состоянии после апгрейда, его система все равно переходила в режим ожидания. С помощью анализа /var/log/syslog была выявлена инициирующая команда от systemd. Временным решением стало использование команды systemctl mask для блокировки всего целевого функционала, связанного с режимами сна, что действительно помогло временно предотвратить нежелательное поведение.

Тем не менее, это приносило свои неудобства, так как отключало возможность использования этих режимов вручную.

Применение

Для постоянного решения проблемы, стоит обратить внимание на файл конфигурации /etc/systemd/sleep.conf. Изменив его, можно более корректно управлять поведением системы в отношении состояния сна:

[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

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

Заключение

Когда вы имеете дело с корпорацией или сложными вычислительными задачами, необходимо уделять особое внимание пониманию того, как изменения в операционной системе могут воздействовать на ваши рабочие процессы. При планировании обновления операционной системы рекомендуется подробно изучать релиз-ноты и быть готовыми к изменениям в поведении системы, особенно если используются специализированные конфигурации, как в случае с использованием 3D-принтера.

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

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

Оцените материал
Добавить комментарий

Капча загружается...