I am trying to use the $HOME
environment variable in the ExecStart
. I tried many different things like $HOME
and ${HOME}
but nothing seems to be working
ExecStart=${HOME}/bin/some-binary
Anyone knows the correct format for this?
I am trying to use the $HOME
environment variable in the ExecStart
. I tried many different things like $HOME
and ${HOME}
but nothing seems to be working
ExecStart=${HOME}/bin/some-binary
Anyone knows the correct format for this?
I think this is what you're looking for: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers.
Specifically, %h
should expand to the current user's home dir.
The full list of supported variables (called "Specifiers") is here: https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Specifiers.
There is no specifier for the home directory of user the service is run as (the one specified by User=
). There is only one for the user running the service manager.
From the link:
%h
is the home directory of the user running the service manager instance. In case of the system manager this resolves to "/root
". Note that this setting is not influenced by theUser=
setting configurable in the [Service] section of the service unit.