После просмотра исходного кода кажется, что 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.