ubuntu PC/嵌入式 开机启动项问题
在程序设计中,一般需要做开机自启动处理。
这里我们有很多种方法实现开机自启动。
1,通过 autostart
主要是通过gnome-terminal-property 实现。
参考链接:
https://blog.csdn.net/qq_41628231/article/details/81367109 ubuntu开机自动运行roscor和其他程序的方法(进入ubuntu图形界面)
1)开启ubuntu图形界面自动登录
点击 设置->用户帐号->解锁->打开自动登录
2)创建.sh脚本文件,如命名autoLoad.sh
-
-
source /opt/ros/kinetic/setup.bash
-
roscore
3)修改.sh文件权限
sudo chmod 777 autoLoad.sh
4 )打开启动应用程序首选项
gnome-session-properties
5)点击添加按钮,出现如下画面,名称与注释可以任意填写,命令填写如下
gnome-terminal -x /home/yl/autoLoad.sh
6)点击保存后关机重启,roscore便自动运行
note:如果想保持终端窗口,并且还想运行多个程序,则需要另外打开新的终端,执行相关程序,.sh文件可参考如下写法
#! /bin/bash
source /opt/ros/kinetic/setup.bash
gnome-terminal -t "roscore" -x bash -c "roscore;exec bash;"
gnome-terminal -t "gazebo" -x bash -c "gazebo;exec bash;"
gnome-terminal -t "title-name" -x bash -c "command;exec bash;"
-t 为打开终端的标题,便于区分。
-x 后面的为要在打开的终端中执行的脚本或命令,根据需要自己修改就行了。
最后的exec bash;是让打开的终端在执行完脚本后不关闭。
2、通过rc.local实现
我们可以在 rc.local中添加 想要启动的程序。
/etc/rc.local
例如: cansocket 实例当中,can0 ,can1 已经自启动完成了。这是写在了 rc.local当中的,且该启动项先于 autostart启动。
![](https://img2022.cnblogs.com/blog/591534/202205/591534-20220511182001402-921131189.png)
rc.local当中的数据如下所示:
ifconfig can1 down 使得某端口生效。
![](https://img2022.cnblogs.com/blog/591534/202205/591534-20220511182128985-1960902906.png)