まあ、まずこれは私が直面した問題ではありませんが、この問題をよりよく理解したいと思います。
コマンドラインからコンピュータをシャットダウン/再起動するには、次を呼び出す必要があります。
$ sudo poweroff
$ sudo reboot
つまり、これらの ACPI 呼び出しを実行するには root 権限が必要です。
ただし、root権限を付与せずにDE(XFCEを使用)を開始します。 $startxfce4 --with-ck-launch
この--with-ck-launch
パラメータがXFCEがシステムをシャットダウン/再起動するのに役立つことを知っていますが、どうするかはわかりません。
ConsoleKitがroot権限なしで終了するのはなぜですか?スーパーユーザー権限なしでランレベルを変更するには?これで可能になりました。 root権限なしでコンソールで自分のマシンをシャットダウンするにはどうすればよいですか?
答え1
dbusを介してConsoleKitと通信できます。たとえば、このツールを使用するdbus-send
ときに注目すべきいくつかのコマンドは次のとおりです。
閉鎖:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
再起動:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
休止状態と一時停止コマンドもありますが、それが何であるかわかりません。
編集:一時停止コマンドが見つかりました。
dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0
最新システムで
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend