如何在systemd服务文件中使用`$ HOME`环境variables

我试图在ExecStart使用$HOME环境variables。 我尝试了许多不同的东西,如$HOME${HOME}但似乎没有任何工作

 ExecStart=${HOME}/bin/some-binary 

任何人都知道这个正确的格式?

你有没有在服务文件中设置User=foo ? 如果你没有设置用户, $HOME将被扩展到默认用户的主目录以用于启动命令,所以它不会匹配你的$HOME ,因此是二进制的。 另一个解决scheme是使用二进制的绝对path。

我想这就是你要找的: https : //www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers 。

具体来说, %h应该扩展到当前用户的主目录。