Primeiro problema
Você pode especificar as diretivas User=
e Group=
na seção [Service]
do arquivo de unidade.
Segundo problema
Para que o serviço seja executado na inicialização, você não deve colocá-lo na sua pasta pessoal. Em vez disso, coloque-o em /etc/systemd/system/
. Esta é a pasta que deve ser usada pelo administrador do sistema (ou seja, você) para adicionar novos serviços em todo o sistema.
Outras pastas incluem:
-
/usr/lib/systemd/system/
é destinado a pacotes que desejam instalar arquivos unitários, embora no Debian e no Ubuntu a pasta seja/lib/systemd/system/
, porque as várias pastasbin
elib
ainda não foram mescladas em um prefixo/usr/
unificado. -
/usr/local/systemd/system/
é para instalar unidades por pacotes compilados localmente.
Testando a unidade
Quando o arquivo da unidade estiver em um local apropriado, você pode tentar iniciar a unidade imediatamente digitando systemctl start <UNIT_FILENAME>
como de costume. Deve funcionar sem ter que digitar o caminho completo da unidade. A extensão também não precisa ser especificada se for .service
.
Ativando a unidade
Antes de poder ativar sua unidade, você precisa adicionar uma seção [Install]
, sob a qual você deve adicionar a diretiva WantedBy=multi-user.target
. Esta diretiva especifica o estágio do processo de inicialização durante o qual o serviço deve ser iniciado (se estiver ativado). multi-user.target
é apropriado para a maioria dos serviços.
Uma vez que essa informação é adicionada, você pode usar systemctl enable <UNIT_FILENAME>
, que ativa a unidade, fazendo com que o systemd a partir de agora a inicie automaticamente durante a inicialização no estágio especificado.