文章詳情頁(yè)
FreeBSD handbook中文版 5 X Window 系統(tǒng)
瀏覽:41日期:2024-02-03 17:43:20
目錄 5 X 視窗系統(tǒng) 5.1 概要 5.2 安裝Xfree86 系統(tǒng) 5.3 Xfree86 的配置 5.4 理解X 5.5 在Xfree86 中使用字體 5.6 X 顯示管理 5.7 桌面環(huán)境 ============================================================= 第5 章X Window 系統(tǒng) ============================================================= (翻譯中出現(xiàn)的任何問(wèn)題或錯(cuò)誤,請(qǐng)廣大讀者及時(shí)反饋給我:[email protected]) 5.1 概要 FreeBSD 使用XFree86 來(lái)為用戶提供一個(gè)功能強(qiáng)大的圖形用戶接口。XFree86 是一個(gè)開(kāi) 放源代碼的X 視窗系統(tǒng)。下面的這章將介紹在FreeBSD 上安裝和配置Xfree86。有關(guān)你的顯 卡是否被X11 所支持,請(qǐng)查看Xfree86 的網(wǎng)站。 讀完這章,你將了解到: 1. 如何安裝和配置Xfree86. 2. X 視窗系統(tǒng)的不同組件,它們是如何協(xié)同工作的。 3. 如何安裝和使用不同的視窗管理系統(tǒng)。 4. 如何在XFree86 中使用TrueType 字體。 5. 如何為你的系統(tǒng)安裝圖形登陸口(XDM)。 在閱讀這章之前,你應(yīng)當(dāng)了解: 1. 知道如何安裝額外的第三方應(yīng)用程序(第4 章)。 5.2 安裝XFree86 XFree86 被制作成一個(gè)port 和一個(gè)package,使得它很容易被安裝。你可以直接從 XFree86 組織的網(wǎng)站直接下載,并根據(jù)XFree86 組織的指示手動(dòng)安裝它。 你只需要決定安裝哪個(gè)版本。XFree86 3.X 是XFree86 開(kāi)發(fā)的一個(gè)分支?,F(xiàn)在,已經(jīng)不 對(duì)它更新了。現(xiàn)在XFree86 4.X 是重新設(shè)計(jì)的一個(gè)分支。它有很多新特性,但它支持的顯卡 相對(duì)要少一些。 如果你的顯卡能在XFree86 4.X 下運(yùn)行,就不要使用XFree86 3.X 了。這章的其它部分 將介紹如何配置XFree86 和你可以使用的幾種X 程序。 5.3 XFree86 的配置 第1 頁(yè)FreeBSD 使用手冊(cè) 5.3.1 介紹 這章將介紹在FreeBSD 上安裝和配置XFree86 X 視窗系統(tǒng)的步驟。一旦X 服務(wù)器被安 裝和正確配置。用戶就可以看看第5.7 節(jié)來(lái)設(shè)置桌面環(huán)境。 5.3.2 開(kāi)始之前 在用戶開(kāi)始配置XFree86-4 之前,你必須知道你機(jī)器的下面一些信息: 1. 顯示器的規(guī)格 2. 顯卡的芯片 3. 顯存 顯示器規(guī)格可以被XFree86 用來(lái)決定顯示器的刷新率。這些規(guī)格通??梢詮娘@示器所 帶的文檔中找到,也可以從生產(chǎn)商的網(wǎng)站找到。需要知道兩個(gè)數(shù)字范圍:垂直刷新率和水 平刷新率。 顯卡的芯片組定義了XFree86 要使用什么驅(qū)動(dòng)模塊來(lái)驅(qū)動(dòng)硬件。對(duì)于絕大多數(shù)的芯片, 它都能自動(dòng)選擇,但有時(shí)也可能檢測(cè)錯(cuò)誤。顯卡的顯存大小決定了目標(biāo)系統(tǒng)的刷新率和顏 色深度。這非常重要,所以用戶需要知道目標(biāo)系統(tǒng)的詳細(xì)情況。 5.3.3 安裝XFree86 4.X 的軟件 XFree86 4 能夠使用FreeBSD 的ports 進(jìn)行安裝或使用pkg_add 命令。如果用戶直接從 源代碼來(lái)構(gòu)建XFree86-4 , 而且在/etc/make.conf 中已有這個(gè)項(xiàng)目。如果想得到 XDM-AUTHORIZATION-1 的支持,用戶可能需要加上Wraphelp.c。這個(gè)文件可以在建構(gòu) ports 以前被放置在file/的子目錄中。 5.3.4 配置XFree86 4.X 配置XFree86 4.X 有幾步。第一步是建一個(gè)初始化的配置文件。作為超級(jí)用戶,可以 這樣做: # XFree86 -configure 第2 頁(yè)FreeBSD 使用手冊(cè) 這會(huì)在一個(gè)叫做XF86Config.new 的當(dāng)前工作目錄中產(chǎn)生一個(gè)XFree86 配置文件。 XFree86 將試圖探測(cè)到系統(tǒng)中的顯示設(shè)備。在你的機(jī)器上,將寫(xiě)入一個(gè)配置文件以便探測(cè)硬 件時(shí)能夠加載正確的驅(qū)動(dòng)程序。 下一步將測(cè)試當(dāng)前的配置以檢驗(yàn)XFree86 是否能在當(dāng)前系統(tǒng)的顯示設(shè)備上正常工作。 要完成這個(gè)任務(wù),你只需要這樣做: # XFree86 -xf86config XF86Config.new 如果用戶看到一個(gè)黑灰的格子和一個(gè)X 形的鼠標(biāo)指針,配置就是成功的。要退出測(cè)試, 只要鍵入ctrl,alt 和backspace。接下來(lái),用戶需要調(diào)整XF86Config.new 配置文件以適 應(yīng)個(gè)人的口味。用eMacs 或ee 這樣的編輯器打開(kāi)文件。用戶要做的第一件事是為當(dāng)前系統(tǒng) 的顯示器添加頻率。這些包括垂直和水平的刷新率。這些值只要在XF86Config.new 文件的 'Monitor'地方把這些值添加進(jìn)去,例如: Section 'Monitor' IdentifIEr 'Monitor0' VendorName 'Monitor Vendor' ModelName 'Monitor Model' Horizsync 30-107 VertRefresh 48-120 EndSection Horizsync 和VertRefresh 關(guān)鍵字通常不存在用戶的配置文件中。如果它們不存在,就 需要添加它們。正確的水平同步刷新率被添加在Horizsync 關(guān)鍵字后面,垂直的同步刷新 率被添加在VertRefresh 關(guān)鍵字后面。在上面的例子中已經(jīng)添加了。 當(dāng)XF86Config.new 配置文件被編輯器打開(kāi)時(shí),用戶需要選擇默認(rèn)的分辨率和顏色深度。 如下: Section 'Screen' 第3 頁(yè)FreeBSD 使用手冊(cè) Identifier 'Screen0' Device 'Card0' Monitor 'Monitor0' DefaultColorDepth 24 SubSection 'Display' Depth 24 Modes '1024x768' EndSubSection EndSection DefaultColorDepth 關(guān)鍵字描述了用戶希望運(yùn)行的默認(rèn)的顏色深度。Modes 關(guān)鍵字描述 了屏幕的分辨率。在上面的例子中,默認(rèn)的顏色深度是24 位色,分辨率是1024x768。最后, 用戶可以寫(xiě)入配置文件,然后使用這個(gè)配置文件測(cè)試它。如果所有都正確,那配置文件需 要被安裝在xfree86 的默認(rèn)位置,如下: /etc/X11/XF86Config 或/usr/X11R6/etc/X11/XF86Config. # cp XF86Config.new /etc/X11/XF86Config 一旦配置文件被放置在一個(gè)普通的位置,XFree86 就能通過(guò)xdm 來(lái)使用。為了使用 startx,用戶將必須安裝X11/wrapper port。 5.3.5 高級(jí)配置主題 5.3.5.1 配置Intel i810 顯示芯片組 配置Intel i810 芯片組的顯卡需要有針對(duì)XFree86 的能夠驅(qū)動(dòng)顯卡的AGP 編程接口。 要啟用這個(gè)編程接口,agp.ko 的內(nèi)核引導(dǎo)模塊需要用kldload 來(lái)加載到內(nèi)核。這可以由 loader 來(lái)自動(dòng)加載。只要在啟動(dòng)時(shí),在/boot/loader.conf中加入下面這一行,就可以由 loader 來(lái)加載agp.ko 了。 第4 頁(yè)FreeBSD 使用手冊(cè) agp_load='YES' 接下來(lái),需要為編程接口創(chuàng)建一個(gè)設(shè)備。要?jiǎng)?chuàng)建AGP 設(shè)備節(jié)點(diǎn),可以在/dev 目錄下運(yùn)行 makedev: # cd /dev # sh MAKEDEV agpgart 5.4 理解X 如果你非常熟悉使用窗口類型的操作系統(tǒng),象Windows,Macos,那你會(huì)發(fā)現(xiàn)你對(duì)X 的初 次印象會(huì)很不同。今天,象KDE 和GNOME 這樣的Unix 桌面環(huán)境已經(jīng)變得非常流行。 5.4.1 Why X? X 并不是針對(duì)UNIX 的第一個(gè)視窗系統(tǒng),但它是最流行的。X 的最初開(kāi)發(fā)團(tuán)隊(duì)在開(kāi)發(fā)X 之前,就已經(jīng)在為另一個(gè)視窗系統(tǒng)工作了。那個(gè)系統(tǒng)的名字是“W”(很明顯,就是“window”)。 X 只是在羅馬字母中W 后面的一個(gè)。 X 可能涉及很多的東西,象“X Window System”,“X11”和其它的一些。“X Windows” 這個(gè)概念會(huì)盡可能地避免使用;可以看看X 的聯(lián)機(jī)手冊(cè)了解更多信息。 5.4.2 X 客戶端/服務(wù)器端模型 在X 模型中,“X server”運(yùn)行在有鍵盤,顯示器,鼠標(biāo)的電腦上。Server 用來(lái)管理 顯示信息,和處理來(lái)自鍵盤和鼠標(biāo)的輸入等。每個(gè)X 應(yīng)用(如XTerm 或Netscape)就是一 個(gè)“client”。一個(gè)client 發(fā)送信息給服務(wù)器(如:Please draw a window at these coordinates),然后服務(wù)器就返回處理信息(如:The user just clicked on your OK button)。 如果你在只有一臺(tái)電腦的家里或小型辦公環(huán)境中使用FreeBSD,你就需要在同一臺(tái)電腦上運(yùn) 行X server 和X client。然而,如果你有很多運(yùn)行FreeBSD 的機(jī)器,你可以在你的桌面 電腦上運(yùn)行X server,而在比較高檔的服務(wù)器上運(yùn)行X 應(yīng)用程序。在這樣的環(huán)境中,X server 和X client 之間的通訊就可以通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行。 這可能會(huì)使一些人搞糊涂,因?yàn)閄 術(shù)語(yǔ)與他們所想象的有所不同。他們以為X server 是運(yùn)行在大型機(jī)器上的,而X client 是運(yùn)行在桌面機(jī)器上的。 第5 頁(yè)FreeBSD 使用手冊(cè) 正如你所記得的,X server 是用來(lái)處理顯示器和鍵盤輸入信息的,而X client 是用來(lái) 顯示視窗程序的,這一點(diǎn)你不應(yīng)當(dāng)搞糊涂。 這樣的設(shè)計(jì)有一個(gè)很有意思的副作用。并不需要client 和server 都運(yùn)行在同一種操 作系統(tǒng)上,或甚至運(yùn)行在同一種類型的電腦上。把它運(yùn)行在Microsoft Windows 或Apple's MacOS 上也是可以的,在它上面也有很多免費(fèi)的和商業(yè)化的應(yīng)用程序。 在FreeBSD 上使用的X server 叫做XFree86,在大家很熟悉的許可協(xié)議下可以免費(fèi)使 用。針對(duì)FreeBSD 的商業(yè)化X server 也可以使用,你可以選擇一個(gè)。 5.4.3 視窗管理器 X 的設(shè)計(jì)哲學(xué)有點(diǎn)象unix 的設(shè)計(jì)哲學(xué),“tools, not policy”。這些意味著不需要命 令最終用戶他們應(yīng)當(dāng)如何來(lái)完成他們的工作。而是,只給用戶提供一些完成工作的工具, 至于如何使用這些工具那是用戶自己的事情。 這種哲學(xué)大大地?cái)U(kuò)展了X,它不一定要規(guī)定這些視窗在屏幕上看起來(lái)象什么,你要如何 移動(dòng)鼠標(biāo),需要使用什么鍵來(lái)切換窗體,每個(gè)窗體的工具條應(yīng)當(dāng)看起來(lái)象什么,是否應(yīng)該 放關(guān)閉按鈕等等。 實(shí)際上,X 只代表了叫做“Window Manager”的應(yīng)用程序。有很多這樣的應(yīng)用程序: AfterStep, Enlightenment, ctwm, ftwm, sawfish, twm, WindowMaker 等。這些管理器 中的每一個(gè)都提供了一個(gè)不同的界面;其中一些支持“虛擬桌面”,有一些允許你可以定 制一些鍵來(lái)管理你的桌面;一些用作“start”按鈕;一些用作“themeable”,允許你啟 用一個(gè)新桌面來(lái)改變你的桌面顯示。這些視窗管理器都可以在Ports Collection 的x11-wm 中找到。另外,KDE 和GNOME 桌面環(huán)境都有它們自己的視窗管理器與桌面集成。每一個(gè)視窗 管理器也有一個(gè)不同的配置機(jī)制;一些需要你手工寫(xiě)入一個(gè)配置文件;其他特性的GUI 工 具能夠完成絕大多數(shù)的配置任務(wù);至少有一個(gè)配置文件需要用lisp 語(yǔ)言來(lái)改寫(xiě),它很強(qiáng)大。 正如你可以想象的,這種靈活性來(lái)自價(jià)格。因?yàn)榭捎玫倪x擇是如此廣泛,以至于很難 有這種類型的文檔來(lái)指導(dǎo)你選擇和配置一個(gè)視窗管理器。 著重點(diǎn):視窗管理器的另一個(gè)特性是鼠標(biāo)的焦點(diǎn)。每個(gè)視窗管理器如X,Microsoft Windows 或其它一些都有一個(gè)抽象概念“焦點(diǎn)”,在任何一個(gè)時(shí)候只有一個(gè)窗口有焦點(diǎn)。有 焦點(diǎn)的那個(gè)窗口是你接收所有鍵盤輸入和鼠標(biāo)點(diǎn)擊的窗口。 第6 頁(yè)FreeBSD 使用手冊(cè) 你通常比較熟悉一個(gè)叫做“click-to-focus”的焦點(diǎn)方案。這意思是你必須點(diǎn)擊你想 要擁有焦點(diǎn)的窗口。窗口可能會(huì)處在屏幕的上方,即使你把鼠標(biāo)移出窗口,你鍵盤的輸入 仍然會(huì)出現(xiàn)在這個(gè)窗口中。你要把焦點(diǎn)移向另一個(gè)窗口,你必須點(diǎn)擊它。 X 不支持一些特殊的焦點(diǎn)規(guī)則。而是,窗口管理器控制著在什么時(shí)候哪個(gè)窗口擁有焦點(diǎn)。 不同的窗口管理器支持不同的焦點(diǎn)方案。它們都支持點(diǎn)擊到焦點(diǎn),它們中的大多數(shù)都支持 好幾個(gè)。 還有其它兩個(gè)通常的焦點(diǎn)規(guī)則: focus-follows-mouse 這種方式是,在鼠標(biāo)指示器下面的視窗是擁有焦點(diǎn)的視窗。這可能不是其他視窗頂部 的視窗。你可以通過(guò)點(diǎn)擊另一個(gè)視窗類改變焦點(diǎn)。習(xí)慣了這個(gè)方式后,再回到使用 click-to-focus 方式的視窗時(shí)就會(huì)感到不適應(yīng)。 sloppy-focus 這種方式是對(duì)focus-follows-mouse 的一個(gè)小小的擴(kuò)展。對(duì)于focus-follows-mouse, 如果你在桌面上移動(dòng)鼠標(biāo),那不會(huì)有視窗會(huì)獲得焦點(diǎn)。 如果你使用sloppy-focus 然后移動(dòng)鼠標(biāo)指示器,那擁有焦點(diǎn)的視窗將保留。你的視窗 管理器也將支持其他的方案,所以確信你已經(jīng)閱讀了它提供的介紹文檔。 Microsoft Windows 和Apple MacOS 都有一個(gè)快速的窗口方案。應(yīng)用開(kāi)發(fā)員被建議確保 他們的應(yīng)用程序共享一個(gè)普通的所見(jiàn)即所得的用戶界面。在這些視窗系統(tǒng)之前,X 已經(jīng)被設(shè) 計(jì)了很長(zhǎng)時(shí)間了。當(dāng)GUI 系統(tǒng)的研究還處于早期時(shí),還沒(méi)有感覺(jué)到要一個(gè)特殊的圖形接口。 如果你檢查一下過(guò)去十年的Windows 和MacOS GUI,你將看到在人機(jī)交互的設(shè)計(jì)上發(fā)生了 多大的變化,融入了多少新的思想。 這樣的結(jié)果是你不能期望X 應(yīng)用程序只擁有一個(gè)普通的界面。有很多的流行的窗口設(shè) 置,包括Athena(MIT 開(kāi)發(fā)),Motif(模仿微軟的),openlook 和其他一些。今天,絕大多 數(shù)比較新的X 應(yīng)用程序?qū)⑹褂靡粋€(gè)現(xiàn)代風(fēng)格的窗口設(shè)計(jì),象Qt,用來(lái)設(shè)計(jì)KDE,或GTK,用 來(lái)設(shè)計(jì)GNOME。 5.5 在XFree86 中使用字體 第7 頁(yè)FreeBSD 使用手冊(cè) 5.5.1 Type1 字體 XFree86 使用的默認(rèn)字體不是很理想。大型的字體顯得參差不齊,看起來(lái)很不專業(yè),在 netscape 中,小字體也顯得莫名其妙。然而,有幾個(gè)自由的,高質(zhì)量的字體可以使用在 XFree86 中,version 3.X 或version 4.X 都可以。例如,URW 字體的集合就包括了標(biāo)準(zhǔn)的 type1 字體(Times Roman, Helvetica, Palatino and others)。在freefont 的集合中也包 括了許多字體,但他們中的絕大部分使用在圖形軟件中,如Gimp,在屏幕字體中使用并不完 美。 要安裝上面的Type1 字體,你只需要運(yùn)行下面的命令。 # cd /usr/ports/x11-fonts/urwfonts # make install clean Freefont 或其他的集合也是一樣的。要告訴X 服務(wù)器這些字體的存在,你需要在 XF86Config 文件中添加一行(XFree86 version 3 在/etc/中,version 4 在/etc/X11/中): FontPath '/usr/X11R6/lib/X11/fonts/URW/' 在命令行,你可以寫(xiě)入: % xset fp+ /usr/X11R6/lib/X11/fonts/URW % xset fp rehash 5.5.2 TrueType Fonts 與XFree86 捆綁在一起的默認(rèn)字體比實(shí)際應(yīng)用所需的字體要少的多。而且字體顯示得比 較難看。幸運(yùn)的是XFree86 允許配置TrueType。 XFree86 4.0 已經(jīng)內(nèi)建支持了TrueType 字體。有兩種不同的模塊能夠啟用這個(gè)功能。 在這個(gè)例子中使用”freetype”這個(gè)模塊,因?yàn)樗c其他的字體是兼容的。要啟用freetype 模塊,只需要在你的/etc/X11/XF86Config 文件中加入下面這行。 Load “freetype” 第8 頁(yè)FreeBSD 使用手冊(cè) 你需要運(yùn)行額外的TrueType 字體服務(wù)器。Xfstt 通常被用作這個(gè)目的。要在你的FreeBSD 系統(tǒng)上安裝xfstt,可以從/usr/ports/x11-servers/Xfstt 中安裝相應(yīng)的port。你應(yīng)當(dāng)為 你的TrueType 字體創(chuàng)建一個(gè)目錄,然后拷貝所有的TrueType 字體到這個(gè)目錄。記住你不能 直接從Macintosh 電腦上提取字體;他們必須是Unix/Dos/Windows 格式的。一旦你已經(jīng)拷 貝了許多文件到這個(gè)目錄,你需要使用ttmkfdir 命令來(lái)創(chuàng)建一個(gè)fonts.dir 的字體文件, 以便X 字體引擎知道你已經(jīng)安裝了這些新文件。在/usr/ports/x11-fonts/ttmkfdir 中,有 一個(gè)FreeBSD port。 # cd /usr/X11R6/lib/X11/fonts/TrueType # ttmkfdir > fonts.dir 現(xiàn)在你需要把你的TrueType 目錄添加到你的字體路徑中。這樣做最簡(jiǎn)單的方法是增加 下面一行到你的~/.xinitrc 文件。 % xset fp+ /usr/X11R6/lib/X11/fonts/TrueType % xset fp rehash 就是這樣?,F(xiàn)在Netscape, Gimp, StarOffice 和其他的X 應(yīng)用程序已經(jīng)記住了你安裝 的TrueType 字體。一些很小的字體和一些很大的字體現(xiàn)在看起來(lái)已經(jīng)很好了。有一點(diǎn)需要 記住:XFree86 現(xiàn)在不支持anti-aliased 字體。在高分辨率下可能問(wèn)題不大,但當(dāng)與MacOS 或Microsoft Windows 相比較時(shí)仍然相差較大。 5.5.3 Anti-Aliasing 你的字體 啟動(dòng)version 4.0.2 版,XFree86 支持anti-aliased 字體。當(dāng)前,絕大多數(shù)軟件還沒(méi) 有升級(jí)到支持這個(gè)新的功能。然而,QT 已經(jīng)能夠支持了;所以如果你運(yùn)行XFree86 4.0.2 (或更高版本),Qt2.3(或更高版本)和KDE,所有你的KDE/Qt 應(yīng)用程序都能使用 anti-aliased 字體。 要配置anti-aliasing,你需要?jiǎng)?chuàng)建一個(gè)文件/usr/X11R6/lib/X11/XftConfig。需要對(duì) 這個(gè)文件作幾個(gè)比較高深的配置;這節(jié)只描述最簡(jiǎn)單的情況。 第一,你需要告訴Xserver 你要的anti-aliased 字體。你只需要在每個(gè)字體目錄中鍵 入這一行: 第9 頁(yè)dir '/usr/X11R6/lib/X11/Type1' 然后,同樣的包含其他字體的目錄(如URW, truetype 等)。Anti-aliasing 可以理解 為可升級(jí)的字體(基本上,Type1 和TrueType),所以不包括bitmap 字體目錄。你要包含 的目錄可以在你的XF86Config 文件中注釋掉。 接下來(lái),你不要使用anti-alias 的普通大小的文本。(Antialiasing 使得字體邊緣有 些模糊,這樣增加了非常小的文本的可讀性,然后從大文本字體中刪除'staircases',但 如果使用普通的文本,可能會(huì)引起眼疲勞。)要將9 到13 號(hào)之間的字體排除在外,包括這 些行: match any size > 8 any size < 14 edit antialias = false; 當(dāng)你打開(kāi)anti-aliasing 時(shí),也可能會(huì)發(fā)現(xiàn)一些字體之間的間距比較混亂。這似乎是KDE 的一個(gè)問(wèn)題。要修復(fù)這個(gè)問(wèn)題需要確保每個(gè)字體之間的間距保持在100:加入下面這些行: match any family == 'fixed' edit family =+ 'mono'; match any family == 'console' edit family =+ 'mono'; (這里把其它普通的修復(fù)的字體作為“mono”),然后加入: match any family == 'mono' edit spacing = 100; 如果你想要使用字體,你可以將后面的行改成這樣: match any family == 'mono' edit family += 'LuciduxMono'; match any family == 'Lucidux Mono' edit family += 'LuciduxMono'; match any family == 'LuciduxMono' edit family =+ 'Lucidux Mono'; FreeBSD 使用手冊(cè) 第10 頁(yè)FreeBSD 使用手冊(cè) 最后,你需要允許用戶通過(guò)他們每個(gè)人的.xftconfig 文件把命令添加到這個(gè)文件。加 入下面一行: includeif '~/.xftconfig' 就這么簡(jiǎn)單;anti-aliasing 在你下次啟動(dòng)系統(tǒng)時(shí)就能用了。然而,注意你的程序必須 知道如何使用它?,F(xiàn)在,toolkit Qt 已經(jīng)可以做到了,所以整個(gè)KDE 環(huán)境能夠使用 anti-aliased 字體了;對(duì)于gtk+需要加一些補(bǔ)丁,所以如果用加過(guò)補(bǔ)丁的gtk+來(lái)編譯,那 GNOME 環(huán)境和Mozilla 也能夠使用anti-aliased 字體。對(duì)于FreeBSD 和XFree86 來(lái)講, Anti-aliasing 還是比較新的,相信不久會(huì)有越來(lái)越多的應(yīng)用程序來(lái)支持它。 5.6 X 顯示管理 5.6.1 概要 X 顯示管理器(XDM)是一個(gè)X 視窗系統(tǒng)用來(lái)登陸的管理器的可選項(xiàng)。這個(gè)在幾種情況 下是有用的,包括小“X Terminal”,桌面,大網(wǎng)絡(luò)顯示服務(wù)器。既然X 視窗系統(tǒng)不受網(wǎng) 絡(luò)和協(xié)議的限制,那對(duì)于通過(guò)網(wǎng)絡(luò)連接起來(lái)的運(yùn)行X 客戶端和服務(wù)器端的不同機(jī)器,就會(huì) 有很多的可配置項(xiàng)。提供了一個(gè)選擇連接哪個(gè)顯示服務(wù)器的圖形接口,只要鍵入登陸用戶 名和密碼就可以進(jìn)行驗(yàn)證信息。 你也可以把XDM 想象成與getty 工具提供了同樣功能。它可以完成系統(tǒng)的登陸任務(wù), 然后為用戶運(yùn)行一個(gè)管理器。接下來(lái)XDM 就等待這個(gè)程序退出,發(fā)出信號(hào)用戶已經(jīng)登陸完 成,應(yīng)當(dāng)退出屏幕。這時(shí),XDM 就可以為下一個(gè)登陸用戶顯示登陸和選擇屏幕。 5.6.2 使用XDM XDM 后臺(tái)程序在/usr/X11R6/bin/xdm 中。你可以在任何時(shí)候用root 來(lái)運(yùn)行這個(gè)程序, 在本地機(jī)器上,它將啟動(dòng)管理X 的畫(huà)面。如果你要XDM 每次在啟動(dòng)時(shí)在后臺(tái)運(yùn)行,一個(gè)簡(jiǎn) 單的辦法是在/etc/ttys 中加入一個(gè)入口。有關(guān)這個(gè)文件的更多的格式和使用方法,可以看 看第16.3.2.1 節(jié)。在每個(gè)運(yùn)行XDM 程序的虛擬終端上,在默認(rèn)的文件中有這樣一行: ttyv8 '/usr/X11R6/bin/xdm -nodaemon' xterm off secure 默認(rèn)情況下,這個(gè)入口是關(guān)閉的,要啟用它,你需要把field 5 從off 改為on,然后 重新啟動(dòng)init。第一個(gè)field,這個(gè)程序?qū)⒐芾淼慕K端的名稱,是ttyv8。這意味著XDM 將 第11 頁(yè)FreeBSD 使用手冊(cè) 運(yùn)行在第9 個(gè)虛擬終端上。 5.6.3 配置XDM XDM 的配置目錄是在/usr/X11R6/lib/X11/xdm 中。在這個(gè)目錄中,你會(huì)看到幾個(gè)用來(lái) 改變XDM 行為和外觀的文件。你會(huì)找到這些文件: 描述文件 Xaccess Client authorization ruleset. Xresources Default X resource values. List of remote and local displays to manage. Xservers Default session script for logins. Xsession Xsetup_* xdm-config Global configuration for all displays running on this machine. xdm-errors Errors generated by the server program. The process ID of the currently running XDM. xdm-pid 當(dāng)XDM 運(yùn)行時(shí),在這個(gè)目錄中有幾個(gè)腳本和程序可以用來(lái)設(shè)置桌面。在下面的幾節(jié)中, 我將簡(jiǎn)要地描述這些文件的用途。這些文件的更精確的語(yǔ)法和用法在xdm 的聯(lián)機(jī)手冊(cè)中將 有詳細(xì)描述。 默認(rèn)的配置是一個(gè)長(zhǎng)方形的登陸窗口,上面有機(jī)器的名稱,“Login:”和“PassWord:” 的命令登陸口。如果你想設(shè)計(jì)你自己個(gè)性化的XDM 屏幕,這是一個(gè)很好的起點(diǎn)。 5.6.3.1 Xaccess XDM 連接的用來(lái)控制顯示的協(xié)議叫做X Display Manager Connection Protocol (XDMCP). 這個(gè)文件基本上是用來(lái)從遠(yuǎn)程機(jī)器上控制XDMCP 的連接。默認(rèn)的,它允許任何客戶端連接, 但你將看到這沒(méi)有用,因?yàn)槟J(rèn)的文件不會(huì)偵聽(tīng)到遠(yuǎn)程連接。 5.6.3.2 Xresources 這是一個(gè)默認(rèn)的用來(lái)顯示選項(xiàng)和登陸屏幕的應(yīng)用程序文件。這就是你能夠定制登陸程 序的外觀的地方。這個(gè)格式與XFree86 文檔中描述的應(yīng)用程序文件是一樣的。 5.6.3.3 Xservers 第12 頁(yè)FreeBSD 使用手冊(cè) 這是一個(gè)選擇者應(yīng)當(dāng)提供選項(xiàng)的遠(yuǎn)程屏幕的列表。 5.6.3.4 Xsession 這是一個(gè)用戶登陸后運(yùn)行的針對(duì)XDM 的默認(rèn)腳本。通常,每個(gè)用戶在~/.xsessionrc 中 將有一個(gè)定制的腳本。 5.6.3.5 Xsetup_* 這些文件包含了在顯示選項(xiàng)或登陸接口之前自動(dòng)運(yùn)行的腳本。這是一個(gè)每個(gè)顯示都要 用到的腳本,Xsetup 后面會(huì)跟一個(gè)本地顯示的數(shù)字。典型的,這些腳本將在后臺(tái)運(yùn)行一個(gè) 或兩個(gè)程序如xconsole。 5.6.3.6 xdm-config 這個(gè)文件包含了在可用于每個(gè)顯示的默認(rèn)應(yīng)用程序的形式中的設(shè)置。 5.6.3.7 xdm-errors 這個(gè)文件包含了運(yùn)行的X servers 的輸出。如果由于某種原因,XDM 正運(yùn)行的一個(gè)顯示 被掛起,這是一個(gè)查看錯(cuò)誤信息的好地方。這些信息也會(huì)被寫(xiě)到用戶的~/.xsession-errors 文件中。 5.6.4 運(yùn)行一個(gè)網(wǎng)絡(luò)顯示服務(wù)器 對(duì)于其它客戶端來(lái)說(shuō),為了連接你的顯示服務(wù)器,你將必須編輯訪問(wèn)控制規(guī)則,啟用 連接偵聽(tīng)。默認(rèn)的這些被設(shè)置成比較保守的值,這樣比較安全一點(diǎn)。要讓XDM 來(lái)偵聽(tīng)連接, 先要在xdm-config 文件中注上一行: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with xdm DisplayManager.requestPort: 0 然后重新啟動(dòng)XDM。記住默認(rèn)應(yīng)用程序的文件以“!”字母開(kāi)始,不是“#”。在這后面, 你需要設(shè)置嚴(yán)格的訪問(wèn)控制??纯丛赬access 文件中的例子,可以參考xdm 的聯(lián)機(jī)手冊(cè)。 5.6.5 替換XDM 第13 頁(yè)FreeBSD 使用手冊(cè) 有幾個(gè)替換默認(rèn)XDM 程序的方案。它們是,KDM(上一節(jié)已經(jīng)描述過(guò)了)。它能讓用戶很 容易地選擇它們的窗口管理器來(lái)登陸。 5.7 桌面環(huán)境 這節(jié)將描述FreeBSD 的X windows 環(huán)境下使用的不同桌面。一個(gè)“desktop environment” 可能僅僅是一個(gè)簡(jiǎn)單的窗口管理器,也可能是一個(gè)象KDE 或GNOME 這樣的完整的桌面 應(yīng)用程序。 5.7.1 GNOME 5.7.1.1 有關(guān)GNOME GNOME 是一個(gè)用戶界面友好的桌面環(huán)境,能夠使用戶很容易地使用和配置他們的電 腦。GNOME 包括一個(gè)面板(用來(lái)啟動(dòng)應(yīng)用程序和顯示狀態(tài)),一個(gè)桌面(存放數(shù)據(jù)和應(yīng)用 程序的地方),一套標(biāo)準(zhǔn)的桌面工具和應(yīng)用程序,和一套與其他人相互協(xié)同工作的規(guī)則。其 他操作系統(tǒng)的用戶在使用GNOME 提供的圖形驅(qū)動(dòng)的環(huán)境時(shí)會(huì)覺(jué)得很好。 5.7.1.2 安裝GNOME 要從網(wǎng)絡(luò)安裝GNOME,只要鍵入: # pkg_add -r gnome 如果你想從GNOME 的源代碼親自編譯構(gòu)建,可以使用ports 樹(shù): # cd /usr/ports/x11/gnome # make install clean GNOME 一旦被安裝好,我們必須要使用X Server 來(lái)啟動(dòng)GNOME 以代替默認(rèn)的窗口管理 器。如果你已經(jīng)定制好了文件.xinitrc,你必須將啟動(dòng)當(dāng)前窗口管理器的那行替換為 /usr/X11R6/bin/gnome-session。如果你不想添加任何特殊的配置文件,只需簡(jiǎn)單地鍵入: # echo '/usr/X11R6/bin/gnome-session' > ~/.xinitrc 就是這樣簡(jiǎn)單。鍵入startx,你就進(jìn)入了GNOME 桌面環(huán)境。 第14 頁(yè)FreeBSD 使用手冊(cè) 注意:如果你運(yùn)行了一個(gè)象XDM 這樣的管理器,就不能這樣做。而是,你用同樣的命 令創(chuàng)建一個(gè)可執(zhí)行文件.xsession。先編輯你的文件(如果它存在的話),然后用 /usr/X11R6/bin/gnome-session 替換已存在的窗口管理命令; # echo '#!/bin/sh' > ~/.xsession # echo '/usr/X11R6/bin/gnome-session' >> ~/.xsession # chmod +x ~/.xsession 另一個(gè)選項(xiàng)是在登陸時(shí)配置你的顯示管理器允許你選擇窗口管理器的;KDE2 的那節(jié)會(huì) 解釋如何使用kdm 來(lái)做,可以看KDE 顯示管理器那節(jié)。 5.7.2 KDE2 5.7.2.1 有關(guān)KDE2 KDE 是一個(gè)容易使用的現(xiàn)代的桌面環(huán)境。KDE 有很多很好的特性: 1. 一個(gè)美麗的現(xiàn)代的桌面 2. 一個(gè)集合了完美網(wǎng)絡(luò)環(huán)境的桌面 3. 一個(gè)集成的幫助系統(tǒng)允許你方便,高效地幫助你使用KDE 桌面和它的應(yīng)用程序。 4. 所有的應(yīng)用程序都是所見(jiàn)即所得。 5. 標(biāo)準(zhǔn)的菜單和工具欄,鍵盤布局,顏色配置等。 6. 國(guó)際化:KDE 可以使用超過(guò)40 種語(yǔ)言。 7. 集中的一致化的桌面驅(qū)動(dòng)配置。 8. 許多有用的KDE 應(yīng)用程序。 KDE 是一個(gè)以KDE 的KParts 為基礎(chǔ)的辦公軟件套件,它包括電子表格,幻燈片,日 程管理和新聞等軟件。KDE 也包含一個(gè)叫做Konqeuror 的瀏覽器。如果需要了解更多信息, 請(qǐng)?jiān)L問(wèn)KDE 的網(wǎng)站。 5.7.2.2 安裝KDE2 第15 頁(yè)FreeBSD 使用手冊(cè) 在寫(xiě)這篇文章的時(shí)候,kde2 的軟件包還沒(méi)有發(fā)布。不過(guò),沒(méi)有關(guān)系!在ports 樹(shù)中已 經(jīng)包含了它的源代碼。要安裝KDE2,只要這樣做: # cd /usr/ports/x11/kde2 # make install clean 這個(gè)命令可以取得所有必須的文件,配置和編譯KDE2,安裝應(yīng)用程序,然后自己進(jìn)行 整理。現(xiàn)在,你將必須告訴X server 啟動(dòng)KDE2 以代替默認(rèn)的窗口管理器。只要這樣做: # echo '/usr/X11R6/bin/startkde' > ~/.xinitrc 現(xiàn)在,無(wú)論你什么時(shí)候進(jìn)入X-windows,KDE2 就是你的桌面了。 (注釋:如果你通過(guò)一個(gè)象xdm 這樣的顯示管理器登陸,它就會(huì)不工作。這樣的話,你有 兩個(gè)選擇:創(chuàng)建一個(gè)文件.xsession,用/usr/X11R6/bin/startkde 命令代替gnome-session 命令;或者配置你的顯示管理器允許你在登陸時(shí)選擇桌面。下面,將解釋如何在kdm 中這 樣做) 5.7.3 有關(guān)KDE2 的更多細(xì)節(jié) 現(xiàn)在KDE2 已安裝在你的系統(tǒng)中了,你將發(fā)現(xiàn)你能從它的幫助系統(tǒng)中學(xué)到很多東西。 Windows 或Mac 用戶會(huì)覺(jué)得很自然。有關(guān)KDE 的最好的參考資料是它的在線文檔。KDE 擁 有它自己的web 瀏覽器Konqueror,還有很多應(yīng)用程序和豐富的文檔。 5.7.3.1 KDE 顯示管理器 如果你是一個(gè)多用戶系統(tǒng)的系統(tǒng)管理員,你可能想要給用戶一個(gè)圖形登陸界面。你可 以使用xdm。然而,也包含一個(gè)叫KDM 的登陸界面,它看起來(lái)很吸引人,還包含很多登陸選 項(xiàng)(KDE2, GNOME 或其它)。 運(yùn)行KDE2 的控制面板,需要是root 用戶。 注意:通常情況下,以root 用戶來(lái)運(yùn)行X 環(huán)境是很不安全的。你應(yīng)當(dāng)以普通用戶來(lái)使 用窗口管理器,打開(kāi)一個(gè)終端窗口xterm 或KDE's konsole,用su 來(lái)成為root 用戶,然 后鍵入kcontrol。 第16 頁(yè)FreeBSD 使用手冊(cè) 點(diǎn)擊左面標(biāo)記“system”的圖標(biāo),然后選擇'Login manager'。在右面,你將看到幾個(gè) 配置選項(xiàng),KDE 聯(lián)機(jī)手冊(cè)會(huì)詳細(xì)介紹的。點(diǎn)擊'sessions'。根據(jù)你要安裝的窗口管理器或桌 面環(huán)境,你可以在'New type'中鍵入他們的名字然后加入它們。你也可以用同樣方法定制 其他菜單。完成之后,鍵入'Apply'按紐,推出控制中心。 要確信KDM 理解你上面的標(biāo)簽(KDE, GNOME 等)的意思,你需要編輯一些文件:xdm 也 是一樣。在你的終端窗口,作為root 用戶,要編輯/usr/X11R6/lib/X11/xdm/Xsession 文 件。 case $# in 1) case $1 in failsafe) exec xterm -geometry 80x24-0-0 esac esac 你需要在這部分加一行。你給出的標(biāo)簽是KDE2 和GNOME,就象下面這樣: case $# in 1) case $1 in KDE2) exec /usr/X11R6/bin/startkde GNOME) 第17 頁(yè)FreeBSD 使用手冊(cè) exec /usr/X11R6/bin/gnome-session failsafe) exec xterm -geometry 80x24-0-0 esac esac /usr/X11R6/bin/kdmdesktop 現(xiàn)在,你只需要確信在系統(tǒng)下次啟動(dòng)時(shí),kdm 會(huì)被啟動(dòng)。要知道如何做,可以讀讀有關(guān) xdm 的章節(jié),只要將xdm 的程序替換成kdm 的程序就可以完成同樣的功能。就這么簡(jiǎn)單。你 的下一個(gè)登陸屏幕將有一個(gè)漂亮的外觀和許多菜單。 你需要在/usr/X11R6/lib/X11/xdm/Xsetup_0 中加入下面這行: 第18 頁(yè) 5.7.3.2 Anti-aliased 字體 啟動(dòng)version 4.0.2,XFree86 可以通過(guò)它的'RENDER'擴(kuò)展來(lái)支持anti-aliasing,Qt 支持 這個(gè)擴(kuò)展。在5.5.3 節(jié)描述到了這些。所以如果你正運(yùn)行的是更高版本的軟件,anti-aliasing 也可以在你的KDE2 桌面上使用。只需要到你的KDE2 菜單,到Preferences -> Look and Feel -> Style,然后點(diǎn)擊'Use Anti-Aliasing for Fonts and Icons'。就這樣。如果你運(yùn)行的Qt 應(yīng)用程 序不是KDE 的一部分,你可能需要在啟動(dòng)程序前設(shè)置QT_XFT 的環(huán)境變量為true。 5.7.4 XFCE 5.7.4.1 有關(guān)XFCE XFCE 是被GNOME 使用的以gtk+ toolkit 為基礎(chǔ)的。它看起來(lái)很象UNIX 商業(yè)系統(tǒng)開(kāi)發(fā) 的CDE。它的很多特性包括: 1. 一個(gè)簡(jiǎn)單,容易使用的桌面。 2. 完全通過(guò)鼠標(biāo)用拖放和按鍵來(lái)控制等。FreeBSD 使用手冊(cè) 3. 與CDE 相似的主面板,菜單,applets 和launchers。 4. 集成的窗口管理器,文件管理器,聲音管理器,GNOME 應(yīng)用模塊,和其他一些。 5. 有很多主題界面。 6. 快速,高效。 更多有關(guān)XFCE 的信息可以在XFCE 網(wǎng)站中找到。 5.7.4.2 安裝XFCE 安裝xfce,執(zhí)行下面的命令: # pkg_add -r xfce 另外,你也可以直接從源代碼構(gòu)建。 # cd /usr/ports/x11-wm/xfce # make install clean 所有必需的源代碼包會(huì)被自動(dòng)地找到,構(gòu)建和安裝,然后建構(gòu)區(qū)域會(huì)被自動(dòng)清理干凈。 現(xiàn)在,你要告訴服務(wù)器在下次啟動(dòng)時(shí)執(zhí)行XFCE。執(zhí)行下面的命令: # echo '/usr/X11R6/bin/startxfce' > ~/.xinitrc 接下來(lái)就是執(zhí)行X,XFCE 將成為你的桌面。 (注意:如果你通過(guò)象xdm 這樣的顯示管理器來(lái)登陸,你需要?jiǎng)?chuàng)建一個(gè).xsession 文件,使 用/usr/X11R6/bin/startxfce 命令;或者配置你的顯示管理器允許在啟動(dòng)時(shí)選擇一個(gè)桌 面)。
標(biāo)簽:
Windows系統(tǒng)
排行榜
