O Ubuntu ainda está usando upstart
para gerenciar a sessão do usuário e systemd
gerencia apenas a sessão do sistema. Espero que na próxima versão, a sessão do usuário migre para systemd
, e então isso funcionará.
Eu tenho um executável que gostaria de executar como usuário e esse usuário deve poder iniciar e interromper esse serviço sem sudo.
Eu tenho systemd --user
sempre em execução para o usuário executando loginctl enable-linger user
Confirmei que a systemd --user
instance está sendo executada como esse usuário usando ps
, mas quando tento executar qualquer comando systemctl
como esse usuário, recebo o seguinte erro:
vagrant-ubuntu-vivid-64:~$ systemctl --user list-units
Failed to get D-Bus connection: Connection refused
Com base no meu googling, parece que eu deveria ter uma instância dbus-daemon
em execução como esse usuário, mas não é. Deve-se notar que estou mudando para o usuário com su
, portanto, pode não estar contando como um "login".
Eu tenho duas perguntas:
systemd
usa apenas a instância do sistema do d-bus? O Ubuntu ainda está usando upstart
para gerenciar a sessão do usuário e systemd
gerencia apenas a sessão do sistema. Espero que na próxima versão, a sessão do usuário migre para systemd
, e então isso funcionará.
Tags systemd 15.04 dbus systemd-logind