Linux系统的开机自启脚本方法

centOS中

方法1:/etc/rc.local

/etc/rc.local是rc.d/rc.local的软链

1、在自己需要启动的文件目录中编写一个shell脚本文件auto_run_script.sh(文件名称你们随意)。我的这个timeTest文件是timeTest.cpp编译过来的。主要是过几秒打印一下时间。最好先验证一下你自己写的这个脚本能不能运行。

#!/bin/bash

cd /root/

./timeTest >> /root/output.txt

sleep 3

date >> /root/output.txt

随后需要给这个文件可执行的权限

chmod 777 auto_run_script.sh

2、在centOS7中我是看到了这个东西,但是ubanto中好像没有看到。

vim /etc/rc.local

打开这个文件之后在末尾添加(这样开机之后就会运行你自己的脚本了。其他的脚本也是一样)

/root/auto_run_script.sh

随后需要给这个文件可执行的权限

chmod 777 /etc/rc.local

3、重启

reboot

4、查看是否执行了开机自启命令

cat output.txt

Linux系统的开机自启脚本方法_第1张图片

方法2:使用 crontab

大家知道,crontab 是 Linux 下的计划任务,当时间达到我们设定的时间时,可以自动触发某些脚本的运行。

我们可以自己设置计划任务时间,然后编写对应的脚本。但是,有个特殊的任务,叫作 @reboot ,我们其实也可以直接从它的字面意义看出来,这个任务就是在系统重启之后自动运行某个脚本。

那它将运行的是什么脚本呢?我们如何去设置这个脚本呢?我们可以通过 crontab -e 来设置。

crontab -e
@reboot /home/ok/auto_run_script.sh

然后,直接重启即可。运行的效果跟上面类似。
Linux系统的开机自启脚本方法_第2张图片

方法三:使用 systemd 服务

这个我没试,大家感兴趣的话可以自己试试。

Ubuntu中

方法一:普通执行文件

1.首先创建脚本文件
如下面的start.sh,

#!/bin/sh
cd ~/test_ws/src/server/
#./server >> output.text
	
gnome-terminal -- bash -c "cd ~/test_ws/src/server/;./server; exec bash"
#sleep 3		
gnome-terminal -- bash -c "sleep 3;cd ~/test_ws/src/server/;python3 client_camera.py --shell; exec bash"

2.给脚本添加可执行权限
因为刚创建的.sh文件是不可执行的,需要添加权限才可执行,添加方法很见单,使用chmod命令即可

chmod +x start.sh
或者
chmod 777 start.sh

3.在终端中运行脚本进行测试
打开终端,进入脚本所在路径,运行

./start.sh

终端输出正常的运行结果,测试有效.

4.在新的终端运行
在之前的步骤之后,即使添加到了开机自启动,就算运行,也不能看出来是否真的在运行,甚至可能就没有在运行,也可能运行之后瞬间结束,为此,可以采用打开一个新终端加延时的方式运行,修改start.sh脚本:

其中gnome-terminal -x bash -c会打开一个新的bash终端并执行c后面的语句,语句用’; ;;’,隔开,最后的sleep 5表示延迟5秒退出,这样就可以在新的终端看到运行效果,添加这个延时是为了方便验证是否启动程序或者节点
!注意,如果是ubuntu 18.04的系统,gnome-terminal -x bash -c(这个新系统已经不用了包括,gnome-terminal -e bash -c都已经弃用了)需要改写成gnome-terminal -- bash -c

在完成了上述步骤之后,可以将脚本添加到ubuntu开机启动管理器里头,具体操作如下:

1.打开ubuntu启动管理器
在终端输入gnome-session-properties运行,会打开一个界面,这里记录着系统上层应用的启动软件:
Linux系统的开机自启脚本方法_第3张图片

可以根据需要点击Add将对应的启动项目加进来,启动项可以是脚本,这里以脚本为例,把上面的start.sh脚本添加到启动项里来
2.添加执行项目
点击Add按键
输入相应的信息,这里NameComment都可以自己随意设置,只是对启动项的一个说明,中间的Command才是要运行的内容,可以点击Browse…来进行选择,这里就选择刚刚的那个脚本文件(注意脚本文件一定要有可执行的权限).
Linux系统的开机自启脚本方法_第4张图片

最后点击Add就可以了,界面中就会多了一项刚刚设置的内容
Linux系统的开机自启脚本方法_第5张图片

3.重启测试
点击重启就可以测试了,会发现开机之后确实打开了一个新的终端,并运行了脚本里的程序.
由于一般设备都设置了密码,而管理器里的这些程序,是需要登录之后才可以进行的,所以,可以将设备设置为自动登录,具体的方法如下:
A. 进入系统设置==>用户设置
Linux系统的开机自启脚本方法_第6张图片

B.设置自动登录
按照如下的顺序进行设置
Linux系统的开机自启脚本方法_第7张图片

引用:
1、LINUX系统如何设置开机自动运行脚本?
2、CSDN博主「北方南方2020」的原创文章,原文链接:https://blog.csdn.net/baidu_34319491/article/details/106456571

你可能感兴趣的:(Linux系统应用,linux,bash,ubuntu)