目录
Ubuntu中设置开机自启动脚本
Ubuntu 24.04 LTS 使用systemd作为服务管理器,开机自启动脚本可以通过systemd来管理一个服务,通过设置该服务来执行脚本,早些的做法是把自启动脚本通过rc.local文件来进行设置,但是在ubuntu中,管理这个文件的服务默认是不开启的,所以必须先配置rc-local.service,然后再建立rc.local文件来实现目的。
步骤1:修改 rc-local.service文件
首先,需要编辑 /lib/systemd/system/rc-local.service文件,原文件中没有[Install]部分,要自行添加[Install] 部分定义开机自启动的行为,修改为如图所示:
[Unit]
Description=/etc/rc.local Compatibility
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
步骤2:创建/etc/rc.local文件
由于Ubuntu默认不存在这个文件,需要手动在/etc 路径下创建 rc.local文件并添加自启动的脚本内容,假如我们的账户是John,在John的家目录下存在一个mount.sh的脚本文件,需要开机的时候系统自动执行这个脚本,那么在rc.local的文件中应该这样写:
#!/bin/bash
/home/John/mount.sh
exit 0
步骤3:修改/etc/rc.local的权限
sudo chmod +x /etc/rc.local
或者直接切换到root用户,在root用户的终端下执行
chmod +x /etc/rc.local
步骤4:启动rc-local.service
使用systemctl来启动服务
sudo systemctl enable rc-local.service
也可以使用
sudo systemctl start rc-local.service
或者直接切换到root用户,在root用户的终端下执行
systemctl enable rc-local.service
步骤5:查看rc-local.service的服务状态
使用systemctl来查看服务状态
sudo systemctl status rc-local.service
或者直接切换到root用户,在root用户的终端下执行
systemctl status rc-local.service