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