Создание сервиса systemd

Материал из ALT Linux Wiki

Если Вам необходимо создать автозапуск приложения на уровне systemd/сделать службу (сервис), вы можете выполнить следующие действия:

# cd /etc/systemd/system
# mcedit x11vncsrv.service

Вводим в текстовом редакторе:

[Unit]
# описание
Description=X11VNC Server
# здесь используется ключи времени с указанием цели или другой службы
After=prefdm.service

[Service]
# от какого пользователя запускать службу, не обязательно
User=root
# перезапуск службы, не обязательно
Restart=on-failure
#выполняемая команда
ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -dontdisconnect -usepw -noxfixes -shared -forever -rfbport 5900 -rfbauth /root/.vnc/passwd

[Install]
# здесь используется ключи времени с указанием цели или другой службы
WantedBy=graphical.target
# systemctl daemon-reload
# systemctl enable x11vncsrv

Ключи времени

  • Wants, Requires или Before.
    • (Ожидает, Требует, Перед)
  • WantedBy, RequiresBy или After.
    • (Ожидается целью/службой, Требуется цели/службе, После цели/службы)

Список целей

  • default.target - модуль по-умолчанию
  • graphical.target - запуск графической подсистемы
  • multi-user.target - запуск консоли
  • network-online.target - ожидание подключенной сети (используется в Wants)
  • network.target - сеть
  • network-pre.target - запуск до настройки сети (используется в Requires)
  • boot-complete.target - успешная загрузка [i]