久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

FreeBSD連載(50):定制X Window的基本方法

瀏覽:5日期:2024-02-03 18:27:10
定制X Window的基本方法

與其他圖形界面相比,X Window是高度可配置的,這是因?yàn)閄 Window本身只是定義了一系列最基本的顯示功能調(diào)用,而并沒有規(guī)定圖形窗口應(yīng)該是什么樣子的,因此大批程序員為X Window開發(fā)了各種不同風(fēng)格的開發(fā)工具包和窗口管理程序,使得X Window的風(fēng)格多種多樣。因此X Window的使用者有多種選擇,可以根據(jù)自己的喜好來定制工作站的圖形界面。

顏色深度、分辨率與字體配置:

在前面的設(shè)置過程中可以設(shè)置X服務(wù)器使用多種色彩深度,如8bpp、16bpp、24bpp和32bpp,一般來講色彩深度越大,所能表現(xiàn)的色彩越豐富,而24bpp就被稱為真彩色,能真實(shí)的表現(xiàn)圖象的色彩(32bpp實(shí)際也只是24bpp,它是為了讓每個(gè)象素都占據(jù)獨(dú)立的32位雙字,以對(duì)齊象素邊界,加速處理速度)。缺省的色彩深度為對(duì)應(yīng)于256色的8bpp,顯然這不足于表現(xiàn)圖象的色彩,在硬件能力滿足的條件下應(yīng)該使用更高的色彩深度(要受顯存大小和分辨率大小的限制)。例如要設(shè)置X服務(wù)器工作在16bpp的準(zhǔn)真彩色下,可以使用帶參數(shù)的startx或xinit。

$ startx -- -bpp 16

其中前面的兩個(gè)--線表示將后面的參數(shù)不加改變的傳遞給X服務(wù)器。另一種設(shè)置缺省色彩深度的方法是在X的設(shè)置文件XF86Config中設(shè)置DefaultColorDepth選項(xiàng)。

由于X Window中的色彩深度是可以改變的,為了幫助客戶程序使用具體的色彩,X客戶程序中使用的色彩將通過X服務(wù)器映射為真實(shí)的色彩。X中還定義了多種標(biāo)準(zhǔn)色的名字,在X程序或資源定義文件中直接使用色彩名字,如Red、Blue,就得到常用的顏色。

X服務(wù)器也可以同時(shí)支持多種分辨率,并能夠在運(yùn)行時(shí)刻動(dòng)態(tài)切換它所支持的分辨率。在前面XF86Setup設(shè)置程序中的顯示器設(shè)置選項(xiàng)中,有部分顯示器能同時(shí)設(shè)置了幾個(gè)顯示模式,然而這些分辨率并不是該顯示器能支持的分辨率的全部,如果是使用xf86config或者手工更改設(shè)置文件,還能設(shè)置更多的分辨率。當(dāng)設(shè)置了多個(gè)分辨率模式的時(shí)候,就能在XWindow下使用熱鍵、和向后切換模式,使用、和向前切換分辨率模式,其中和是小鍵盤上的鍵,主鍵盤上的并不能用來切換分辨率。

雖然存在不同的分辨率模式,但是X服務(wù)器顯示的虛屏大小仍然相同,虛擬顯示屏大于實(shí)際顯示屏,但可以通過鼠標(biāo)的移動(dòng),在實(shí)際顯示屏上顯示虛擬顯示屏的不同部分。因此在有多個(gè)分辨率的時(shí)候,虛擬顯示屏至少應(yīng)該等同于最大分辨率的大小,這樣不論切換到哪個(gè)分辨率,應(yīng)用程序的窗口仍然保持原有的樣子,只是窗口有可能位于真實(shí)的顯示屏外,需要通過移動(dòng)鼠標(biāo)來移動(dòng)虛擬顯示屏,看到應(yīng)用程序窗口的全貌。由于移動(dòng)虛擬顯示屏是通過直接控制顯示卡上的寄存器來進(jìn)行的,不需要在顯存或內(nèi)存中進(jìn)行額外的移動(dòng)或復(fù)制操作,因此幾乎不消耗資源,也不影響任何顯示速度。

雖然XFree86缺省已經(jīng)支持了相當(dāng)豐富的字體,但是還是有可能需要安裝新的字體,例如某種中文字體。X Window的字體應(yīng)該在配置文件中設(shè)置其搜尋路徑,但在啟動(dòng)X Window之后,也可以使用xset命令來重新設(shè)置字體的搜尋路徑。

