试图逃跑
#!/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