Arch Linuxボックスにsystemdをインストールしました(sysvinitはインストールしていません)。ただし、consolekit(dbusインターフェイス)でシャットダウン/再起動できません。 # systemctl {shutdown,reboot}
は問題なく動作するので、consolekitがpid 1
プロセスへの接続方法を知らないためだと思います。
ソースコードを確認したところ、consolekit(ck)が短いスクリプトを使用してシャットダウンと再起動を行っているようです。これらの2つのスクリプトは次のようにインストールされます
/usr/lib/ConsoleKit/scripts/ck-system-{stop,restart}
arch Linuxでは、それを行うために{,/usr}/sbin/shutdown
を見つけて実行するだけです。
したがって、今それを行うようにckを構成する方法はないようです(通常、私は単に/etc
内のいくつかのファイルを編集することを意味します)、回避策は簡単です。
これらの2つのスクリプトを編集してsystemctl {shutdown,reboot}
を実行するだけです。 (ただし、少なくともArch Linuxでは、アップグレードするたびに上書きされる可能性があります。)
/sbin/shutdown
で、正しいことを行うラッパースクリプトを作成するだけです。 (後でsysvinitをインストールする場合、これにより競合が発生しますが、問題がないことを願っています。)
また、問題に関するバグレポートを探します(そして、バグレポートがない場合は作成します)。将来、より良い方法でそれを実行できることを願っています(/etc
の外部で構成を行うのは本当に好きではありません)。
注:Arch Linuxには、これら(init
/halt
/shutdown
など)をsystemctl
/systemd
へのシンボリックリンクとして提供するsystemd-sysvcompatパッケージが含まれるようになりました。