首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以用户身份通过ConsoleKit DBus消息关闭系统?

如何以用户身份通过ConsoleKit DBus消息关闭系统?
EN

Unix & Linux用户
提问于 2012-01-21 13:49:21
回答 3查看 4.6K关注 0票数 4

我找到了以下命令行来关闭Debian/GNU Linux系统

代码语言:javascript
复制
dbus-send \
  --system \
  --dest=org.freedesktop.ConsoleKit \
  --type=method_call \
  --print-reply \
  --reply-timeout=2000 \
  /org/freedesktop/ConsoleKit/Manager \
  org.freedesktop.ConsoleKit.Manager.Stop

如果我以超级用户的身份执行命令,但作为一个非特权用户,它可以工作,但它说:

代码语言:javascript
复制
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized

我想知道是否有可能以这样的方式修改这样的命令,即与PolicyKit交互时,它可以授予正常用户关闭系统的特权。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2012-01-22 06:55:10

根据这个Debian错误报告,这是由于ConsoleKit在0.4.1和0.4.2之间的上游变化。该线程包含一些建议和解决方法,其中之一是安装一个直接与ConsoleKit对话的显示管理器(如GDM或lightdm)。

票数 2
EN

Unix & Linux用户

发布于 2012-04-05 03:22:29

如果您使用控制台> 0.4.1 (喘息和更新),这将不再有效。要使它再次工作,请添加

代码语言:javascript
复制
session optional        pam_loginuid.so

/etc/pam.d/common-session

票数 2
EN

Unix & Linux用户

发布于 2015-08-20 14:35:14

就我而言:

  • Debian 8 amd64;
  • 磁通箱;
  • startx (没有任何DM)。
  • 已安装的软件包:
    • dbus
    • dbus-X11
    • consolekit
    • policykit-1
    • libpam-ck-connector

这个解决方案工作得很好:

创建一个定制的actions.pkla文件,其内容如下:

代码语言:javascript
复制
sudo nano /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla

把这个放进档案里。

代码语言:javascript
复制
[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesk​top.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/29637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档