日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]關于linux圖形界面的基本概念

很多LINUX的初學者分不清除linux和X之間,X和Xfree86之間,X和KDE,gnome等之間是什么關系.常?;煜拍?我想以比較易于理解的方式說明一下X,X11,XFREE,WM,KDE,GNOME等之間的關系.由于本人水平有限肯可能存在錯誤,請高手指正.

一,linux本身沒有圖形界面,linux現(xiàn)在的圖形界面的實現(xiàn)只是linux下的應用程序實現(xiàn)的.

圖形界面并不是linux的一部分,linux只是一個基于命令行的操作系統(tǒng),linux和Xfree的關系就相當于當年的DOS和 WINDOWS3.0一樣,windows3.0不是獨立的操作系統(tǒng),它只是DOS的擴充,是DOS下的應用程序級別的系統(tǒng),不是獨立的操作系統(tǒng),同樣 XFree只是linux下的一個應用程序而已.不是系統(tǒng)的一部分,但是X的處在可以方便用戶使用電腦.WINDOWS95及以后的版本就不一樣了,他們的圖形界面是操作系統(tǒng)的一部分,圖形界面在系統(tǒng)內(nèi)核中就實現(xiàn)了,沒有了圖形界面windows就不成為windows了,但linux卻不一樣,沒有圖形界面linux還是linux,很多裝linux的WEB服務器就根本不裝X服務器.這也WINDOWS和linux的重要區(qū)別之一.

二,X是協(xié)議,不是具體的某個軟件:

X是協(xié)議,就像HTTP協(xié)議,IP協(xié)議一樣,這個概念很多初學者甚至學習LINUX有一定時間的人都混淆,一個基于X的應用程序需要運行并顯示內(nèi)容時他就聯(lián)接到X服務器,開始用X協(xié)議和服務器交談.比如一個X應用程序要在屏幕上輸出一個圓那么他就用X協(xié)議對X服務器說:喂!我需要在屏幕上畫一個圓.X應用程序只負責告訴X服務器在屏幕的什么地方用什么顏色畫一個多大的圓,而具體的"畫"的動作,比如這個圓如何生成,用什么顯卡的驅動程序去指揮顯卡完成等等工作是由X服務器來完成的.X服務器還負責捕捉鍵盤和鼠標的動作,假設X服務器捕捉到鼠標的左鍵被按下了,他就告訴X應用程序:親愛的應用程序先生,我發(fā)現(xiàn)鼠標被按下了,您有什么指示嗎?

如果X應用程序被設計成當按下鼠標左健后再在屏幕上畫一個正方形的話,X應用程序就對X服務器說:請再畫一個正方形,當然他會告訴服務器在什么地方用什么顏色畫多大的正方形,但不關心具體怎么畫--那是服務器的事情.

那么協(xié)議是需要具體的軟件來實現(xiàn)的,這就是下面我要講的:

三,X和XFree86的關系.

有了協(xié)議就需要具體的軟件來實現(xiàn)這個協(xié)議.就好比我們有了交通法規(guī)就需要交警去根據(jù)法規(guī)維護交通秩序一樣.XFree86就是這樣一個去根據(jù)法規(guī)實現(xiàn)協(xié)議的"交警".他按照X協(xié)議的規(guī)定來完成X應用程序提交的在屏幕上顯示的任務.當然不僅僅是某個特定的交警才可以去維護和實現(xiàn)這個法規(guī),比如還可以由交通協(xié)管員來實現(xiàn)交通法規(guī),必要的時候警察也可以介入,當然前提是他們都要懂得交通法規(guī),也就是要懂得協(xié)議.所以實現(xiàn)X協(xié)議的軟件也并不只有 XFree86,XFree86只是實現(xiàn)X協(xié)議的一個免費X服務器軟件.

商業(yè)上常用MOTIF,現(xiàn)在還有XORG,還有很多很小的由愛號者寫的小的X服務器軟件.甚至可以在WINDOWS上有X服務器運行,這樣你可以在linux系統(tǒng)上運行一個X應用程序然后在另一臺windows系統(tǒng)上顯示.多么神氣.你可以用google找到這樣的X服務器軟件.

