Inicia um serviço do usuário systemd na inicialização

6

Estou tentando iniciar um serviço systemd para um usuário específico (o nome / objetivo do serviço não é relevante). Eu faço isso porque preciso ter um processo por usuário de um aplicativo em execução na inicialização.

Aqui está o que eu consegui até agora:

  • Eu crio um arquivo de unidade em / etc / systemd / user /
  • E então fez o seguinte:

    ~ $ systemctl --user enable custom.service

  • Então, como dito no link , habilitei-me a dizer que o serviço está funcionando mesmo sem sessão do usuário em execução.

    ~ $ loginctl enable-linger $USER

Mas quando eu reinicio o serviço não parece começar e não há nada para ser visto no journalctl para o referido serviço. Mas o status dizia que o serviço está ativado:

~ $ systemctl --user status transmission-daemon

● custom.service - Custom Daemon
Loaded: loaded (/etc/systemd/user/custom.service; enabled; vendor preset: enabled)

Active: inactive (dead)

Também posso executá-lo manualmente sem problemas executando

~ $ systemctl --user start custom.service

Como alguém tem alguma ideia do que eu fiz de errado?

Obrigado!

    
por Jesus_21 12.01.2016 / 09:15

1 resposta

8

Eu não sei se este é o seu caso, mas eu poderia resolvê-lo com a resposta de link O problema foi que eu tinha WantedBy=multi-user.target e tive que alterá-lo para WantedBy=default.target e funcionou.

Outra coisa, eu tenho meu arquivo de serviço em ~/.config/systemd/user

    
por 19.01.2016 / 00:18