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 pastasbinelibainda 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.