ubuntu 20.04设置开机自启动脚本

文章介绍了如何在Ubuntu20.04中设置开机启动服务。首先,通过编辑/lib/systemd/system/rc-local.service文件,添加[Install]段,使rc-local服务能在开机时运行。接着,创建/etc/rc.local文件并赋予执行权限。最后,展示了创建一个bash脚本来实现开机自动执行roslaunch命令的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 建立开机启动服务

在 路径下 /lib/systemd/system/rc-local.service 的 rc-local.service 的脚本,内容规定了 rc.local 的启动顺序和行为

 这行代码规定了这个service在开机启动时所执行的命令是:/etc/rc.local start。即运行 /etc/rc.local 脚本。不过可以看出,这个脚本的内容少了 [Install] 段,也就是说,没有定义如何做到开机启动,所以显然这时这个service是无效的。 因此我们就需要在后面帮他加上 [Install] 段

2、修改 rc-local.service 文件,添加  [Install] 段 

sudo chmod 777 /lib/systemd/system/rc-local.service 赋予修改权限,然后加入以上[Install]  的语句 

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

3、然后设置该 rc-local.service 服务开机启动:

systemd 默认读取 /etc/systemd/system 下的配置文件, 所以还需要在 /etc/systemd/system 目录下创建软链接

sudo systemctl enable rc-local.service

4.创建 /etc/rc.local 

Ubuntu 20.04 默认不存在 /etc/rc.local。需要自己创建 touch /etc/rc.local

 

注意:调用 sh 脚本最后必须加上 & 是让脚本启动后在后台运行的作用, 否则可能会一直卡在开机界面

然后执行以下命令赋予 /etc/rc.local 执行权限,这步一定要有,否则没效果的

  1. sudo chmod 777 /etc/rc.local

  2. # 或者

  3. sudo chmod +x /etc/rc.local 

 查看 rc-local服务的状态,显示 loaded 和 enabled

sudo systemctl status rc-local.service

 

5.开机自启动ros launch文件

#!/bin/bash
 
source /home/ros/catkin_ws/devel/setup.bash
Comand='roslaunch bringup navigation_bp.launch';
 
echo "------>" $Comand;
exec $Comand;
 
exit 0

注意:第一行的   “ #!/bin/bash ” 必须要!

 参考链接:

Ubuntu 20.04 设置开机自启脚本_ytusdc的博客-优快云博客_ubuntu20开机自启动脚本

另外,在 bash脚本里添加一键加入 虚拟环境,见:

python3使用bash脚本source venv/bin/activate 一步进入虚拟环境_小明太难了的博客-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事如yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值