ubuntu PC/嵌入式 開機啟動項問題
阿新 • • 發佈:2022-05-11
在程式設計中,一般需要做開機自啟動處理。
這裡我們有很多種方法實現開機自啟動。
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啟動。
rc.local當中的資料如下所示:
ifconfig can1 down 使得某埠生效。