xset fp+ :增加一個(gè)字體搜尋目錄。

xset fp- :刪除一個(gè)字體搜尋目錄。

xset fp= :重新設(shè)置字體搜尋目錄。

xset fp rehash:更改某個(gè)字體目錄中的內(nèi)容后,強(qiáng)迫系統(tǒng)刷新字體搜尋路徑。

要想使用一些使用者自己設(shè)置的字體,就要按下面的步驟將這些字體加入到X Window的搜尋路徑。

將這些字體單獨(dú)放在一個(gè)目錄下,或者放到系統(tǒng)原有的字體目錄下。

運(yùn)行 “mkfontdir 該字體目錄” ,構(gòu)建這個(gè)字體目錄(將按照所有的字體,重新生成fonts.dir文件)。

使用 “xset fp+ 該字體目錄” 或 “xset fp rehash” ,使設(shè)置生效。

fonts.dir文件中包含該字體目錄下所有字體的名字,以下為一個(gè)例子的部分內(nèi)容,該文件每一行都給出一個(gè)字體的名字。

gb16st.pcf.gz -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0gb24st.pcf.gz -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-010x20.pcf.gz -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1gb16fs.pcf.gz -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0

可以看出font.dir中的內(nèi)容分為兩部分,第一部分為字體文件的名字,第二部分為字體的名字。每個(gè)字體的名字用 “-” 將不同的部分分隔開了,這些相互分隔的部分包括字體的開發(fā)者、字體的類別、字體本身的尺寸(磅數(shù))、傾斜度和點(diǎn)的大小,字符間距的類型、字體所為的字符集,以及字符的風(fēng)格。

可以看出,每個(gè)字體的名字相當(dāng)復(fù)雜,然而可以通過定義別名的方式來簡化具體字體的名字,在一個(gè)字體目錄下,都有一個(gè)對(duì)應(yīng)的fonts.alias的文件,這里就登記了很多字體的別名,使用者也可以自己根據(jù)需要增添。

fixed-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1variable -*-helvetica-bold-r-normal-*-*-120-*-*-*-*-iso8859-15x7-misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-15x8-misc-fixed-medium-r-normal--8-80-75-75-c-50-iso646.1991-irv

上面就是某個(gè)font.alias的一部分,它的第一列就為簡單易記的別名。在運(yùn)行X Window時(shí),可以使用xlsfonts來查看系統(tǒng)中可以使用的字體信息,使用xfontsel來查看每種字體的外觀。

定制客戶桌面基本方法

根窗口的特征可以使用xsetroot命令來設(shè)置,可以使用它來定制窗口的顏色(背景色和前景色),或者使用一個(gè)位圖作為背景等。也可以使用”xset s seconds”來定義屏幕保護(hù)的激活時(shí)間,”xset s default”將屏幕保護(hù)設(shè)為系統(tǒng)的缺省配置。

還有很多更強(qiáng)大的X程序能用來定制X的根窗口,設(shè)置壁紙和屏幕保護(hù)。例如可以使用xv來將gif或jpg等類型的圖片設(shè)置為壁紙,這些程序都可以在FreeBSD的Packages Collection和Ports Collection中找到。

X客戶程序通常使用標(biāo)準(zhǔn)的構(gòu)件,通常這些構(gòu)件都有一些標(biāo)準(zhǔn)的參數(shù)來定義它們使用的字體、文字的前景色、背景色、滾動(dòng)條等。這些參數(shù)可以通過更改構(gòu)件的資源設(shè)置,來改變其設(shè)置。一般使用用戶個(gè)人目錄下的.Xdefaults或.Xresoures作為用戶的個(gè)人資源文件,資源文件在啟動(dòng)時(shí)在.xinitrc文件中由xrdb命令載入系統(tǒng)。

除了資源設(shè)置之外,標(biāo)準(zhǔn)X客戶程序中的構(gòu)件也支持標(biāo)準(zhǔn)的命令行選項(xiàng),可以用來改變窗口構(gòu)件的屬性:

-borderwith或-bw,框架的寬度,以像素為單位

-foreground或-fg,前景色

-background或-bg,背景色

-display,客戶程序要使用的X服務(wù)器的顯示位置

-font或-fn,顯示特殊文字使用的字體

-geometry,窗口的幾何結(jié)構(gòu),包括位置和大小

-iconic,以圖標(biāo)方式啟動(dòng)

-title,標(biāo)題欄的標(biāo)題

選擇窗口管理器和桌面環(huán)境

