Ubuntu20.04配置开机自启动shell脚本

在上位机中,我们通常会想让他开机自动运行一些脚本,比如我就是想让他开机运行监听话题信息的脚本,这时候就需要配置一下。经过我的多次尝试,发现网上常见的修改service,编写rc.local在我这里不起作用,经过多次尝试,发现下文这种方式成功运行。

1.编写好你的脚本,并赋予可执行权限

我这里是boot.sh,放在了home/user/下面,编写时需要注意source路径,经过测试source ~/.bashrc在这里并不起作用,你需要在开头把所有用到的工作空间路径都source一下,要不然会提示找不到。

如下是我编写的boot.sh

#!/bin/bash

# Source the bashrc and ROS workspace setup
source /opt/ros/noetic/setup.bash//在这里放你需要source的路径
source /home/user/catkin_ws_1/devel/setup.bash #在这里放你需要source的路径
# Open a new gnome-terminal tab and start roscore
gnome-terminal --tab --title="ros" -- bash -c "roscore; exec bash" & #前面的ros是随便起的名,后面的roscore代表终端指令,exec bash代表运行后不杀掉终端

sleep 2s #代表等待2s

# Open a new gnome-terminal tab and run the rosserial_python node
gnome-terminal --tab --title="esp" -- bash -c "rosrun rosserial_python serial_node.py tcp; exec bash" &

sleep 1s

# Open a new gnome-terminal tab and run the test_pkg listener node
gnome-terminal --tab --title="listener" -- bash -c " rosrun test_pkg sub; exec bash" &

给出一个测试shell脚本,命名为test.sh

#! /bin/bash
echo "自启动成功"
sleep 1s
#cd /home/user/
#gnome-terminal -x bash -c "xxxxxxx;xxxxxxxxxxx;exrc bash"  //这里对应自己要开启的指令

赋予可执行权限

sudo chmod 777 test.sh

2.配置开机自启动

这里使用 gnome-session-properties
 这是 Ubuntu 自带的命令,可以在用户登录时自动执行某个程序
在终端输入:

gnome-session-properties

点击添加,选中一个已经编写好的脚本,添加即可

如下图


注意文件路径,文件路径可以打开终端用pwd指令获得,重新开机即可看到脚本指令自动执行

3.设置自动登录

由于此种方式是在用户登录之后才会运行,因此,还需要设置自动登录才能真正的开机自启动,无需人为干预。

在终端输入

sudo gedit /etc/gdm3/custom.conf

人为去掉选中的这两行的注释即可

把前面的#去掉,就大功告成了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值