Я только что обновился с сервера Ubuntu 14 до версии 15. У меня возникли проблемы с запуском скрипта выскочки после обновления и прочитал, что systemd является новым значением по умолчанию. Я далек от эксперта по Linux, поэтому, пожалуйста, пройдите на меня: -)
Вот что мой скрипт upstart был раньше:
description "NZBGet upstart script"
setuid robert
setgid robert
start on runlevel [2345]
stop on runlevel [016]
respawn
expect fork
script
exec nzbget -D
end script
pre-stop script
exec nzbget -Q
end script
Основываясь на выскочке на страницу systemd wiki , я использовал таблицы, представленные там, чтобы сопоставлять вещи так близко, как я мог в моем новый системный файл systemd:
[Unit]
Description=NZBGet Service
[Service]
Type=forking
ExecStart=/usr/local/bin/nzbget -D
ExecStop=/usr/local/bin/nzbget -Q
Restart=on-failure
Этот файл находится в /home/robert/.config/systemd/user/nzbget.service
. Чтобы запустить службу вручную, я выполнял:
$ systemctl --user start nzbget
Это отлично работает. Однако, когда я выхожу из сеанса SSH, служба отключается. Кроме того, он не запускается при загрузке или входе в систему. Я хочу, чтобы он вел себя так же, как и в качестве услуги upstart: я хочу, чтобы он запускался при загрузке, запускался постоянно и как конкретный пользователь.
Что мне нужно сделать, чтобы получить эту конфигурацию?