SystemdDoctor
служба не работает таймеры службы пользователя

Таймер пользователя не срабатывает

Таймеры пользователя живут в его менеджере, который завершается при выходе из системы. Без разрешённой задержки сеанса они срабатывают только пока вы в системе — а на сервере это почти никогда.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Задержка сеанса не разрешена

    Менеджер пользователя завершается вместе с последним сеансом, и таймеры вместе с ним.

  2. Таймер не включён в менеджере пользователя

    Команды с ключом пользователя и без него работают с разными наборами unit. Включение системного таймера не включает таймер пользователя.

  3. Задача требует прав, которых у пользователя нет

    Таймер срабатывает, а задача падает: обращение к системным каталогам или службам недоступно.

Диагностика

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

Разрешена ли работа без входа в систему.

loginctl show-user $USER -p Linger

Таймеры менеджера пользователя.

systemctl --user list-timers --all --no-pager

Журнал задачи пользователя.

journalctl --user -u mytask.service -n 20 --no-pager

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Задержка сеанса не разрешена
Почему происходит
Менеджер пользователя завершается вместе с последним сеансом, и таймеры вместе с ним.
Как проверить
Посмотрите состояние задержки.
loginctl show-user $USER -p Linger
systemctl --user list-timers --no-pager
Как исправить
Разрешите задержку сеанса для пользователя: тогда его менеджер и таймеры будут работать постоянно.
sudo loginctl enable-linger $USER
2. Таймер не включён в менеджере пользователя
Почему происходит
Команды с ключом пользователя и без него работают с разными наборами unit. Включение системного таймера не включает таймер пользователя.
Как проверить
Посмотрите состояние включения.
systemctl --user is-enabled mytimer.timer
Как исправить
Включите таймер с ключом пользователя: systemctl --user enable --now mytimer.timer.
3. Задача требует прав, которых у пользователя нет
Почему происходит
Таймер срабатывает, а задача падает: обращение к системным каталогам или службам недоступно.
Как проверить
Посмотрите журнал службы пользователя.
journalctl --user -u mytask.service -n 20 --no-pager
Как исправить
Перенесите задачу в системный таймер, если ей нужны права. Смешивать не стоит: запутывает при разборе.

Пример вывода

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

$ systemctl --user list-timers --no-pager
NEXT                        LEFT     LAST PASSED UNIT          ACTIVATES
Tue 2026-09-16 09:00:00 MSK 11h left -    -      backup.timer  backup.service

$ loginctl show-user user -p Linger
Linger=no

Связанные ошибки

Источники

  • loginctl(1)
    Команда enable-linger и жизнь менеджера пользователя.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено: без задержки сеанса таймеры пользователя не срабатывают после выхода.
    собственная проверка, systemd 255
    сверено 15 сентября 2026