web-dev-qa-db-fra.com

Comment utiliser l'instance "systemd --user"?

J'ai un exécutable que je voudrais exécuter en tant qu'utilisateur et cet utilisateur devrait pouvoir démarrer et arrêter ce service sans Sudo.

J'ai systemd --user toujours en cours d'exécution pour l'utilisateur en exécutant loginctl enable-linger user

J'ai confirmé que l'instance systemd --user fonctionnait sous cet utilisateur avec ps, mais lorsque j'essaie d'exécuter une commande systemctl en tant qu'utilisateur, le message d'erreur suivant s'affiche:

vagrant-ubuntu-vivid-64:~$ systemctl --user list-units
Failed to get D-Bus connection: Connection refused

Sur la base de ma recherche sur Google, il semblerait que je devrais avoir une instance dbus-daemon exécutée sous cet utilisateur, mais ce n'est pas le cas. Il est à noter que je passe à l'utilisateur avec su afin qu'il ne soit pas considéré comme un "login".

J'ai deux questions:

  1. Mon instance utilisateur de systemd peut-elle simplement utiliser l'instance système de d-bus?
  2. Ubuntu devrait-il en quelque sorte créer une instance utilisateur de d-bus pour moi?
5
Luke Hoersten

Ubuntu utilise toujours upstart pour gérer la session utilisateur et systemd ne gère que la session système. Espérons que dans la prochaine version, la session utilisateur migre vers systemd, et ensuite cela fonctionnera.

4
psusi