Ubuntu使用GNOME桌面系统。它使用启动应用程序来设置启动项,可以在终端输入如下命令启动图形化设置界面。
启动图形化界面命令:
gnome-session-properties
接下来设置开机自启动:
ubuntu系统:melodic
假设启动的launch文件为:start_run 功能包内的start_run.launch。
**
第一步
**在start_runs功能包下创建启动脚本start.sh
之后打开start.sh将以下内容复制进去。注意将文件路径改为自己的路径。
正确代码:
#!/bin/bash
source /opt/ros/melodic/setup.bash
source /home/sun/dev/catkin_ws/devel/setup.sh
roslaunch start_run start_run.launch
exit 0
代码解释:
将系统的环境变量加入:
source /opt/ros/melodic/setup.bash
将自己的工作环境变量加入:
source /home/sun/dev/catkin_ws/devel/setup.sh
错误代码:
网上有很多教程,刚开始我将start.sh中写了以下代码,发现开机无法启动,系统环境变量应该是setup.bash,自己的工作环境变量应该是setup.sh。
source /opt/ros/melodic/setup.sh
source /home/sun/dev/catkin_ws/devel/setup.bash
roslaunch start_run start_run.launch
第二步
sh文件的权限必须是可行的,必须进行以下设置。
sudo chmod +x /home/sun/dev/catkin_ws/src/start_run/start.sh
如果权限不可行,在运行时会出现以下错误:
创建此终端的子进程时出错(权限不够)
第三步
启动图形化界面,添加启动项,并设置。
1.启动命令:
gnome-session-properties
2.命令中写:bash sh地址
如果后台运行,不弹出命令窗口:
bash /home/sun/dev/catkin_ws/src/start_run/start.sh
如果想要弹出命令窗口:(正确代码)
gnome-terminal -- /home/sun/dev/catkin_ws/src/start_run/start.sh
我按照网上写的命令代码输入后,提示无效,以下是错误代码,正确代码是上面的。
gnome-terminal -x /home/sun/dev/catkin_ws/src/start_run/start.sh
3.保存
最后
上述操作完成后,系统在每次启动后,会开启一个终端窗口,并执行脚本中的launch文件。