巧用Linux init控制六種登陸模式
init是Linux系統(tǒng)里的根進(jìn)程,是系統(tǒng)所有進(jìn)程的祖先。它的主要作用是根據(jù)記錄在/etc/inittab里的一個(gè)腳本(script)程序產(chǎn)生進(jìn)程。這個(gè)文件通常用于控制用戶的登錄模式。Linux系統(tǒng)的有效登錄模式有0~9共十種,不過(guò)沿用UNIX系統(tǒng)的至多6種的限制,一般只有1到6有效。
init一般在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行,也可以由root用戶調(diào)用。它的作用是切換系統(tǒng)的運(yùn)行狀態(tài)。它的命令格式是:init NUM〈回車〉,其中NUM表示1到6的任一數(shù)字。
6種模式中有兩種是系統(tǒng)內(nèi)定的:
0:停止系統(tǒng)運(yùn)行。init 0〈回車〉相當(dāng)于 halt〈回車〉。
6:重啟系統(tǒng)。init 6〈回車〉相當(dāng)于 reboot〈回車〉。
如果你了解/etc/inittab文件,就千萬(wàn)不要把0設(shè)為缺省登錄模式,否則你的Linux的運(yùn)行就只能兩點(diǎn)一線了——開機(jī)←→停機(jī),或者是開機(jī)←→重啟的無(wú)限循環(huán)。 其他的4種模式實(shí)際上是由操作系統(tǒng)確定的。如果你愿意修改Linux的源代碼,你也可以定義這4種(甚至6種)模式的實(shí)際功能。其實(shí)只要知道Linux發(fā)布廠商的約定就足夠了,下面我們就以藍(lán)點(diǎn)2.0為例,看看init的常用約定吧——
init 1——進(jìn)入單用戶模式。這和開機(jī)是選擇Safe Mode是一樣的,可以以root的權(quán)限對(duì)系統(tǒng)進(jìn)行管理,但是不能進(jìn)入圖形模式,也不支持中文,聲卡和網(wǎng)絡(luò)服務(wù)等就更不用提了??傊?,它是系統(tǒng)可運(yùn)行的最低軟硬件配置。 它和Windows的安全模式是比較相似的,但一個(gè)本質(zhì)的差別:在于只要你在Linux下運(yùn)行相應(yīng)的命令,硬件設(shè)備是可以在這種模式下被驅(qū)動(dòng)的。例如只 要你的光驅(qū)連線正確,一個(gè)mount /dev/cdrom命令,你的光盤內(nèi)容就隨時(shí)可以在/mnt/cdrom里讀出來(lái)。 要注意的是這一模式的字符控制臺(tái)不能支持中文,但進(jìn)入Xwin仍然能看到藍(lán)點(diǎn)漂亮的中文字體,輸入法也完全沒(méi)有問(wèn)題。
init 2——進(jìn)入無(wú)網(wǎng)絡(luò)服務(wù)的多用戶模式 如果你的計(jì)算機(jī)根本沒(méi)有連網(wǎng),這個(gè)模式就跟普通模式一樣了。否則的話別人就不能通過(guò)網(wǎng)絡(luò)www、ftp或telnet登錄你的計(jì)算機(jī)了,但對(duì)與ping 命令你的計(jì)算機(jī)還是會(huì)作出反應(yīng)的。如果連ping你也拒絕訪問(wèn),那么就不如直接把網(wǎng)線拔了! 如果你的計(jì)算機(jī)作為網(wǎng)絡(luò)服務(wù)器,這一模式就挺有用了。譬如你要修整系統(tǒng)或更新網(wǎng)站內(nèi)容,就可以把計(jì)算機(jī)調(diào)到這一模式,然后放心的進(jìn)行你的工作,等工作完成 后再切換到模式3或5就行了。但注意如果原來(lái)已經(jīng)有用戶ftp或telnet進(jìn)入了你的系統(tǒng),用init 2 是不能中斷他和你的連接的,小心讓別人在這個(gè)時(shí)候黑你一把哦!——執(zhí)行init 2前先用who命令檢查一下吧。 這一模式下,在本機(jī)上的使用基本不變。你仍然可以訪問(wèn)網(wǎng)絡(luò),上Internet,ftp或telnet到網(wǎng)絡(luò)中的任何一臺(tái)服務(wù)器。只是你的計(jì)算機(jī)在網(wǎng)絡(luò)中不給其他機(jī)器提供服務(wù)而已。計(jì)算機(jī)從第3運(yùn)行級(jí)轉(zhuǎn)入這一模式時(shí)你會(huì)看到一系列網(wǎng)絡(luò)服務(wù)被停止。
init 3或init 4——進(jìn)入控制臺(tái)登錄的多用戶模式 這是藍(lán)點(diǎn)1.0的默認(rèn)登錄模式,每個(gè)用戶都要先從黑白屏幕登錄之后才可以運(yùn)行才能startx進(jìn)入KDE精彩的圖形世界。而且Xwin啟動(dòng)后,運(yùn)行 startx的控制臺(tái)就被鎖定了,除非你用startx &把Xwin放到后臺(tái)運(yùn)行。要到別的控制臺(tái)用Ctrl+Alt+F*,*表示數(shù)字1到6中任一個(gè),Ctrl+Alt+F7則回到圖形模式專用的7 號(hào)控制臺(tái)(有時(shí)要用Ctrl+Alt+F8)。 如果是從init 1 或init 2切換回init 3,我們可以看到一系列服務(wù)被重啟。
init 5——進(jìn)入圖形化登錄的多用戶模式 這是藍(lán)點(diǎn)2.0安裝后默認(rèn)的啟動(dòng)模式。系統(tǒng)啟動(dòng)后或執(zhí)行init 5命令后,悅目的藍(lán)綠過(guò)渡色背景上就出現(xiàn)了漂亮的登錄窗口。 所有帳號(hào)名都以圖標(biāo)的方式出現(xiàn)在窗口里等待選擇,不必自己輸入。不過(guò)系統(tǒng)管理員可能不高興——這樣系統(tǒng)里有多少用戶豈不是讓人一目了然?不過(guò)在KDE控制中心中修改就可以解決問(wèn)題的,我就不多說(shuō)啦。 如果系統(tǒng)出了問(wèn)題,只要啟動(dòng)仍然能進(jìn)入這個(gè)界面(說(shuō)明X服務(wù)器沒(méi)有問(wèn)題),root帳號(hào)也可以從這里進(jìn)入Linux的安全模式,就是在左下角的選擇框把 模式從kde換為save failed就行了。當(dāng)然進(jìn)入的界面絕對(duì)沒(méi)有美觀可言,但用于修復(fù)X窗口管理器或應(yīng)用程序的問(wèn)題是必不可少的。
登錄窗口剛出現(xiàn)時(shí)1到6控制臺(tái)常常都是鎖定的。但在某個(gè)用戶登錄成功或失敗后,1到6的控制臺(tái)就會(huì)變得全部可用。是不是有點(diǎn)莫名其妙?有時(shí)你還要在切換之后多按幾個(gè)回車甚至Ctrl+C才行呢。 現(xiàn)在就來(lái)解決文章開頭所提的第二個(gè)問(wèn)題吧——方法有兩種:傳統(tǒng)的方法就是root運(yùn)行setup命令,重新配置X窗口系統(tǒng),指定下次系統(tǒng)啟動(dòng)時(shí)不自動(dòng)進(jìn) 入圖形模式;另一種方法就是到控制臺(tái)1到6的其中一個(gè),鍵入init 3〈回車〉,圖形登錄窗口就會(huì)從7號(hào)控制臺(tái)消失了,任何用戶都可以使用startx登錄系統(tǒng)。
【編輯推薦】