Table of Contents |
Simple (Arch)Linux InitScripts
這套初始化腳本是由原來 Archlinux 的 initscripts 大幅簡化而來。
簡化內容
- etc/rc.single -> 刪除
- etc/rc.multi -> 刪除
- etc/rc.sysinit, arch-modules-load, arch-daemons -> etc/rc-simple.sysinit
- etc/rc.shutdown -> etc/rc-simple.shutdown
新增內容
- etc/rc-simple.sysinit, etc/rc-simple.shutdown - 過程可視 (bash -x)
- usr/sbin/rc-sys.d - 用來開關 systemd 的 service(實驗性功能)
- usr/sbin/init.pl - 簡陋到爆的init程序,當沒有 sysvinit 時做 fallback
- 提供開機亮度調整功能,詳見 rc.conf
使用
由於 init.pl 過於簡陋,正常情況下請安裝使用 sysvinit 來做為初始化程式。
systemd(systemd-tools) 並非必要,也可以與 systemd 共存,但是如果要脫離 systemd-tools,需要進行適當修改。
安裝:
$ yaourt -S sysvinit initscripts-simple-git
配置:
# 編輯器 /etc/rc.conf
# 編輯器 /etc/rc.local
如果原有 systemd,但是新安裝了 sysvinit,/usr/sbin/init就會被 sysvinit 佔領(systemd-sysvcompat 被刪除),這時,如果需要以 systemd 進入,就要加引導參數 init=/usr/lib/systemd/systemd。
rc.conf 與原來差別不大,但語言、時區等項目已經被裁剪,請在其他地方設定。
rc.local 由於 /etc/rc.d 中的腳本被消失的原因(官方不再支持 initscripts),顯得極為重要。雖然可以去找老軟件包,但較繁瑣。下面給出一份示例供參考:
rc-sys.d start sshdgenkeys sshd lighttpd NetworkManager & /usr/lib/polkit-1/polkitd --no-debug & /usr/lib/accountsservice/accounts-daemon & export $(dbus-launch) slim &
當然如果有以前存留的 rc.d 下的 daemon 腳本,就不用這麽麻煩了。
問題
(2013.7) 一些 GNOME 程序例如 gdm、nm-applet 無法正常運行。
gdm[405]: GdmLocalDisplayFactory: Failed to issue method call: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
** (nm-applet:1314): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Rejected send message, 2 matched rules; type="method_call", sender=":1.35" (uid=1000 pid=1314 comm="nm-applet ") interface="org.freedesktop.DBus.Properties" member="GetAll" error name="(unset)" requested_reply="0" destination="org.freedesktop.NetworkManager" (uid=0 pid=320 comm="NetworkManager ") ** Message: applet now removed from the notification area ** Message: applet now embedded in the notification area ** (nm-applet:1314): WARNING **: Failed to register as an agent: (32) Session not found ** Message: applet now removed from the notification area
但種種跡象又表明dbus正常。如果您知道解決方法,請開 Issue。
(2013.12) 啓動日志已不能工作。