树莓派Ubuntu mate 18.04设置开机自启,自动执行ROS launch文件

此方法目前已知只适用于Ubuntu mate 18.04,Ubuntu 18.04无法使用该方法。

Ubuntu mate弃用了rc.local,经过尝试使用cron和gnome工具也自启动失败了。在查阅系统日志时无意中发现了该方法。该方法不适用于Ubuntu,因为ubuntu的.config目录下没有autostart目录。

一、写bash脚本

比如,我们现在需要让树莓派开机自动执行指令roslaunch ros_package_name launch_name.launch

我们需要写一个bash脚本来执行该指令。假设该脚本名称为start.sh,那么其内容为:

#! /bin/bash
source /home/user/catkin_ws/devel/setup.bash
roslaunch ros_package_name launch_name.launch
exit 0

给该文件执行权限。

sudo chmod +x start.sh

假设这个脚本文件被我们放在了/path/to/start.sh绝对路径下。


二、设置开机自启动

假设开机默认进入用户为user,进入以下目录:/home/user/.config/autostart/,也就是用户主目录下的.config/autostart/目录下。

在里面创建一个后缀名为.desktop的文件,假设为start.desktop,将以下内容写进文件

[Desktop Entry]
Type=Application
Name=My Bash Script
Exec=/bin/bash /path/to/start.sh
Terminal=false

[Desktop Entry]表示是载入桌面时自启动

Type=Application表示这是一个应用

Name=My Bash Script表示该条目的名称,也就是在系统日志上显示的名称

Exec=/bin/bash /path/to/start.sh表示用bash解释器执行start.sh脚本

Terminal=false表示不显示终端,这个我尝试设置过true,但是不能执行

现在重新启动树莓派,等待一段时间后就会执行launch文件,这个是不显示终端的,可以通过rosnode list指令查看当前ros节点

 

你可能感兴趣的:(ubuntu,linux,人工智能,bash)