轉到kubuntu之前曾經學習了一下,了解到ubuntu在6.10開始用upstart替代init,主要腳本都在/etc/event.d下面,默認情況下/etc下沒有inittab文件。
剛裝上kubuntu時候專門到/etc/event.d下看了一下,特別注意到rc-default這個腳本,里面有一段內容:

說明默認情況下inittab雖然不存在,但是用戶建立的inittab還是會被注意到的。
然后又經別人的指點看了一下/usr/share/doc/upstart/下面的文檔,其中README.Debian中有這么一段內容:
這就給我這樣一個印象,即雖然ubuntu用upstart替代init,但還是和init保持兼容。
今天正好需要將系統直接啟動到字符界面下,即不啟動kdm。

那就試試自建一個inittab文件,并按照以前的習慣寫入一行id:3:initdefault: ,保存后重新啟動,結果發現毫無變化,依然啟動到桌面,有點納悶,難道inittab不起作用?在終端里輸入runlevel檢查當前狀態,顯示 N 3,說明inittab有效果,那是什么原因呢?
將剛才建立的inittab移除,將系統恢復到之前的狀態并重新啟動,再用runlevel檢查,顯示 N 2,說明ubuntu系統的default runlevel可能是2,這和我以前的常識有些沖突,看來又需要學習了。
先去分別查看/etc/rc2.d至rc5.d下的內容,發現基本一致,都啟動了kdm。這與其他的linux發行版不太一致,通常runlevel 3是Multi user mode,即直接登錄到字符界面;而runlevel 5是Multi user mode with GUI,即登錄到圖形界面。
后來在Debian的FAQ里面搜索到這樣的內容:

小區別就在這里了,看來debian以及衍生出來的發行版,如ubuntu的default runlevel確實是2,而且id 2至5都是一樣的。
真相大白,再次建立inittab,寫入id:3:initdefault: ,然后進入/etc/rc3.d,將S13kdm移動到其他目錄備份起來,重新啟動系統,如愿以償進入字符界面。