Byobu Systemd 所有权错误

Byobu Systemd 所有权错误

试图逃跑

#!/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

[服务] ExecStart=/root/scripts/byobu.sh Restart=always

[安装] WantedBy=multi-user.target

启动服务后出现此错误

4 月 30 日 14:36:29 ubuntu byobu.sh[4141]: 无法运行 byobu,因为 [] 不拥有 []
4 月 30 日 14:36:29 ubuntu byobu.sh[4141]: 无法运行 byobu,因为 [] 不拥有 []
4 月 30 日 14:36:29 ubuntu byobu.sh[4141]: 无法运行 byobu,因为 [] 不拥有 []

不确定如何修复或更改所有权。

奇怪的是它在 rc.local 上运行,但我认为让它在 Systemd 上运行会更好。

答案1

您正在使用$USER变量但systemd尚未设置它。它仅在您使用User=指令时设置。

如果您想以 root 身份运行您的服务,那么您可以将其添加User=root到您的[Service]部分。

相关文档衍生进程中的环境变量systemd.exec手册页中。

答案2

此代码现在有效

[单元] 描述=MFC Byobu After=network.target

[服务] ExecStart=/root/scripts/byobu.sh User=root Restart=always RemainAfterExit=yes

[安装] WantedBy=multi-user.target

相关内容