Systemd линукс система управления сервисами

Запуск сервиса от имени пользователя

Немногие знают, что сервисы можно запускать от имени пользователя. Конечно, это не относится к системным сервисам. На практике это скорее понадобится если вы захотите добавить какое-то приложение в автозагрузку, но при этом не хотите чтобы оно запускалось от рута.

Пользовательские сервисы находятся в ~/.config/systemd/user/

Старт сервиса. Нужно просто добавить --user

systemctl start myservice --user

Изменение настроек системного сервиса

Это относится ко всем сервисам, не только локальным.

Бывает, что вам нужны какие-то свои настройки, допустим, запускать бинарник с каким-то определенным ключом. И если у сервиса нет своего личного файла настроек, то единственный способ это сделать - это редактирование файла сервиса. Но при следующем же обновлении пакета ваши изменения перезапишутся. Чтобы такого не случилось есть штатный механизм создании пользовательских настроек.

Итак, пользовательские настройки создаются командой:

systemctl edit myservice

Но при такой команде открывается пустой документ, в который нужно прописать разницу между оригиналом и своим конфигом.

Более удобнее пользоваться командой:

systemctl edit --full myservice

Тогда откроется копия существующего конфига, который можно редактировать.