Linux中終端介面與圖形介面之間的切換關係
其實單純的從 介面與圖形介面之間的切換是很容易的,就那麼幾個 ,但是要徹底弄懂這背後的設計架構需要涉及到很多的概念,本文為你講解Ubuntu 18.10作業系統中的X Window,內容是瞭解自己機器上的 X Window、理解 display 和虛擬控制檯、遠端連線 X Server、理解 DisplayManager 和 X Window 桌面環境的啟動過程和執行巢狀的 X Server等這些基本概念。 |
X Window不是某一個具體的窗體介面,X Window 本質是一個分層的架構,它分為 Server 和 Client。X Server 負責圖形介面的顯示和使用者的輸入,而Client 程式需要連線到 X Server,然後請求 X Server 繪製圖形介面,同時從 X Server 接受使用者的輸入。在桌面系統上,X Server 和 Client 程式往往安裝在同一臺機器上,日常使用基本感覺不到它是分層的。就像我們的一臺電腦,X Server和Client是在同一臺電腦的。
既然X Window是分層的架構,很顯然,X Server 和 Client 也可以分別執行在不同的機器上,在一臺機器上執行程式,而在另外一臺機器上顯示圖形介面。
很多人考到這裡就有點蒙了,我們在編寫網站的時候也有Server-Client分層架構啊,那這有區別嗎?當然有了。
X Window 中的 Server 和 Client 的概念和我們平時接觸到的“Server/Client”概念剛好相反。很多熟悉 Internet 原理的人,第一次接觸 X Window 的這兩個概念都會搞錯。在Internet裡面的Server/Client,是Server負責處理相關的業務,然後將結果返回到Client客戶端,但是X Window恰好是相反的,它是Client負責處理,Server負責顯示。
比如,我有兩臺電腦,一臺本地機器上執行 Ubuntu 18.10 桌面版,而在另外一臺遠端機器上執行 7(純字元介面),如果是Internet裡面的Server/Client架構,Ubuntu 是 Client,而 CentOS 是 Server。
但是在 X Window 中,Server 偏偏是我面前的這臺 Ubuntu,X Server 執行在 Ubuntu 上。我可以在 CentOS 中執行 GVim,但是視窗顯示在 Ubuntu 中,這時,GVim 是一個 Client 程式,它在遠端機器上執行,而它的視窗顯示在本地。
網上很多介紹 X Window 的文章都是先讓系統進入字元介面,然後手動啟動一個 X Server。其實這完全沒有必要,因為在同一臺機器上完全可以執行多個 X Server,只需要讓每個 X Server 的 display 不同即可。那麼 display 究竟是什麼?
實際上,display 就是計算機配備的一套輸入輸出裝置,一個電腦可以有多個輸入輸出裝置,當然也可以只有一個。
在 X Window 中,可以透過 hostname:display_number.screen_number 來指定一個螢幕。可以這樣理解:一臺計算機可以有多個 display,一個 display 可以有多個螢幕。所以,display 相當於是計算機配備的一套輸入輸出裝置,一般情況下,一臺電腦只配一套鍵盤滑鼠和一個顯示器,特殊情況下,可以配多個顯示器。
現在問題出來了,我的電腦只有一套鍵盤滑鼠和一個顯示器,也就是隻有一個 display,那又怎麼能執行多個 X Server 呢?那是因為在 中,還有虛擬控制檯這樣的高階特性。只需要同時按下 Ctrl+Alt+F1、Ctrl+Alt+F2、...、Ctrl+Alt+F7,就可以在不同的虛擬控制檯中進行切換。就相當於是給這個電腦配備了7個不同的顯示器。
注意:預設情況下,Linux會提供6個Terminal 來讓使用者登入,切換的方式為Ctrl+Alt+F1到F6.而且,系統會為這6個終端介面以 tty1、tty2、tty3、tty4、tty5、tty6 的命名方式命名,除此之外,Linux還有一個預設的X視窗桌面,使用Ctrl+Alt+F7,姐可以切換到圖形桌面進行登入了。為什麼用tty來命名呢?
tty:終端裝置的統稱。
tty一詞源於Teletypes,或者teletypewriters,原來指的是電傳打字機,是透過序列線用印表機鍵盤透過閱讀和傳送資訊的東西,後來這東西被鍵盤與顯示器取代,所以現在叫終端比較合適。終端是一種字元型裝置,它有多種型別,通常使用tty來簡稱各種型別的終端裝置。Linux預設情況下
tty1~6是文字型控制檯,tty7是X Window圖形顯示管理器。
但是Linux不同的發行版本上面的圖形桌面和使用者終端可能會有所不同。
比如在 Ubuntu 18.10 中,虛擬控制檯 3 到 6 執行的是 tty,也就是字元介面,即Ctrl+Alt+F3到F6分別顯示tty3、tty4、tty5、tty6,虛擬控制檯 2 執行的是 Xorg,虛擬控制檯 1 執行的是圖形介面。
前面的使用Ctrl+Alt+Fn的形式來回切換隻是形式上的轉換,每一個都在執行,只不過顯示的那一個不同,但是實際上,Terminal與X Window在Linux中的執行等級是不一樣的,Linux一共有7中執行等級(run level),在不同的執行級下,系統有著不同的狀態,它們分別是:
0:停機(記住不要把initdefault 設定為0,因為這樣會使Linux無法啟動 )
1:單使用者模式,就像Win9X下的安全模式。
2:多使用者,但是沒有 NFS 。
3:完全多使用者模式,標準的執行級。
4:一般不用,在一些特殊情況下可以用它來做一些事情。
5:X11,即進到 X-Window 系統。
6:重新啟動 (記住不要把initdefault 設定為6,因為這樣會使Linux不斷地重新啟動)。
Terminal預設的run level是3,而X Window預設的run level是5,現在如果我在中斷輸入如下命令:
init 3
那麼會殺死X Window,這樣就沒有X Window了,只存在Terminal,此時如果我想要重新進入到X Window,我需要在Terminal進行登入,然後執行
startx
重新開啟X Window。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2734562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux字元介面切換到圖形介面Linux字元
- linux圖形介面和命令列介面切換Linux命令列
- linux圖形化介面和命令介面切換的快捷鍵Linux
- ubuntu 介面和終端切換Ubuntu
- Linux7 圖形介面的切換Linux
- Linux中 文字介面、X Window系統以及圖形介面的關係Linux
- linux入門學習(二):linux圖形化介面與命令列介面之間的切換,以及一些系統命令Linux命令列
- centos 圖形介面和命令列介面切換(轉載)CentOS命令列
- Ubuntu 圖形桌面與命令列介面 切換快捷鍵Ubuntu命令列
- 技巧_字元介面與圖形介面之間的轉換_telinit改變執行級別字元
- Oracle Linux 6.2 無法切換到圖形介面 (VNC)處理 - yum 安裝圖形介面軟體 - 1OracleLinuxVNC
- Oracle Linux 6.2 無法切換到圖形介面 (VNC)處理 - yum 安裝圖形介面軟體 - 2OracleLinuxVNC
- 介面、抽象類、普通類之間的關係抽象
- solaris10命令列模式和圖形介面的切換命令列模式
- Linux字元介面和圖形介面Linux字元
- Xmanager XDMCP遠端連線Linux圖形介面Linux
- Linux圖形介面知識-輕鬆更換圖形環境(轉)Linux
- QT中類之間的關係圖QT
- Linux圖形介面GNOME和KDE終獲統一(轉)Linux
- LINUX的遠端圖形介面VNC配置以及調整LinuxVNC
- Linux 安裝圖形介面Linux
- Android中Module之間介面呼叫發現不了繼承關係Android繼承
- 孤兒程式與終端的關係
- VNC連線linux圖形介面VNCLinux
- 橫豎屏切換中的介面設計與體驗提升
- 如何在終端介面藉助圖形化工具進行資料分析
- linux遠端工具xmanager--遠端圖形介面配置(redhat6.0)LinuxRedhat
- linux -- Ubuntu Server 安裝圖形介面LinuxUbuntuServer
- 使用xmanager訪問linux圖形介面Linux
- 用Xmanager遠端登入AIX圖形介面AI
- 3 個 Linux 上的 SSH 圖形介面工具Linux
- 遙控Linux的控制檯圖形介面薦Linux
- Xmanager4遠端連線linux圖形介面(vsftpd配置)LinuxFTP
- AIX圖形介面配置AI
- ODS與DW之間的關係
- UML中類之間的關係
- oracle linux 7 安裝圖形化介面OracleLinux
- Linux 圖形介面安裝解除安裝Linux