以非root用户身份使用busctl

以非root用户身份使用busctl

我正在尝试使用 systemd sd-bus API 从程序中启动/停止/确定用户 systemd 服务文件的状态,而不是以 root 身份运行。

让我们继续讨论确定状态的示例。我在命令行上测试了这些东西。我在准备环境时取得了一些进展:

$ export XDG_RUNTIME_DIR=/run/user/$(id -u)

$ export $(dbus-launch)

我在网上搜索时在不同的来源中找到了它。与特定用户通话时:

$ busctl --user --verbose get-property \
   org.freedesktop.systemd1 \
   /org/freedesktop/systemd1/unit/myservice \
   org.freedesktop.systemd1.Unit ActiveState

结果:

Process org.freedesktop.systemd1 exited with status 1

之前是“权限被拒绝”之类的内容。当以 root 身份运行时,没有用户标志,给了我所需的输出。

有人有任何提示我可能会错过什么吗?

相关内容