Hiện tại trên Ubuntu, việc tắt máy thực tế được thực hiện bởi console-kit-daemon
, daemon ConsoleKit , chạy với quyền root. Trình nền ConsoleKit nhận được yêu cầu tắt máy từ ứng dụng bảng điều khiển máy tính để bàn thông qua D-Bus . Chính sách cho phép các quy trình không có đặc quyền nói chuyện với các quy trình đặc quyền được xử lý bởi polkit (trước đây là PolicyKit). Bạn có thể mô phỏng lời gọi ConsoleKit thông qua dbus-send
nếu bạn muốn. Cụ thể, để báo cho ConsoleKit thực hiện tắt máy bạn có thể làm:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
Trên Ubuntu, ConsoleKit đã thay thế Lớp trừu tượng phần cứng (HAL), một hệ thống con nhằm mục đích cho phép các ứng dụng máy tính để bàn khám phá và sử dụng phần cứng của hệ thống máy chủ thông qua API di động và trừu tượng, bất kể loại phần cứng cơ bản nào. HAL ngày nay không được dùng nữa trong hầu hết các bản phân phối Linux. Lệnh dbus-send
gọi tương đương sử dụng HAL là:
dbus-send --print-reply --system --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer/org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
Hiện tại, ConsoleKit không được duy trì tích cực. Trọng tâm của dự án freedesktop.org đã chuyển sang quản lý chỗ ngồi / người dùng / phiên tích hợp của hệ thống init systemd được gọi là systemd-logind . Làm thế nào điều này sẽ ảnh hưởng đến các bản phân phối đã áp dụng các hệ thống init của riêng họ, như mới bắt đầu trong Ubuntu, vẫn còn được nhìn thấy.