在FreeBSD安裝好XFree86之后,缺省的窗口管理器是twm,這是一個(gè)比較簡單的窗口管理器,會(huì)使得第一次接觸X Window的使用者對(duì)X Window產(chǎn)生不好的印象,但是如果進(jìn)一步了解X Window系統(tǒng),就會(huì)知道X Window本身并沒有包括真正好用的窗口管理器,但是卻存在很多種優(yōu)秀的窗口管理器能達(dá)到這個(gè)目的,使X Window變得更華麗、更易用。

因此必須從Packages Collection中選擇安裝相應(yīng)的窗口管理器或桌面環(huán)境,可供選擇的有fvwm95、AfterStep、KDE等。

fvwm95是從另一個(gè)窗口管理器fvwm2的進(jìn)行改進(jìn)之后的版本,它被設(shè)置為與Windows95的桌面非常相似,因此習(xí)慣于Windows95界面的個(gè)人計(jì)算機(jī)使用者常常會(huì)選擇這個(gè)窗口管理器,然而既然使用的是X Window,沒有必要一定還要使用Window95的顯示風(fēng)格,使用fvwm2、AfterStep等其他窗口管理器來嘗試其他風(fēng)格更為有益。一般情況下使用者還是會(huì)安裝一個(gè)fvwm95,fvwm95使用的配置文件是用戶主目錄下的.fvwm2rc95文件,而缺省配置文件為/usr/X11R6/lib/fvwm95/system.fvwm2rc95文件。使用fvwm95時(shí)最簡單的啟動(dòng)文件.xinitrc應(yīng)包括:

/usr/X11R6/bin/fvwm95

AfterStep是模仿NextStep的窗口管理器,這個(gè)窗口管理器精巧而且漂亮,如果不是過于沉迷于Windows95的操作方式,不妨使用這個(gè)窗口管理器,它還有幾個(gè)派生的管理器,如WindowMaker、enlightenment等。為了充分發(fā)揮AfterStep的華麗,X的顯示屏應(yīng)該大于800x600的分辨率,并至少使用16bpp的色彩深度。AfterStep的所有配置文件均放置在用戶主目錄下的GNUStep目錄中,相應(yīng)的啟動(dòng)文件為:

/usr/X11R6/bin/AfterStep

與前面兩者不同,gnome和KDE不僅僅是一個(gè)窗口管理器,還包括大量的應(yīng)用程序和相關(guān)工具(gnome使用enlightenment作為其缺省窗口管理器)。這些桌面環(huán)境包括各種應(yīng)用程序、控制條、圖形化的設(shè)置程序等,使用它們能夠全面享受到圖形桌面環(huán)境的優(yōu)點(diǎn),但它們占用的系統(tǒng)資源也相對(duì)較多。如果是將安裝FreeBSD的計(jì)算機(jī)用做一臺(tái)工作站,那么就應(yīng)該選擇其中一種桌面環(huán)境,用戶可以根據(jù)自己的喜好來選擇安裝gnome或者KDE。

如果選擇安裝了KDE時(shí),在.xinitrc及.xsession中應(yīng)該包含的相應(yīng)啟動(dòng)命令為:

/usr/local/bin/startkde

在3.2=RELEASE之后,F(xiàn)reeBSD能通過Sysinstall來設(shè)置不同的桌面環(huán)境,Sysinstall能安裝相應(yīng)的軟件包,并在/usr/share/skel中添加dot.xinitrc和dot.xsession文件,這樣在生成用戶時(shí)就自動(dòng)生成.xinitrc和.xsession文件。

配置和使用KDE

KDE不單單是一個(gè)窗口管理程序,它包括了使用X Window圖形界面進(jìn)行操作所需要的各種應(yīng)用程序。它的主要部分為一個(gè)擁有任務(wù)條、工具條、快捷圖標(biāo)的桌面環(huán)境,并包括可用于瀏覽WWW網(wǎng)頁的文件管理器、編輯器、計(jì)算器、CD播放器、郵件處理程序、新聞組閱讀程序等等大量的應(yīng)用程序。

KDE的另一個(gè)特點(diǎn)就是包括了對(duì)圖形界面外觀的定制程序,一般情況下Unix中進(jìn)行配置需要修改對(duì)應(yīng)的配置文件,雖然這種方式提供了很大的靈活性,但對(duì)于很多不重要的設(shè)置,并不需要這么靈活的方式,而要求方便、簡易。在KDE下不需要使用手工更改配置文件,而是通過圖形界面的設(shè)置程序進(jìn)行設(shè)置,因此更容易使用。下面為一個(gè)KDE界面的例子:

