Пытаясь бежать

#!/bin/sh
# byobu_launcher.sh ver 20170915122301 Copyright 2017 alexx, MIT Licence ver 1.0

byobu new-session -d -s $USER

# mongod
byobu new-window -t $USER:1 -n 'MLT'
byobu send-keys "/home/username/scripts/mlt.sh" C-m

Я использую этот шаблон с правильной информацией в

.

[Блок] Описание = Byobu

[Service] ExecStart =/root/scripts/byobu.sh Restart = всегда

[Установить] WantedBy = multi-user.target

После запуска сервиса я получаю эту ошибку

30 апреля 14:36:29 ubuntu byobu.sh [4141]: Невозможно запустить byobu, потому что [] не принадлежит []
30 апреля 14:36:29 ubuntu byobu.sh [4141]: Невозможно запустить byobu, потому что [] не принадлежит []
30 апреля 14:36:29 ubuntu byobu.sh [4141]: Невозможно запустить byobu, потому что [] не принадлежит []

Не уверен, как исправить или сменить владельца.

Странно это работает на rc.local, но я думаю, что заставить его работать на Systemd было бы лучше.

2 ответа2

0

Вы используете переменную $USER но systemd не установил ее. Он устанавливается только при использовании директивы User= .

Если вы хотите запустить свой сервис от имени root, то вы должны добавить User=root в раздел [Service] .

Соответствующая документация для этого в Переменные среды в порожденных процессах на справочной странице systemd.exec .

0

Этот код работает сейчас

[Блок] Описание = MFC Byobu After = network.target

[Service] ExecStart =/root/scripts/byobu.sh Пользователь = root Restart = всегда RemainAfterExit = yes

[Установить] WantedBy = multi-user.target

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .