如何使用“systemd --user”实例?

Luk*_*ten 5 dbus systemd-logind systemd 15.04

我有一个我想以用户身份运行的可执行文件,该用户应该能够在没有 sudo 的情况下启动和停止该服务。

systemd --user总是通过运行为用户运行loginctl enable-linger user

我已确认该systemd --user实例正在以该用户的身份运行,ps但是当我尝试以systemctl该用户身份运行任何命令时,出现以下错误:

vagrant-ubuntu-vivid-64:~$ systemctl --user list-units
Failed to get D-Bus connection: Connection refused
Run Code Online (Sandbox Code Playgroud)

根据我的谷歌搜索,听起来我应该有一个dbus-daemon以该用户身份运行的实例,但事实并非如此。应该注意的是,我正在切换到用户,su因此它可能不算作“登录”。

我有两个问题:

  1. 我的用户实例可以systemd只使用 d-bus 的系统实例吗?
  2. Ubuntu 应该以某种方式为我启动 d-bus 的用户实例吗?

psu*_*usi 4

Ubuntu仍然使用upstart管理用户会话,并且systemd只管理系统会话。希望在下一个版本中,用户会话将迁移到systemd,然后这将起作用。