Actualmente en Ubuntu, el apagado real lo realiza console-kit-daemon
el demonio ConsoleKit , que se ejecuta con privilegios de root. El demonio ConsoleKit recibe la solicitud de apagado de la aplicación del panel de escritorio a través de D-Bus . Polkit (anteriormente PolicyKit) maneja la política que permite que los procesos no privilegiados hablen a procesos privilegiados . Puede emular la invocación de ConsoleKit dbus-send
si lo desea. En particular, para indicarle a ConsoleKit que realice un apagado, puede hacer lo siguiente:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
En Ubuntu, ConsoleKit reemplazó la Capa de abstracción de hardware (HAL), un subsistema destinado a permitir que las aplicaciones de escritorio descubran y usen el hardware del sistema host a través de una API portátil y abstracta, independientemente del tipo de hardware subyacente. HAL está actualmente en desuso en la mayoría de las distribuciones de Linux. La dbus-send
invocación equivalente usando HAL es:
dbus-send --print-reply --system --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer/org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
Actualmente, ConsoleKit no se mantiene activamente. El enfoque del proyecto freedesktop.org se ha desplazado hacia la gestión integrada de asiento / usuario / sesión del sistema systemd init llamado systemd-logind . Queda por ver cómo afectará esto a las distribuciones que adoptaron sus propios sistemas de inicio, como el advenedizo en Ubuntu.