由于KDE是為了高性能的圖形界面開發(fā)的,因此為了獲得較好的觀感,至少應(yīng)該以800x600分辨率運(yùn)行X Window,建議使用1024x768以上的分辨率,以充分發(fā)揮KDE的顯示效果。

KDE圖形桌面由桌面背景、快捷圖標(biāo)、工作欄和任務(wù)條組成,每個(gè)可以點(diǎn)擊的位置上通常使用左鍵一次點(diǎn)擊啟動(dòng)相應(yīng)的功能,使用右鍵點(diǎn)擊出現(xiàn)一個(gè)菜單,可以進(jìn)行相關(guān)設(shè)置。上圖為進(jìn)行工作欄和任務(wù)條的外觀設(shè)置,設(shè)置它們顯示的不同的大小和位置。此外,在桌面上使用右鍵可以配置桌面外觀,包括墻紙和屏幕保護(hù)。點(diǎn)擊左下角的K圖標(biāo)可以彈出一個(gè)菜單,菜單中包括了KDE環(huán)境提供個(gè)多種應(yīng)用程序,也可以添加對(duì)其他應(yīng)用程序的連接。

與MS Windows不同,KDE(以及大部分X窗口管理器),使用一次點(diǎn)擊啟動(dòng)應(yīng)用程序,而不是雙擊。KDE下切換窗口的熱鍵與Windows相同為Alt-Tab。

KDE界面低部工作欄上的各個(gè)按鈕都對(duì)應(yīng)一個(gè)相應(yīng)的應(yīng)用程序,而其中并列的四個(gè)按鈕,對(duì)應(yīng)四個(gè)不同虛擬屏幕,每個(gè)屏幕上的內(nèi)容各不相同,可以分別配置。KDE最多可支持八個(gè)虛擬屏幕,每個(gè)窗口只顯示在一個(gè)屏幕上,除非使用鼠標(biāo)將窗口左上角的圖釘標(biāo)志打開,這樣操作之后這個(gè)窗口總顯示在屏幕上,而不管如何切換虛擬屏幕。

KDE的配置工作全部可以通過KDE配置中心(KDE Control Center)來完成。點(diǎn)中左下角的 “K” 圖標(biāo),在菜單中選中KDE Control Center或使用工作欄上的快捷圖標(biāo),就可以啟動(dòng)它對(duì)KDE的外觀進(jìn)行配置。

KDE控制中心可以設(shè)置KDE桌面環(huán)境的排列方式,如工作欄、任務(wù)欄的大小和位置,窗口的風(fēng)格,使用的顏色,屏幕保護(hù)以及其他一些應(yīng)用程序的相關(guān)設(shè)置。這些設(shè)置也可以在KDE桌面環(huán)境中,使用鼠標(biāo)右鍵彈出的菜單中的選項(xiàng)來啟動(dòng)。

由于KDE是一種國際化的應(yīng)用程序,因此可以使用上面的設(shè)置程序?qū)DE使用的字符設(shè)置為中文。當(dāng)將KDE使用的語言設(shè)置為中文時(shí),那么所有KDE的菜單都使用中文,但是這需要中文X服務(wù)器或其他中文系統(tǒng)的中文顯示能力的支持,否則KDE雖然顯示的是中文字符,但是顯示的卻會(huì)是亂碼。

對(duì)于使用XDM登錄方式的系統(tǒng),需要使用xdm以提供系統(tǒng)登錄。雖然用戶登錄后可以從.xsessin中啟動(dòng)KDE,但仍然擺脫不了xdm過于簡陋的登錄畫面。而KDE的另一個(gè)特點(diǎn)就是提供一個(gè)xdm的替代程序kdm,這使得系統(tǒng)管理員可以替換掉簡單的xdm界面,使用kdm來提供更漂亮的XDM登錄界面,這使得X Window系統(tǒng)表現(xiàn)得更為華麗。

上圖就是一個(gè)kdm的外觀,它同樣也是在KDE控制中心中來進(jìn)行配置的,只是由于kdm屬于系統(tǒng)程序,因此只有root運(yùn)行的KDE控制中心才能選擇這一項(xiàng)配置功能。設(shè)置KDM,需要選擇KDE配置中心的第一個(gè)選項(xiàng)Desktop Manager。

這個(gè)選項(xiàng)中可以設(shè)置kdm的圖標(biāo)、出現(xiàn)在kdm的用戶列表中的用戶、或者不出現(xiàn)在kdm的用戶列表中的用于,以及在會(huì)話結(jié)束時(shí)用于關(guān)閉系統(tǒng)的指令等。

