После просмотра исходного кода кажется, что consolekit (ck) использует короткий скрипт для завершения работы и перезагрузки. Эти два сценария установлены как
/usr/lib/ConsoleKit/scripts/ck-system-{stop,restart}
в Arch Linux, и они просто находят и исполняют {,/usr}/sbin/shutdown
для этого.
Поэтому, похоже, сейчас нет способа настроить ck для этого (обычно я имею в виду просто отредактировать некоторые файлы в /etc
), и обходной путь прост.
просто отредактируйте эти два скрипта в exec systemctl {shutdown,reboot}
. (Но, по крайней мере, в Arch Linux, он, вероятно, будет перезаписываться после каждого обновления.)
просто создайте скрипт-обертку, /sbin/shutdown
чтобы делать правильные вещи. (Это вызовет конфликт, если вы захотите установить sysvinit позже, но, надеюсь, не проблема.)
Я также поищу (и создам, если такового не было) отчет об ошибке по этой проблеме, и я надеюсь, что в будущем это можно будет сделать лучше (на самом деле не нравится конфигурировать снаружи /etc
).
ПРИМЕЧАНИЕ: Arch Linux теперь имеет пакет systemd-sysvcompat, который предоставляет их ( init
/ halt
/ shutdown
и т. Д.) Как символическую ссылку на systemctl
/ systemd
.