diff --git a/content/posts/2024/linux/systemd-user-service-without-login.md b/content/posts/2024/linux/systemd-user-service-without-login.md new file mode 100644 index 0000000..2490ef4 --- /dev/null +++ b/content/posts/2024/linux/systemd-user-service-without-login.md @@ -0,0 +1,49 @@ +--- +title: "🔦 Запуск пользовательских systemd сервисов при старте системы" +date: 2024-09-13T14:42:32+03:00 +draft: false +tags: [linux, tips] +--- + +## Размещение пользовательских сервисов SystemD + +Пользовательские сервисы храняться по следующему пути: +`~/.config/systemd/user/`. + +Небольшой пример. + +```bash +cat ~/.config/systemd/user/example.service +``` + +```text +[Unit] +Description=... +After=network.target network-online.target + +[Service] +Type=exec +ExecStart=... + +[Install] +WantedBy=multi-user.target +``` + + +## Автоматический запуск сервисов при старте системы + +По умолчанию пользовательские сервисы запускаются +при входе пользователя в систему (логине). + +```sh +loginctl enable-linger + +# Необходимо ввести LOGIN или ID пользователя +sudo loginctl enable-linger ${USER} +``` + +Если этот параметр **enable-linger** включен для пользователя, +менеджер пользователей **loginctl** запускается для него +при загрузке системы и сохраняется после выхода из системы. +Это позволяет пользователям, которые не вошли в систему, +запускать службы, работающие длительное время.