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

  • #! /bin/bash
  • 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启动。

 

 


rc.local当中的数据如下所示:

ifconfig can1 down 使得某端口生效。

 

 



















posted on 2022-05-11 18:28  zhuxuekui3  阅读(227)  评论(0编辑  收藏  举报