dbusとUPowerを使用してサーバーを一時停止しようとしています。サーバーはUbuntuLucidLynx64ビットを実行します。
マシンに直接座っていればすべて正常に動作しますが、ssh経由では動作しません。
ssh経由でサーバーに接続し、dbusとupowerを使用してマシンを一時停止しようとすると、返されます
dbus.exceptions.DBusException:org.freedesktop.UPower.GeneralError:許可されていません
誰かがsshユーザーがマシンを一時停止できるようにするためにdbusを設定する方法を教えてもらえますか?
承認された回答:
これを行うには2つの基本的な方法と回避策があります:
/usr/share/polkit-1/actions/org.freedesktop.upower.policy
を変更する必要があります 、XDG_SESSION_COOKIE
を設定します 環境変数を適切な値にするか、pm-suspend
を使用します :
/usr/share/polkit-1/actions/org.freedesktop.upower.policy
の変更
このパッチを適用します:
--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig 2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy 2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
+ <allow_any>yes</allow_any>
</defaults>
</action>
(<action id="org.freedesktop.upower.suspend">
へ タグ/セクション)、それも機能します…
または
XDG_SESSION_COOKIE
デスクトップを使用している場合は、$XDG_SESSION_COOKIE
が表示されます。 には1つの値がありますが、sshセッションでは別の値があります。 XDG_SESSION_COOKIE
を保存します 例えばデスクトップの起動時に.dotfileなどで、sshを介して実行する必要のあるスクリプトでソースを作成します。
pm-サスペンド
または、dbus
でそれを行うのをあきらめることもできます およびUPower
pm-suspend
を発行するだけです ルートとして、それを乗り越えてください! 🙂