Depois de dar uma olhada no código-fonte, parece que o consolekit (ck) usa um script curto para fazer o desligamento e reinicialização. Estes dois scripts estão instalados como
/usr/lib/ConsoleKit/scripts/ck-system-{stop,restart}
no Arch Linux e eles simplesmente encontram e exec {,/usr}/sbin/shutdown para fazer isso.
/etc ), e o trabalho é simples.
-
simplesmente edite esses dois scripts para exec
systemctl {shutdown,reboot}. (Mas pelo menos no Arch Linux, provavelmente será sobregravado após cada atualização). -
basta criar um script de wrapper em
/sbin/shutdownpara fazer a coisa certa. (Isso causará conflito se você quiser instalar o sysvinit mais tarde, mas esperamos que não seja um problema.)
Eu também procurarei (e criarei se não houver um) um relatório de bug sobre o problema e espero que isso possa ser feito de uma maneira melhor no futuro (realmente não gosto de fazer configuração fora de /etc ).
OBSERVAÇÃO: O Arch Linux agora tem o pacote systemd-sysvcompat que fornece esses ( init / halt / shutdown etc.) como um link simbólico para systemctl / systemd .