關於ubuntu14 04 4的執行級別及其更改

2021-07-15 22:09:30 字數 3501 閱讀 4171

ubuntu預設開機的runlevel是2,可以用runlevel命令來檢視當前的預設執行級別。

ubuntu一直是用runlevel 2來預設啟動,並且ubuntu的runlevel定義也與redhat有區別。ubuntu執行級別定義如下:

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。

下面介紹一些ubuntu系統開機啟動終端(而非圖形介面)的成功方法:

第一種方法:(核心級別的)

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

重啟,即可看到,不再有載入畫面出現。

關於 Protocol Buffer 的簡單運用

最近專案中,有使用到protobuf,但只是用來作為資料結構流儲存資料到資料庫,因此,只是用到及少部分內容 首先,需要建立乙個字尾名為.proto的檔案,暫定其名為test.proto,此檔案是protobuf的預讀檔案.其格式為 package rt message protodata repea...

關於埠的運維處理

可以使用telnet來判斷埠是否正常 已經執行的埠命令 netstat ntlp 檢視防火牆埠命令 service iptables status 注意只有執行的埠才能使用telnet連線 1.使用vi或者vim開啟iptables配置檔案 vi etc sysconfig iptables 2.在...

關於運放的選型引數

需要選型一款功放,對比著立創 看引數,有些迷 記錄一下。運放的一般知識 一般可將運放簡單地視為 具有乙個訊號輸出埠 out 和同相 反相兩個高阻抗輸入端的高增益直接耦合電壓放大單元,因此可採用運放製作同相 反相及差分放大器。運放的供電方式分雙電源供電與單電源供電兩種。對於雙電源供電運放,其輸出可在零...