我是 dbus 新手(使用 Ubuntu 14.04,Unity)。因此,我使用用户 A 登录,以用户 B 的身份创建进程,该进程为用户 B 创建会话,现在我想使用 dbus 消息来关闭用户 B 的该进程的会话。我希望我的进程能够在每个桌面上运行环境。所以我下载了名为 的工具d-feet
,并开始使用它,我注意到每次在系统中创建会话时/org/freedesktop/User/1002
都会添加(1002 是用户 B 的 UID)org.freedesktop.login1
。
所以我尝试启动:
sudo dbus-send --type=method_call --print-reply --system --dest=org.freedesktop.login1 /org/freedesktop/login1/user/1000 org.freedesktop.login1.User.Terminate
但它给了我错误说Error org.freedesktop.DBus.Error.UnknownObject: Unknown user
,我ctr+alt+f1
以用户 B 身份登录,启动startx
并从用户作为桌面我使用相同的命令,它给出错误说'GDBus.Error:org.freedesktop.DBus.Error.UnknownObject: Permission Denied'
但这次它有效(关闭会话)。我有点失落。希望你能帮忙。谢谢。