第一的:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
Linux <hostname> 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
我正在尝试将应用程序实例作为“用户服务”启动systemctl --user start <service>
。但是当我发出此命令(或任何其他systemctl --user
命令)时,我会收到一条错误消息
无法连接到总线:没有该文件或目录
我以 root 用户还是普通用户身份发出此命令并不重要,但我最终想要的是以普通用户身份运行此命令。
我在网上搜索并尝试了所有能找到的方法。许多遇到类似问题的人都提到一个问题,那就是$XDG_RUNTIME_DIR
和$DBUS_SESSION_BUS_ADDRESS
未针对环境进行设置;是的,我的情况也是如此,但设置它们的解决方案对我没有帮助。
我尝试在登录后设置它们.profile
(也尝试重新启动),但没有任何帮助。
有人提到从 root 用户 ( ) 登录用户su - <username>
也会导致这些问题,但这里的解决方案是直接通过 SSH 使用普通用户登录。但不幸的是,在我的情况下这也不起作用。
有人能对我如何实现这个功能提出建议吗?
是的。我想/需要为特定用户(或多个用户)提供此功能,但不授予其完全 root 访问权限,这是有原因的。
答案1
您正在使用 Ubuntu 16.04。它不运行 systemd 的每个用户实例。
进一步阅读
- https://askubuntu.com/a/780747/43344
- https://askubuntu.com/a/613814/43344
- “16.10 中的新增功能“。Ubuntu 16.10 发行说明. 典范的。