xorg
xorg
xorg是X11的一個實現,而X Window System是一個C/S結構的程序,Xorg只是提供了一個X Server,負責底層的操作當你運行一個程序的時候,這個程序會連接到X server上,由X server接收鍵盤滑鼠輸入和負責屏幕輸出窗口的移動,窗口標題的樣式等等。
XOrg基金會的X11開源實現(XOrg Foundation Open Source Public Implementation of X11) (the XOrg Server) 是X Window System的官方參考實現。當前的發布版本是X11R7.0,發佈於2005年2月10日。它是開放源代碼的自由軟體。這個項目由X.Org基金會運作,存放於freedesktop.org的主機上。由於在XFree86 4.4最終版本採用新許可證問題上的分歧,Xorg伺服器的第一個版本X11R6.7.0從XFree86 4.4 RC2派生出來,並加入了X11R6.6的一些改動。許多原先XFree86的開發者加入了這個比XFree86更開放的項目。 XOrg伺服器逐漸在開源Unix風格操作系統中流行。它被以下發行版本採用以代替XFree86:FreeBSD、Debian GNU/Linux、Solaris、Gentoo Linux、Fedora Core、openSUSE、Mandriva Linux、Slackware、Ubuntu Linux等等
Xorg是X11的一個實現,都是由一種叫做窗口管理器的程序來完成的,你現在看到的這些,不但有Xorg,有那三個窗口對應的程序,還有個窗口管理器:Xorg自帶的twm如果你想要很好的使用圖形界面,那你需要根據自己的情況安裝窗口管理器,並進行相應的配置。如果為了省事的話,最好裝上KDE或者Gnome之類的桌面環境比較好。
嚴格的說X是一個標準,也就Unix系統上圖形界面的基本模式,順便說一句,最早實現圖形界面的是在Unix上,不是在Windows上。這個標準指定了一個Server/Client的基本模型來實現圖形界面功能,具體的細節不需要太過深入。通常情況下,談到X時就是指的圖形界面。X的設計體現了Unix的哲學,也就是模塊化,各個模塊之間遵守相同的標準,所以運行X需要很多組件,包括x-server、x-client、window manager、x display manager,下面我們分別介紹每一個組件的具體含義。
在一般的server/client模型中,server總是代表性能比較高,處理很多數據的那個機器,比如你登錄一個ftp站點或者是某個網站的時候,server指的是對方的系統。但是在X的server/client模型中恰好相反,這裡面server僅僅負責滑鼠、鍵盤、顯卡、顯示器這些輸入輸出部件,而x-client卻是負責處理數據的。到目前為止,我們在FreeBSD系統裡面使用x-server是:xorg-server。除此之外還有其他的商業的x-server,但是目前在FreeBSD上以及Linux這些自由的開源系統上使用的x-server主要是由xorg提供的xorg-server。所以,如果你想在自己的FreeBSD運行X,那麼x-server是必須的。這就是為什麼在安裝圖形界面的時候一定要先安裝xorg或者是xorg-minimal,這兩個port都是meta port,就是說這個port本身是一個空的port,但是這個port有很多依賴關係,這樣可以幫助使用者迅速地安裝軟體。
由於x-server負責滑鼠、鍵盤、顯卡、顯示器這些輸入輸出部件,你必須在安裝好以後,告訴x-server你當前系統使用的是什麼樣的滑鼠、鍵盤、顯卡、顯示器。由於當前硬體廠商眾多,所以不要指望x-server自動識別出所有需要的參數,通常你需要編輯一下/etc/X11/xorg.conf這個文件來提示它一下。現在你應該知道為什麼論壇上總有人在買了USB滑鼠以後相互討論如何修改xorg.conf了。
X-server負責管理滑鼠、鍵盤、顯卡、顯示器,而X-client則負責處理程序的運行。比如說,我桌面上有一個gvim的圖標,我現在移動滑鼠點擊了一下gvim的圖標,那麼X-server會告訴X-client:“用戶移動了滑鼠到什麼位置,然後單擊了一下滑鼠的左鍵”。X-client收到這個信息以後會對這個行為做出反應,經過一番思考,它發現,我這個行為是要打開一個叫gvim的程序,於是X-client會運行gvim,然後告訴X-server:“你在顯示器上給用戶畫出一個像gvim的東西來”。然後,我就在我的屏幕上很高興地看見了我可愛的gvim編輯器了,當然還有偉大的DejaVu Sans Mono等寬字體。