Byobu Systemd Ошибка с владельцем

355
snickerpop

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

#!/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 было бы лучше.

0

2 ответа на вопрос

0
Mark Stosberg

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

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

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

Спасибо. Мне нужно было добавить вашу часть и другую переменную под названием snickerpop 5 лет назад 0
Спасибо. Мне нужно было добавить вашу часть и другую переменную с именем. RemainAfterExit = да. Код работает с тем, что у меня есть ниже. snickerpop 5 лет назад 0
0
snickerpop

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

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

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

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

Похожие вопросы