ubuntu 開機自動執行

ubuntu開機自動執行

開機自動執行的程式有2種類型

* xwindow登入後自動執行 ←白話一點說就是:進入桌面後才自動執行
* ubuntu開機後自動執行 ←白話一點說就是:系統一開機就自動執行


*xwindow登入後自動執行

系統→偏好設定→作業階段 的初始啟動程式頁籤,自行新增即可

*ubuntu開機後自動執行

有下列3種方式

* 直接編輯 /etc/init.d/rcS ,放在最後面
* 編寫script檔後,放到 /etc/init.d目錄下
* 使用update-rc.d 指令

如果在 /etc/init.d 中加入一個 script,例如lampp,當作服務來啟動

* 1.手動啟用

sudo /etc/init.d/lampp start

或是下列指令

sudo invoke-rc.d lampp start

* 2.手動關閉

/etc/init.d/lampp stop

或是下列指令

sudo invoke-rc.d lampp stop

使用update-rc.d 指令

若需要開機時自動執行該服務,則必須製作相關的 link(連結檔) 放在 /etc/rc*.d 中。

若你去 /etc/rc*.d 這些目錄底下看,會看到很多檔案,它的檔名是有含意的

K 開頭是 kill ,

S 開頭是 start ,

數字順序代表啟動的順序,

除了手動放置連結之外,利用 update-rc.d 也可很方便的幫我們完成這件事。

update-rc.d 指令會自動幫各個rc*.d目錄下建立link至/etc/init.d/下所指定的執行檔

例如: ln -s /home/user/backup/iptables.sh /etc/init.d/iptables.sh

上面這行指令的意思即是:我有一個 iptables.sh 檔放在 /home/user/backup 這個資料夾內,建立一連結檔放在 /etc/init.d/ 這資料夾內並命名為 iptables.sh

然後再下這行指令

update-rc.d -f iptables.sh defaults

則它就會自動的把iptables.sh放到各個 rc*.d 的目錄裡去,並設定好啟動順序

另一個update-rc.d使用範例介紹:

想要一開機就啟用在 init.d 中的某個 script 的符號連結的話,可執行下面的指令:(設定 vsftpd 一開機就執行)

update-rc.d -f vsftpd defaults

想要在 runlevel 1,2,3 時以 20 的 sequencing priority number (normal) 來執行 /etc/init.d/lampp ,而在 runlevel 4,5 停止的話,可執行下面指令: (範例中的句點不可省略喔)

update-rc.d vsftpd start 20 1 2 3 . stop 20 4 5 .

想要移除在 init.d 中的某個 script 的符號連結的話,可執行下面的指令: (移去 vsftpd 一開機就執行的狀態)

update-rc.d -f vsftpd remove

最後可以 rcconf 來觀看 update-rc.d 設定後的結果,若沒有安裝可執行下列指令安裝

sudo apt-get install rcconf

原文出處: https://wiki.ubuntu.com/TIPs_of_use_ubuntu

本篇發表於 ubuntu。將永久鏈結加入書籤。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *