現在のUbuntu上で、実際のシャットダウンをすることによって行われconsole-kit-daemon
、ConsoleKitの root権限で動作するデーモン、。ConsoleKitデーモンは、D-Busを介してデスクトップパネルアプリケーションからシャットダウン要求を受け取ります。非特権プロセスが特権プロセスと通信できるようにするポリシーは、polkit(以前のPolicyKit)によって処理されます。dbus-send
必要に応じて、ConsoleKit呼び出しをエミュレートできます。特に、ConsoleKitにシャットダウンを実行するように指示するには、次のようにします。
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Ubuntuでは、ConsoleKitが、ハードウェアアブストラクションレイヤー(HAL)に置き換わりました。これは、基盤となるハードウェアの種類に関係なく、デスクトップアプリケーションがポータブルで抽象的なAPIを介してホストシステムのハードウェアを検出して使用できるようにするサブシステムです。HALは現在、ほとんどのLinuxディストリビューションで非推奨になっています。dbus-send
HALを使用した同等の呼び出しは次のとおりです。
dbus-send --print-reply --system --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer/org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
現在、ConsoleKitは積極的にメンテナンスされていません。焦点freedesktop.orgプロジェクトが向かってシフトしているビルトインの座席/ユーザー/セッション管理にsystemdと呼ばれるinitシステムにsystemd-logind。これが、Ubuntuのupstartのように、独自のinitシステムを採用したディストリビューションにどのように影響するかは、まだ不明です。