Включить Systemd User-Service глобально

395
Felix

Простое задание У меня есть пользовательский сервис, который установлен глобально в системе (то есть в пути, как /usr/lib/systemd/user). Теперь я хочу включить эту службу для всех пользователей системы (т.е. включить ее по умолчанию. Мне все равно, смогут ли пользователи снова отключить ее для себя или нет). Я знаю, что могу включить службу как пользователь через systemctl --user enable my.service- но это, очевидно, только активирует службу для текущего пользователя.

Не уверен, если это уместно, но так выглядит соответствующий файл модуля. Я проверил это, и это работает:

[Unit] Description=My App After=network-online.target  [Service] Type=simple ExecStart=/usr/bin/myapp --systemd-log ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=5s  [Install] WantedBy=default.target 
2

1 ответ на вопрос

3
grawity

Используйте systemctl --global enable.

Это создаст символическую ссылку в /etc/systemd/user/default.target.wants. Пользователи не смогут просто отключить устройство, но они по-прежнему смогут редактировать (переопределять) или полностью его маскировать.

Я предполагаю, что вы имели в виду `enable` not` --enable`, так как эта опция, кажется, не существует - но без черточек она работает как положено Felix 5 лет назад 0