树莓派设置ROS程序开机自启动

本文介绍在树莓派baspbainstretch系统中,通过在/etc/init.d/目录下创建并配置脚本来实现ROS程序开机自动启动的方法。包括修改/bin/sh指向bash,创建并设置启动脚本权限,以及如何将脚本加入或移除启动列表。

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

参考自Linux 设置开机启动项的几种方法
本人在树莓派baspbain stretch系统上设置ros程序的开机自启,曾使用robot_upstart包,最后选择了在/etc/init.d/文件夹中加入脚本的方法。

修改/bin/sh指向

查看/bin/sh指向哪个shell

ls /bin/sh -al

若指向的是dash,将其修改为bash

sudo dpkg-reconfigure dash

选择no则修改为了bash
也可以选择不修改,那么在脚本里需要将source xxxx.bash,改成./xxxx.sh

加入启动脚本

将要启动的所有launch文件,写进一个launch中
/etc/init.d/文件夹下加入文件turtlebot3_bringup2
我的文件内容为:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          turtlebot3_bringup
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: turtlebot3_bringup 
# Description:       turtlebot3_bringup 
### END INIT INFO
source /opt/ros/kinetic/setup.bash
source /home/pi/catkin_ws/devel/setup.bash
roslaunch turtlebot3_bringup turtlebot3_bringup.launch > /home/pi/catkin_ws/turtlebot3_bringup.log 2>&1
exit 0

设置权限:

sudo chmod 755 /etc/init.d/turtlebot3_bringup2
将脚本加入启动列表
cd .etc/init.d
sudo update-rc.d turtlebot3_bringup2 defaults 95

95是脚本启动的顺序号,按照自己的需要相应修改即可。
然后重启,即可。

将脚本从启动列表中剔除的方法:

cd /etc/init.d
sudo update-rc.d -f turtlebot3_bringup2 remove
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值