Câu trả lời:
Sau khi xem mã nguồn, có vẻ như consolekit (ck) sử dụng một đoạn script ngắn để thực hiện tắt máy và khởi động lại. Hai tập lệnh này được cài đặt là
/usr/lib/ConsoleKit/scripts/ck-system-{stop,restart}
trong Arch Linux và họ chỉ cần tìm và {,/usr}/sbin/shutdown
thực thi để làm điều đó.
Do đó, dường như không có cách nào để cấu hình ck để làm điều đó ngay bây giờ (thông thường tôi chỉ có nghĩa là chỉ cần chỉnh sửa một số tệp trong /etc
) và công việc xung quanh rất đơn giản.
chỉ cần chỉnh sửa hai tập lệnh này để thực thi systemctl {shutdown,reboot}
. (Nhưng ít nhất là trên Arch Linux, nó có thể sẽ bị ghi đè sau mỗi lần nâng cấp.)
chỉ cần tạo một tập lệnh bao bọc /sbin/shutdown
để làm điều đúng. (Điều này sẽ gây ra xung đột nếu bạn muốn cài đặt sysvinit sau đó, nhưng hy vọng không có vấn đề gì.)
Tôi cũng sẽ tìm kiếm (và tạo nếu không có) một báo cáo lỗi về vấn đề này và tôi hy vọng nó có thể được thực hiện theo cách tốt hơn trong tương lai (thực sự không muốn thực hiện cấu hình bên ngoài /etc
).
LƯU Ý: Arch Linux hiện có gói systemd-sysvcompat cung cấp các gói này ( init
/ halt
/ shutdown
v.v.) dưới dạng symlink đến systemctl
/ systemd
.