systemd-logind: не удалось создать сеанс пользователя
Каждый вход создаёт сеанс и срез для его процессов. Отказ на этом шаге даёт вход без каталога времени работы, без шины и без пользовательских служб. Внешне это выглядит как случайные ошибки в оболочке, а не как проблема со входом.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Исчерпан предел числа процессов или сеансов
Пределы среза пользователя ограничивают число процессов. При исчерпании новый сеанс создать нельзя.
-
Каталог времени работы не создан
Без каталога времени работы нет шины и нет пользовательских служб. Часть программ падает с невнятными ошибками.
-
Служба управления сеансами не работает
Без неё сеансы не создаются вовсе, хотя вход по некоторым путям проходит.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Существующие сеансы пользователей.
loginctl list-sessions --no-legendСообщения службы управления сеансами.
journalctl -u systemd-logind -n 30 --no-pagerПределы и загрузка среза пользователя.
systemctl show "user-$(id -u).slice" -p TasksMax -p TasksCurrentРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Пределы среза пользователя ограничивают число процессов. При исчерпании новый сеанс создать нельзя.
- Как проверить
-
Посмотрите пределы и число сеансов.
loginctl list-sessions --no-legend | wc -l systemctl show "user-$(id -u).slice" -p TasksMax -p TasksCurrent
- Как исправить
- Поднимите предел числа процессов для среза пользователя или разберитесь с висящими сеансами. Забытые сеансы копятся месяцами.
- Почему происходит
- Без каталога времени работы нет шины и нет пользовательских служб. Часть программ падает с невнятными ошибками.
- Как проверить
-
Посмотрите каталог и переменные.
ls -ld /run/user/$(id -u) 2>/dev/null; echo "${XDG_RUNTIME_DIR:-нет}"
- Как исправить
- Убедитесь, что модуль создания сеанса включён в настройках проверки подлинности. Без него каталог не создаётся.
- Почему происходит
- Без неё сеансы не создаются вовсе, хотя вход по некоторым путям проходит.
- Как проверить
-
Посмотрите состояние службы.
systemctl status systemd-logind --no-pager | head -6 loginctl list-sessions --no-legend | head
- Как исправить
- Запустите службу управления сеансами и проверьте её журнал. Её отказ затрагивает и пользовательские службы, и учёт сеансов.
Пример вывода
Сеанс не создан из-за исчерпанного предела процессов. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
systemd-logind[700]: Failed to start user service 'user@1001.service', ignoring: Unit user@1001.service failed to load properly, please adjust/correct and reload service manager: Resource temporarily unavailable
systemd[1]: user-1001.slice: Failed to fork: Resource temporarily unavailable
sshd[9700]: pam_systemd(sshd:session): Failed to create session: Resource temporarily unavailable
Связанные ошибки
- status=224/PAM в systemd Код 224/PAM: не удалось открыть сеанс PAM для службы. Обычно нет нужного файла настроек в /etc/pam.d.
- Failed to connect to bus: подключение к шине недоступно Команды systemctl не работают: нет подключения к шине. Разбор для контейнеров, сеансов по ssh и служб пользователя.
- cgroup: fork rejected by pids controller Служба не может создать процесс: исчерпан предел числа задач в срезе. Разбор пределов на службе и срезе.
- Cannot allocate memory в журнале службы Не удалось выделить память: предел службы, память машины, настройка overcommit, исчерпанные области отображения.
- Disk quota exceeded для службы Место на разделе есть, а запись отклоняется: исчерпана дисковая квота пользователя или группы.
- Elasticsearch: max virtual memory areas vm.max_map_count is too low Elasticsearch отказывается стартовать из-за заниженного vm.max_map_count. Как поднять значение и закрепить его.
- Failed with result 'resources' Состояние resources: systemd не смог выделить ресурсы для запуска службы. Чем отличается от кодов 200-й группы и что проверять.
- No buffer space available в журнале службы Ошибка 105: нет места в буферах ядра. Разбор для сети и таблиц соседей.
Где встречается чаще всего
Источники
-
systemd-logind.service(8)
Создание сеансов и срезов пользователей. -
pam_systemd(8)
Регистрация сеанса при входе. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено снижением предела процессов для среза пользователя.