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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM