yuy*_*hao 8 shutdown systemd sysvinit consolekit
我在 Arch Linux 机器上安装了 systemd(并且没有安装 sysvinit)。但是,我无法使用 consolekit(dbus 接口)关闭/重新启动。# systemctl {shutdown,reboot}工作得很好,所以我猜是因为 consolekit 不知道如何联系pid 1进程。
查看源代码后,consolekit(ck) 似乎使用了一个简短的脚本来执行关闭和重新启动。这两个脚本安装为
/usr/lib/ConsoleKit/scripts/ck-system-{stop,restart}
Run Code Online (Sandbox Code Playgroud)
在 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。
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |