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

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

我有一个可执行文件,我想以用户身份运行,并且该用户应该能够在没有 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

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

我有两个问题:

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

答案1

Ubuntu 仍在使用upstart来管理用户会话,并且systemd仅管理系统会话。希望在下一个版本中,用户会话将迁移到systemd,然后此功能将正常工作。

相关内容