一直都不了解ubuntu的开机启动过程。说实话,要真正的说了解很是很困难的,单单说内核加载可以说就够折腾的。不过在分析了Ubuntu的启动过程我们知道了有很多途径可以在系统启动时增加启动项。
比如在/etc/rcX.d/目录下增加一个脚本S99mystart.sh这是最笨并且不怎么合理的办法,也可以在/etc/init.d/目录下增加脚本然后通过命令自动将链接更新到/etc/rcX.d/中
不管怎么做只要符合自己的具体要求就行了。
但是在Ubuntu为基于X的应用程序增加启动项时需要注意:
错误的做法:
- --------------------------
- #!/bin/sh
- /usr/bin/gtktest&(加上后台运行)
- --------------------------
这样系统启动后程序是运行不起来的
正确的做法:
- ---------------------------
- #!/bin/sh
- exportDISPLAY=:0.0(DISPLAY的设置由具体情况决定)
- /usr/bin/gtktest&(加上后台运行)
- ---------------------------
OK,现在知道原因了,在系统启动执行脚本时的环境里是不知道DISPLAY变量的,虽然可能这时候X已经启动
所以我们自己要主动添加。
总结:
希望大家记住Ubuntu为基于X应用程序增加启动项的正确做法,注意错误做法,防止出错。希望本文能够对大家有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。
【编辑推荐】