国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

ubuntu開機后ROS程序自啟動問題

瀏覽:140日期:2023-03-07 14:40:38
目錄
  • 一、ubuntu免密開機
  • 二、程序腳本啟動
  • 三、文件賦予權限
  • 四、開機啟動項管理器
  • 五、需要SUDO權限的腳本開機自啟動
  • 總結

平時有用到一些機器人或者帶有ubuntu系統的移動設備,比如NVIDIA TX2,NVIDIA XAVIA, JetsonNANO,秒算,工控機等等,寫好了程序后,如果想要運行,開機之后還得連接鍵盤鼠標,顯示器,等程序運行之后還需要重新拔掉鍵盤鼠標顯示器等等,步驟繁瑣是一部分,還有可能因為反應不及時發生危險,尤其對于無人機等,因此需要配置程序開機自啟動。

一、ubuntu免密開機

路徑:系統設置–用戶設置

二、程序腳本啟動

可以創建test.sh文件,將程序所需要運行的指令全部加入sh文件中。

例如:

#! /bin/bashgnome-terminal -- bash -c "cd /home/xxx/Desktop/CSDN/test_demo/build;mkdir helloworld" & sleep 5waitexit 0

說明:

  • gnome-terminal --bash -c:會打開一個新的bash終端并執行c后面的語句。linux bash是一個命令處理器,通常運行于文本窗口中,并能執行用戶直接輸入的命令;Bash還能從文件中讀取命令,這樣的文件稱為腳本。語句用’;;’,隔開,最后的sleep 5表示延遲5秒退出,這樣就可以在新的終端看到運行效果,添加這個延時是為了方便驗證是否啟動程序或者節點
  • 如果是ubuntu 18.04以前的系統:gnome-terminal -x bash -c;ubuntu18.04以后的系統輸入:gnome-terminal – bash -c
  • gnome-terminal --tab:同一終端窗口中打開一個新選項卡。而是打開一個新窗口。

三、文件賦予權限

chmod指令詳細說明,請參考:【ubuntu】chmod命令

chmod 777 test.sh

四、開機啟動項管理器

gnome-session-properties是ubuntu的開機啟動項管理器。如果之前編寫的sh文件,不需要sudo權限,即可將sh文件加入gnome-session-properties自啟動管理器中即可。

終端輸入:gnome-session-properties

添加執行項目。其中command為你編寫的腳本路徑,name和comment可以隨意配置。

五、需要SUDO權限的腳本開機自啟動

有的時候,我們的設備連接外部設備,需要打開串口,甚至是gpio口,這需要使用到權限,串口可以通過添加rules來設置為普通用戶,但是之前在DJIManifold產品上需要程序對GPIO口進行設置,這個時候就需要用到sudo權限了,因為在進入sudo權限需要輸入密碼,這就不好完成開機自啟動。

此時就需要利用shell腳本自動輸入密碼

指令:echo "password" | sudo -S "./test.sh"

后續還需要做三步操作:

給文件運行權限

sudo chmod 777 start.sh

設置腳本自啟動

gnome-session-properties

保持gnome-terminal窗口執行后不立刻關閉

在測試中會發現,gnome-terminal命令執行完會一閃而過,自行關閉。需要添加read命令,read命令是等待用戶按下回車后使窗口關閉。

gnome-terminal -x bash -c "echo \"OK now\"; read"  

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

標簽: Linux Apache
主站蜘蛛池模板: 仙桃市| 民和| 新泰市| 临城县| 阜宁县| 湖北省| 逊克县| 定兴县| 旅游| 旺苍县| 商丘市| 西华县| 吴桥县| 泸定县| 大洼县| 仁化县| 竹溪县| 咸丰县| 姚安县| 大丰市| 图们市| 巫山县| 云南省| 遵义县| 白玉县| 平阴县| 友谊县| 台东县| 巴塘县| 南澳县| 松原市| 永仁县| 柳州市| 军事| 湖南省| 富宁县| 镇坪县| 社会| 台南县| 麻栗坡县| 博罗县|