只不過在LINUX上最常用的是XFree86.順便說一句,蘋果電腦的圖形界面用的也是X協(xié)議,而且被認為是做的最好的X協(xié)議圖形界面,并且他對X協(xié)議的實施是做在系統(tǒng)內(nèi)核里的,所以性能明顯好很多,這就是為什么很多大型三維圖形設計軟件都是在蘋果平臺上的原因.

為了便于理解拿HTTP協(xié)議來比較:

協(xié)議是HTTP (hyper text transmissiON protocol)

實現(xiàn)這個協(xié)議的常用服務器有:apache IIS 等

請求這些服務器傳輸文件的客戶有:IE ,MOZILLA ,NETSCAPE等.

四,X和X11R6又是什么關系?

不知道初學者有沒有注意到/usr/X11R6這個目錄,這是XFree的默認安裝目錄

X11R6 實際上是 X Protocol version 11 Release 6

(X協(xié)議第11版第六次發(fā)行)的意思,就是說目前用的X協(xié)議是第11版的,然后經(jīng)過了6次小的修正.不同版本的X協(xié)議是不能通信的.就象我們現(xiàn)在IPV4和IPV6不能通信一樣,不過不用擔心,現(xiàn)在的X服務器軟件和X應用程序都遵循X11R6.

另外XFree86 3.3.6 XFree8*.3.6 等這些版本是實現(xiàn)X協(xié)議的軟件XFree86的版本號.這是初學者經(jīng)常高混淆的概念.

協(xié)議版本和實現(xiàn)協(xié)議的軟件的版本--這兩個概念的區(qū)別你分清除了嗎?

五,X服務器和WM(window manager 窗口管理器)之間是什么關系.

平時大家起動圖形界面是怎么啟動的呢?

如果你是一開己就進入圖形界面那就太遺憾了.應為你錯過了了解X服務器起動過程的好時機.不過沒關系.你打開一個XTERM輸入:

init 3

就可以安全的回到字符界面.

好了,等做完以下實驗你就完全明白X和WM(window manager 窗口管理器)之間是什么關系了.

先輸入以下命令:

#startx

起動圖形界面,你看到的是一個和平時使用一樣的完整的圖形界面操作環(huán)境.

你可以最大化,最小化,移動,關閉窗口等.

按ctrl+alt+backspace反回字符界面.

輸入:

#xinit

再次啟動圖形界面,你看到了什么,你看到一個XTERM.而且不能移動.但是你可以在這個XTERM中輸入命令打開X應用程序,如故我輸入:

#mozilla

打開瀏覽器,你看到的瀏覽器和平時有什么不同嗎?他在屏幕中間,不能移動,不能最小化,不能最大化,沒有邊框.

為什么同樣一個X應用程序會有這樣的不通呢?因為我們用startx起動圖形界面的時候同時也啟動了一個WM(即窗口管理器),如果你用KDE就起動了KDE,如果你用GNOME就起動了GNOME.但是你用xinit起動圖形界面的時候卻沒有起動WM.

現(xiàn)在你明白窗口管理器的作用了嗎?他的作用就是最大化,最小化,移動,關閉窗口等.而這些不是X服務器來負責完成的.

如果你用xinit起動圖形界面并在xterm中輸入twm,看看會有什么?

xterm被加上了一個邊框,你可以通過這個邊框移動,最大化,最小化這個xterm,twm就是XFree86中自帶的窗口管理器,是一個比較簡陋的最簡單的窗口管理器,但是他具有窗口管理器的全部特征.

如果你不輸入twm而輸入gnome-session就可以起動GNOME

或者輸入startkde起動KDE.

通過以上的實驗你就可以清楚的明白他們之間的關系.[!--empirenews.page--]

六,關于KDE和GNOME

KDE和GNOME是LINUX里最常用的圖形界面操作環(huán)境,他們不僅僅是一個窗口管理器那么簡單,

KDE是KING DESKTOP ENVIRMENT (桌面環(huán)境之王)的縮寫.他不僅是一個窗口管理器,還有很多配套的應用軟件和方便使用的桌面環(huán)境,比如任務欄,開始菜單,桌面圖標等等.

