我想 你是要問:
你在 80x25 的 純文字黑白視窗中
自己打 "startx"
跟 打 "telinit 5"
有什麼不一樣 是吧?
1.
你在 runlevel 3 時, 預設 是不會自動跑 X
runlevel 5 則是 預設 會跑 X (而且 還有 X 的 login 畫面)
2.
手動打 "startx" 不會有 X 的 login 畫面出現!
(因為 你是已經 先login 進去了 才可能可以執行 "startx"命令! )
runlevel 5 則是 預設 用 X 的 login 畫面 等待 user登入
3.
"telinit 5" 其實 是進入 runlevel 5
而 runlevel 5 的預設值 就是會啟動 X
(這是因為runlevel 5 的設定值的關係, 所以 你才會看到X圖形介面啟動!)
4.
runlevel 5 會跑 X 最大的原因在
/etc/inittab 裡面的一行:
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
inittab 是 pid=1 的那個 init 程式 在看的東西!
第二個欄位 就是 runlevel
你裡面填 "5", 所以 runlevel 5 的時候 "init"程式 就會去執行 inittab檔案裡面的第四個欄位的東西
在這邊 就是 跑 "/etc/X11/prefdm"
這也是 為什麼 runlevel 會有圖形化的 login 畫面!
5.
runlevel 3 跟 runlevel 5
很可能會 提供/不提供 許多服務
至於 runlevel 3 跟 runlevel 5 分別會提供什麼服務
你要看 rc3.d 跟 rc5.d 裡面的檔案:
第一個英文字 不是 "K" 就是 "S"
第2~3固定是數字
第四個字之後 才是 init.d 裡面的服務的名稱
第一個 "K" 就表示 後面這服務, 在這個 runlevel 是 "不啟動" 的!
相反的 若第一個字 是 "S", 那就是 "會啟動"該服務!!
第2~3 個數字 則表示 啟動時的順序! 數字越小 越先啟動
... 你總不能 讓 mail/http/ftp.. 一堆網路服務都啟動完了 你才開始準備要啟用 network 服務吧!?
所以 這數字 是這服務的優先順序 也算是重要性
..... 所以 前面幾個(數字小的) 大概都是系統的 syslog/network 等驅動
關機/離開該 runlevel 時, 停止(stop)服務的順序 則是相反順序!!
後啟動的服務 最先停止! 先啟動的服務 最後才停止!!
你可以試著 手動 把 rc5.d 裡面的 "S85httpd" 改名為 "K15httpd" (數字可能不會一樣!)
然後 在 runlevel 3 中 打 "telinit 5" 看看!!
看你現在 web 還跑不跑
(其實 chkconfig 就是在做這件重要的工作: 改檔名!! :p)