將工作站用作專用X終端

專用機(jī)房中常常使用X終端為公共使用者提供服務(wù),使用者可以通過這些終端以XDM方式登錄到機(jī)房中的Unix主機(jī)上去。X終端不允許使用者登錄到自己系統(tǒng)中,而只能使用本地X服務(wù)器的處理能力,登錄到其他主機(jī)上進(jìn)行使用。

由于個(gè)人計(jì)算機(jī)硬件更為便宜,并且由于硬件的發(fā)展其性能也并不落后,使用個(gè)人計(jì)算機(jī)作X終端也是一種在使用專用X終端之外很不錯(cuò)的選擇。可以使用FreeBSD作操作系統(tǒng),Xfree86支持X Window系統(tǒng),就能將FreeBSD系統(tǒng)用作專用X終端,這樣的優(yōu)勢(shì)是所有的軟件都可以免費(fèi)得到,就使得在實(shí)現(xiàn)幾乎同樣的性能的條件下,卻減少了大量的資金投入。

同樣也可以通過設(shè)置使得用戶不能登錄進(jìn)本地系統(tǒng),而是直接登錄到網(wǎng)絡(luò)上的其他Unix主機(jī)中去。這需要那臺(tái)提供登錄服務(wù)的Unix主機(jī)運(yùn)行xdm,這樣X終端就能通過xdmcp協(xié)議在網(wǎng)絡(luò)中通過廣播或者直接查詢的方式,查找到運(yùn)行xdm的主機(jī),并連接上來提供登錄登錄畫面,就如同在本地系統(tǒng)一樣。用作X終端的FreeBSD系統(tǒng)需要以使用特別的參數(shù)運(yùn)行X,以查找XDM主機(jī)。

如果運(yùn)行XDM的Unix主機(jī)和用作X終端的FreeBSD系統(tǒng)在同一個(gè)以太網(wǎng)段上,可以使用廣播的方式尋找運(yùn)行XDM的主機(jī),此時(shí)啟動(dòng)X的命令為:

# /usr/X11R6/bin/X -broadcast

這樣系統(tǒng)上將列出本地所有運(yùn)行XDM的Unix主機(jī),供使用者選擇登錄。或者可以直接查詢方式,通過query參數(shù)直接與某臺(tái)Unix主機(jī)相連接,這可以用在客戶機(jī)和服務(wù)器不在同一個(gè)網(wǎng)段上的時(shí)候。

# /usr/X11R6/bin/X -query Unixhost

為了使系統(tǒng)一啟動(dòng)就進(jìn)入這個(gè)登錄狀態(tài),可以將這個(gè)命令寫入shell腳本,并放入系統(tǒng)啟動(dòng)目錄/usr/X11R6/etc/rc.d中。然而此時(shí)使用ttys文件進(jìn)行設(shè)置更佳,因?yàn)榇藭r(shí)可能同時(shí)想關(guān)閉虛擬控制臺(tái),以防止X終端使用者切換到虛擬控制臺(tái)上。

未完,待續(xù)。。。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 国产乱码精品一品二品 | 欧美视频中文字幕 | 91社区在线高清 | 久久99国产精品久久99大师 | 九九热这里只有精品在线观看 | 天堂资源最新在线 | 一区二区三区回区在观看免费视频 | 成人三级在线 | 日韩二区三区 | 免费看的毛片 | 午夜合集| 亚洲第一成年免费网站 | 欧美激情五月 | 日韩在线免费 | 亚洲午夜精品一区二区三区 | 亚洲免费影院 | 99精品免费视频 | 亚洲精品综合 | 免费在线观看av | 国产精品久久久久久久午夜 | 日韩一区二区视频 | 欧美激情在线播放 | 美女黄视频网站 | 午夜免费视频福利 | 国产精品日韩在线 | 日韩中文字幕一区 | 日本精品一区二区三区在线观看 | 欧美激情视频一区二区三区在线播放 | 一级篇| 亚洲人网站 | 亚洲精品久久久久久国产精华液 | 久久精品一区二区三区四区 | 精品欧美激情在线观看 | 国产视频中文字幕 | 中文字幕亚洲欧美 | 久久综合一区二区三区 | 中文字幕亚洲精品 | 国产精品视频一区二区三区不卡 | 成人综合社区 | 一区二区三区精品视频免费看 | 国产一区二区影院 |