ubuntu的預設開機的runlevel是2,可以用runlevel來檢視當前的預設執行級別。
debian系(ubuntu是基於debian)的linux一直是用runlevel 2來預設啟動,並且runlevel定義也與redhat有區別。debian的runlevel級別定義如下:
0 – halt,關機模式
1 – single,單使用者模式
2 - full multi-user with display manager (gui)
3 - full multi-user with display manager (gui)
4 - full multi-user with display manager (gui)
5 - full multi-user with display manager (gui)
6 – reboot,重啟
可以發現2~5級是沒有任何區別的。他們為多使用者模式,這和一般的linux不一樣。而redhat的runlevel級別定義如下:
0:關機。不能將系統預設執行級別設定為0,否則無法啟動。
1:單使用者模式,只允許root使用者對系統進行維護。
2:多使用者模式,但不能使用nfs(相當於windows下的網路上的芳鄰)
3:字元介面的多使用者模式。
4:未定義。
5:圖形介面的多使用者模式。
6:重啟。不能將系統預設執行級別設定為0,否則會一直重啟。
這裡補充一下,多數的linux都是用一種叫system v的機制來啟動執行級別,而ubuntu使用upstart代替init啟動系統程序。所以沒有那個inittab檔案來改預設執行級別。ubuntu 的預設執行級別檔案是/etc/init/rc-sysinit.conf。
成功的方法:
第一種方法:(核心級別的)
sudo vi /etc/default/grub
修改grub_cmdline_linux_default=」quiet splash」
為:grub_cmdline_linux_default=」 text」
然後執行下sudo update-grub2就可了
第二種方法:(基於upstart的」正統」方法)
ubuntu的upstart的體系下,/etc/init.d裡面基本上都是連線到/lib/init/upstart-job的軟連線,所以,對 initscripts的請求全部轉化為upstart事件,upstart系統對啟動專案的管理全部根據/etc/init裡面的配置檔案來啟動,可以啟動lightdm的事件就讓人咂舌
編輯檔案 /etc/init/lightdm.conf
start on ((filesystem
and started dbus
and (graphics-device-added fb0 primary_device_for_display=1
or drm-device-added card0 primary_device_for_display=1
or stopped udevtrigger))
or runlevel prevlevel=s)
stop on runlevel [016]
可見,一旦發生檔案系統初始化,dbus匯流排啟動和發生graphics-device-added fb0 primary_device_for_display=1 or drm-device-added card0 primary_device_for_display=1 or stopped udevtrigger or runlevel prevlevel=s這裡面的任何乙個事件,gdm就會被啟動,只在執行級別在016的時候,gdm不啟動。
所以,事件也就明了了、要在upstart層面乾掉gdm,把上面的啟動相關事件注釋掉,改寫下就行了
由於ubuntu 預設模式為2,所以:
start on (filesystem
and started dbus
and (graphics-device-added fb0 primary_device_for_display=1
or drm-device-added card0 primary_device_for_display=1
or stopped udevtrigger)
and runlevel [345])
stop on runlevel [0126]
重啟。第三種方法:
1、阻止預設圖形桌面啟動
ubuntu 12.04預設的開機會進入乙個圖形介面,他是由lightdm程序來實現的。
首先要做的,就是阻止這個lightdm的程序開機啟動。 做法:
(1)、檢視檔案/etc/init/rc-sysinit.conf,在第14行附近:確認「env default_runlevel=2」。2是新裝系統預設的,確保不被修改。
(2)、編輯檔案 /etc/init/lightdm.conf,在第12行附近,原句「 and runlevel [!06]」 改為「 and runlevel [!026]」。
解釋:linux系統都有乙個執行級別(runlevel)的概念,不同的執行級別配置將導致系統的啟動過程有很大差異,比如當配置 runlevel為 1是,是不進入圖形介面的。系統啟動過程中會有乙個init程序來拉起許多其他程序(各種系統服務,視窗介面)。在ubuntu上(11.10,12.04是這樣,其他版本或其他linux發行版不確定)init會執行兩個目錄下的指令碼,乙個是/etc/init/下的,另乙個是/etc/rc?.d/下的,問號可能是0~6的其中乙個數字,代表執行級別。接下來,講解一下流程以加深理解。
在ubuntu上,init程序首先執行/etc/init/目錄下的rc-sysinit.conf,這個檔案指明了本次啟動的預設執行級別。這是上面第一步的意義:確保預設執行級別是2。接下來目錄/etc/init下的其他指令碼的執行都會根據不同的執行級別做出不同的動作,比如lightdm會判斷執行級別是否處於1,2,3,4,5中的乙個,是則啟動lightdm,不是則不啟動lightdm。這便是上面第二步的意義,修改 lightdm.conf ,把「2」加入到判斷語句,使得lightdm在執行級別2的時候不要啟動。明白了這些,你就可以靈活一點,例如把預設級別設定為3,而把3加入那個判斷語句,也可以達到阻止lightdm啟動的效果。完成了/etc/init/目錄下的啟動動作,init程序會繼續執行/etc/rc2.d目錄下的指令碼。
2、關閉ubuntu的載入畫面
ubuntu啟動時,會有乙個ubuntu字樣出現在螢幕,文字下方有閃爍的點,這時按esc可以在動畫和文字介面之間切換。這一步驟不屬於lightdm,而是乙個叫 plymouth 的程序在起作用。實際上,plymouth的意義就在於,在開機到圖形桌面 (lightdm)起來這段時間裡展示出乙個動畫,從而提高使用者體驗。
遮蔽的方法:
grub_cmdline_linux_default="quiet splash"
去掉」splash「,改後:
grub_cmdline_linux_default="quiet"
(2)、執行命令:
sudu updat-grub
重啟,即可看到,不再有載入畫面出現。
ubuntu修改預設執行級別
由於之前自己學習的時候都是 使用的centos6.5,這幾天聽老師說要用ubuntu來上課,我看不來xwindows就想改啟動為命令列後面發現不一樣,centos就是改inittad檔案就好,而ubuntu卻要像下面一樣,等我以後搞明白了,再來補充現在先做乙個記錄 vi etc default gr...
Ubuntu修改系統預設啟動級別
圖形介面與終端控制台的互動 ctrl alt fn n 1 進入登陸介面 n 2 進入圖形介面 n 3 進入終端控制台 設定開機啟動為圖形介面或者終端控制台 sudo systemctl set default multi user.target sudo reboot 重啟後進入終端控制台 出現下...
Ubuntu下修改系統的預設啟動級別
想自定義ubuntu系統是預設以圖形介面啟動還是以命令列形式啟動,現在我的ubuntu版本是ubuntu 16.04,嘗試了網上的兩種方法 修改 etc x11 default display manager檔案或者修改 etc default grub檔案,都不行。然後嘗試了下面的方法即可解決,u...