GNOME是GNU Network Object Model Envirment 的縮寫.和KDE一樣,也是一個功能強大的綜合環(huán)境.

另外在其它UNIX系統(tǒng)中,常常使用CDE作為這樣一個環(huán)境.

其它的小型窗口管理器有:

window maker,after step,blackbox,fvwm,fvwm2,等等都是常用的優(yōu)秀窗口管理器.REDHAT9中有 window maker 但是默認不安裝,大家可以裝來試試.只要xinit再wmaker&就可以用windowmaker了.

七,linux圖形界面層次關系總結

linux本身--> X服務器--> 窗口管理器(綜合桌面環(huán)境)

-->X應用程序.

以上就是linux圖形界面的大概情況.

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

多數(shù)受訪粉絲認為,AI驅動的功能會對他們觀看體育賽事的方式產(chǎn)生重大影響 超過半數(shù)的受訪者希望通過AI技術獲得對過去、現(xiàn)在和未來體育賽事的評論和分析 移動體育應用...

關鍵字: IBM AI 應用程序 移動

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數(shù),提高緩存命中率,從而提升系統(tǒng)性能。

關鍵字: Linux 嵌入式

在Linux系統(tǒng)性能優(yōu)化中,內(nèi)存管理與網(wǎng)絡連接處理是兩大核心領域。vm.swappiness與net.core.somaxconn作為關鍵內(nèi)核參數(shù),直接影響系統(tǒng)在高負載場景下的穩(wěn)定性與響應速度。本文通過實戰(zhàn)案例解析這兩個...

關鍵字: Linux 內(nèi)存管理

對于LLM,我使用b谷歌Gemini的免費層,所以唯一的成本是n8n托管。在使用了n8n Cloud的免費積分后,我決定將其托管在Railway上(5美元/月)。然而,由于n8n是開源的,您可以在自己的服務器上托管它,而...

關鍵字: 人工智能 n8n Linux

在Linux系統(tǒng)管理中,權限控制是安全運維的核心。本文通過解析/etc/sudoers文件配置與組策略的深度應用,結合某金融企業(yè)生產(chǎn)環(huán)境案例(成功攔截98.7%的非法提權嘗試),揭示精細化權限管理的關鍵技術點,包括命令別...

關鍵字: Linux 用戶權限 sudoers文件

Linux內(nèi)核中的信號量(Semaphore)是一種用于資源管理的同步原語,它允許多個進程或線程對共享資源進行訪問控制。信號量的主要作用是限制對共享資源的并發(fā)訪問數(shù)量,從而防止系統(tǒng)過載和數(shù)據(jù)不一致的問題。

關鍵字: Linux 嵌入式

在云計算與容器化技術蓬勃發(fā)展的今天,Linux網(wǎng)絡命名空間(Network Namespace)已成為構建輕量級虛擬網(wǎng)絡的核心組件。某頭部互聯(lián)網(wǎng)企業(yè)通過命名空間技術將測試環(huán)境資源消耗降低75%,故障隔離效率提升90%。本...

關鍵字: Linux 云計算

在Linux內(nèi)核4.18+和主流發(fā)行版(RHEL 8/Ubuntu 20.04+)全面轉向nftables的背景下,某電商平臺通過遷移將防火墻規(guī)則處理效率提升40%,延遲降低65%。本文基于真實生產(chǎn)環(huán)境案例,詳解從ipt...

關鍵字: nftables Linux

在Linux設備驅動開發(fā)中,等待隊列(Wait Queue)是實現(xiàn)進程睡眠與喚醒的核心機制,它允許進程在資源不可用時主動放棄CPU,進入可中斷睡眠狀態(tài),待資源就緒后再被喚醒。本文通過C語言模型解析等待隊列的實現(xiàn)原理,結合...

關鍵字: 驅動開發(fā) C語言 Linux

在Unix/Linux進程間通信中,管道(pipe)因其簡單高效被廣泛使用,但默認的半雙工特性和無同步機制容易導致數(shù)據(jù)競爭。本文通過父子進程雙向通信案例,深入分析互斥鎖與狀態(tài)機在管道同步中的應用,實現(xiàn)100%可靠的數(shù)據(jù)傳...

關鍵字: 管道通信 父子進程 Linux
關閉