linux 开机启动脚本

开机启动有两种方式:

通过VNC启动方式进行说明

一、第一种是通过rc.local文件,直接将要运行的脚本名称写进去,但是此方法无法保证脚本执行时网卡设备是否已经彻底启动。

通过自带软件中心安装x11vnc,使用下列命令设置密码。

sudo x11vnc -storepasswd


新建.sh 脚本文件

#!/bin/bash
x11vnc  -bg  -o %HOME/.x11vnc.log.%VNCDISPLAY  -auth /var/run/lightdm/root/:0 -forever

然后在rc.local中添加启动的脚本

linux 开机启动脚本


第一种方法无法保证脚本执行时网卡设备是否已经彻底启动,下面介绍第二种方法。

二、第二种方法虽然也不能完全保证在网卡设备启动后再执行脚本,但是其通过延迟任务的优先级能从很大程度上保证脚本启动时系统已经初始化完毕。假设脚本名称为test.sh,使用方法如下:

sudo chmod 755 test.sh

sudo mv test.sh /etc/init.d

cd /etc/init.d

sudo update-rc.d test.sh defaults 99

如果此处出现如下错误

insserv: warning: script 'K01startvnc.sh' missing LSB tags and overrides
insserv: warning: script 'startvnc.sh' missing LSB tags and overrides

在#!/bin/bash后面添加下面部分


### BEGIN INIT INFO
# Provides:          php_fastcgi.sh
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the php_fastcgi daemon
# Description:       starts php_fastcgi using start-stop-daemon
### END INIT INFO


最后一行的数据表示优先级,数值越大,执行的时间越晚。若要删除该脚本的自动执行功能,则执行如下命令

cd /etc/init.d

sudo update-rc.d -f test.sh remove

EMUC-B201 Can卡启动脚本

1、将emuccan.ko emucd 拷贝到init.d文件里面

添加下面的脚本


echo 'ubuntu'|sudo -S insmod  /etc/init.d/emuccan.ko
echo 'ubuntu'|sudo -S /etc/init.d/emucd -s6 ttyACM0 can0 can1
echo 'ubuntu'|sudo -S ip link set can0 up
echo 'ubuntu'|sudo -S ip link set can1 up