测试脚本:
#!/bin/bash
# test.sh
cd /home/Desktop/
ls
echo "OK!"
exit 0
1. /etc/init.d方法
sudo mv test.sh /etc/init.d/
sudo chmod 777 test.sh
sudo update-rc.d test.sh defaults
如果需要设置启动优先级: ```bash # 100表示优先级,数越大,执行的越晚 sudo update-rc.d test.sh defaults 100 ```
如果要移除脚本:
cd /etc/init.d
sudo update-rc.d -f test.sh remove
2. gnome-terminal方法
间接启动法:
新建终端时,终端会自动执行~/.bashrc
,应用该方法可实现开机自启动
# 将命令写入~/.bashrc
source ~/.bashrc
启动ubuntu应用程序首选项管理:
gnome-session-properties
命令(M) 写入:gnome-terminal
,→添加,重启即可生效。
直接启动法:
命令(M) 写入:
gnome-terminal -x bash -c "/home/User/Desktop/test.sh"
→添加,重启即可生效。
使用工控机时,可设置为用户自动登录
3. rc.local方法
rc.local脚本会在ubuntu开机后自动执行,因此我们可以将启动命令写在此文件中,例如:
#!/bin/sh -e
#
# rc.local
#
# ……
#
cd /home/User/Desktop/ && ./test.sh
exit 0
注意:编辑时需要root权限,如果该方法没有正确启动,检查log内容。需要注意的一个点:rc.local中的脚本会在系统登录前执行,这是我们还没进入桌面,因此有可能会执行失败
update-rc.d的详细参数
使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):
update-rc.d [-n] [-f] <basename> remove
update-rc.d [-n] <basename> defaults
update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
update-rc.d <basename> start|stop <NN> <runlevels>
-n: not really
-f: force
其中:
disable|enable
:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。start|stop
:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)NN
:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)runlevels
:则指定了运行级别。
参考文献: