在 systemd 用户服务上使用非绝对路径执行

在 systemd 用户服务上使用非绝对路径执行

我已经创建了一个在用户登录时运行的单元,但是当尝试启动它时,出现以下错误:

/home/myUser/.config/systemd/user/myUnit.service:5: Neither a valid executable name nor an absolute path: $HOME/.local/bin/myProgram

这是~/.config/systemd/user/myUnit.service

[Unit]
Description=Some description...

[Service]
ExecStart=$HOME/.local/bin/myProgram
Type=forking

[Install]
WantedBy=default.target

显然,Systemd 需要绝对路径;但是有没有办法不这样做硬编码每个用户的主目录,并且不要将二进制文件从用户主目录之外取出?

我认为应该有一个,因为我们被允许将用户的单位放置在用户自己的家中......

相关内容