Você precisa adicionar RequiresMountsFor=/home
à seção [Unit]
do arquivo .service
Eu configurei uma unidade que deve executar um serviço de registro simples:
$ cat /etc/systemd/system/msgwriter.service
[Unit]
Description=Writes the values of the counter to the file
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
ExecStart=/home/user/dev/start
O problema é que o diretório inicial é criptografado. Existe um erro nos logs do sistema:
systemd[1018]: msgwriter.service: Failed at step EXEC spawning /home/user/dev/start: No such file or directory
Eu sei que posso mover meu serviço para /usr/local/bin
. Mas o objetivo final é iniciá-lo como usuário.
Você precisa adicionar RequiresMountsFor=/home
à seção [Unit]
do arquivo .service