← На главную

KillUserProcesses и linger: прощай перезагрузки, Wi-Fi и ssh до пароля

26.07.2026 09:43 · hackernews

Одна из самых спорных возможностей systemd — автоматическое убийство пользовательских процессов при выходе из сеанса. В ранних версиях это ломало даже screen, tmux и nohup, вызывая бурю недовольства. В современных сборках Debian конфигурация systemd-logind по умолчанию щадящая: процессы продолжают висеть после логаута. За жёсткое поведение отвечает опция KillUserProcesses в файле /etc/systemd/logind.conf, и её можно включить, при необходимости исключив часть пользователей.

Автор приводит живой пример, где такая чистка оказалась спасительной. Он поддерживал пользователей KDE, у которых то и дело зависали службы вроде akonadi, и повторный вход в систему не помогал — приходилось перезагружать машину. После включения KillUserProcesses все подвисшие процессы обрубались при логауте, и количество проблем резко сократилось без ребутов. Правда, ходит миф, будто для выживания screen и tmux обязательно нужен linger — в Debian и большинстве дистрибутивов это не требуется. Автор за годы поддержки сотен пользователей десктопов не видел ситуации, где человек одновременно умеет пользоваться screen и настолько беспомощен, что без автоматического забоя процессов не обойтись.

Управлять состоянием linger для своего аккаунта можно через loginctl enable-linger и loginctl disable-linger, если установлен polkit с типовыми настройками. От имени root те же команды работают для чужой учётки с явным указанием $ACCOUNT. Никакого штатного способа узнать, включён ли linger у конкретного пользователя, нет — только прямой просмотр каталога /var/lib/systemd/linger.

Самое интересное проявляется на чистом Debian. При заводских настройках процессы на логауте не убиваются, и linger делает лишь одно: запускает юниты из пользовательского контекста ещё до входа в графическую сессию. Недавно знакомый автора тестировал кучу LLM-программ на сервере, и один из установочных скриптов молча включил linger, посчитав, что это необходимо для nohup. На ноутбуке с постоянными перезагрузками из-за экспериментов с SE Linux автор тоже активировал linger и неожиданно получил удобное поведение: система подключается к Wi-Fi на этапе загрузки, не дожидаясь ввода пароля. Теперь он может зайти по ssh, даже если X11/Wayland не стартует из-за сломанной конфигурации. Бонусом фоновые штуки вроде Pipewire и Bluetooth запускаются раньше, ускоряя полноценный вход в сеанс. Автор решил оставить linger включённым и после завершения тестов.

Читать оригинал →