我有一个可执行文件,我想以用户身份运行,并且该用户应该能够在没有 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
它可能不算作“登录”。
我有两个问题:
- 我的用户实例可以
systemd
只使用 d-bus 的系统实例吗? - Ubuntu 是否应该以某种方式为我启动 d-bus 的用户实例?
答案1
Ubuntu 仍在使用upstart
来管理用户会话,并且systemd
仅管理系统会话。希望在下一个版本中,用户会话将迁移到systemd
,然后此功能将正常工作。