1. 程式人生 > 實用技巧 >Linux開機自啟動的幾種方式

Linux開機自啟動的幾種方式

Linux開機自啟動的幾種方式:

作業系統:linux mint 17.3

第一種方式:在/etc/rc.local檔案中加入啟動命令

這種方式適合linux使用者手動配置自啟動程式。
第二種方式:在/etc/rc[0-6].d/目錄建立軟連結,軟連結指向/etc/init.d/目錄下的控制指令碼

下圖可以看出/etc/rc2.d目錄下的檔案指向路徑是/etc/init.d下的指令碼檔案

/etc/rc[0-6].d目錄下檔案的命名規則:S|K + nn + script

0-6是linux作業系統的執行級別,執行runlevel檢視當前執行級

執行級別0:系統停機狀態,系統預設執行級別不能設為0,否則不能正常啟動
執行級別1:單使用者工作狀態,root許可權使用者,用於系統維護,禁止遠端登陸
執行級別2:多使用者狀態(沒有NFS)
執行級別3:完全的多使用者狀態(有NFS),登陸後進入控制檯命令列模式
執行級別4:系統未使用,保留
執行級別5:X11控制檯,登陸後進入圖形GUI模式
執行級別6:系統正常關閉並重啟,預設執行級別不能設為6,否則不能正常啟動

S|K,S開頭命名的是開機要執行的指令碼,K開頭命名的是關機要執行的指令碼
nn取值0-100,表示優先順序,數字越大,優先順序越低
script是軟連結指向的指令碼的檔名

/etc/init.d目錄下的控制指令碼接受引數start|stop|restart|status|force-reload

update-rc.d命令為/etc/init.d目錄下的指令碼建立或刪除到/etc/rc[0-6].d的軟連結

增加一個服務

        新增這個服務並讓它開機自動執行           
        update-rc.d apache2 defaults
       並且可以指定該服務的啟動順序:
       update-rc.d apache2 defaults 90
       還可以更詳細的控制start與kill順序:
       update-rc.d apache2 defaults 20 80
       其中前面的20是start時的執行順序級別,80為kill時的級別。也可以寫成:
       update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .

       其中0~6為執行級別。

刪除一個服務

       update-rc.d -f apache2 remove

第三種方式 設定程式的.desktop檔案

通過將應用程式的.desktop檔案放在自啟動目錄下,那麼當用戶登陸桌面環境時,就會自動啟動這些應用程式。

linux中自啟動目錄是$XDG_CONFIG_DIRS/autostart和$XDG_CONFIG_HOME/autostart這兩個,可以列印看一下,有的可能只有其中一個。

把設定好的.desktop放在這兩個目錄下,那麼指定的程式就會在桌面環境啟動時啟動,當兩個自啟動目錄同時存在相同的檔案時,只會執行其中一個($XDG_CONFIG_HOME)。

program.desktop檔案寫法:

[Desktop Entry]
Name=program
Exec=/usr/bin/program
Type=Application
Comment=my program

只需要有這關鍵的幾行就可以了,Exec的路徑一定要正確。.desktop檔案還有其他定製項,可參考其他文章。

NOTE:

第二種和第三種方式,更適合的應用場景是開發者打包安裝包的時候,寫入到安裝指令碼,這樣就不用使用者手動操作去新增自啟動項了
https://me.csdn.net/Aggressive_snail