Debian/GNULinuxシステムをシャットダウンするための次のコマンドラインを見つけました
dbus-send \
--system \
--dest=org.freedesktop.ConsoleKit \
--type=method_call \
--print-reply \
--reply-timeout=2000 \
/org/freedesktop/ConsoleKit/Manager \
org.freedesktop.ConsoleKit.Manager.Stop
スーパーユーザーとしてコマンドを実行すると機能しますが、非特権ユーザーとしては次のように表示されます。
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized
PolicyKitと対話して、システムをシャットダウンする特権を通常のユーザーに付与できるように、このようなコマンドを変更できるかどうかを知りたいと思います。
これによると Debianバグレポート 、これはバージョン0.4.1と0.4.2の間のConsoleKitのアップストリームの変更によるものです。スレッドにはいくつかの提案と回避策が含まれています。そのうちの1つは、ConsoleKitと直接通信するディスプレイマネージャー(GDMやlightdmなど)をインストールすることです。
Consolekit> 0.4.1(wheezy以降)を使用している場合、これはそのままでは機能しなくなります。再び機能させるには、
session optional pam_loginuid.so
to /etc/pam.d/common-session
。
私の場合:
dbus
dbus-X11
consolekit
policykit-1
libpam-ck-connector
この解決策 うまく機能します:
次の内容でcustom-actions.pklaファイルを作成します。
Sudo nano /var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla
これをファイルに入れます。
[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes