1. 程式人生 > 其它 >ubuntu PC/嵌入式 開機啟動項問題

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 使得某埠生效。