FreeBSD連載(46):使用XF86Setup配置X伺服器

1999年12月19日 17:46 王波

使用XF86Setup配置X伺服器

  XF86Setup是在圖形界面下運行的設置程序,它運行在圖形界面下,如果系統沒有啟動 X Window系統,那麼它會自動啟動一個標準VGA模式的X伺服器,因此這就要求FreeBSD系統內 必須安裝了XFree86的VGA模式的伺服器XF86_VGA,XF86Setup首先使用預設設置啟動這個16色 、640x480分辨率的X伺服器,然後再運行XF86Setup設置程序本身。

  但如果已經啟動了X伺服器,使用這個設置程序進行重新設置X伺服器的話,那麼就會 使用現有的X伺服器。XF86Setup還會詢問是否以現有設置為基礎進行設置,如果X Window運行 正常的情況下,應該以現有設置為基礎進行修改,而不必完全重新進行設置。

  XF86Setup配置程序的顯示如上圖顯示,它顯示了可供操作的六個選項,設置滑鼠的 Mouse選項,設置鍵碟的Keyboard,設置顯示卡的Card選項,設置顯示器的Monitor選項,設 置顯示模式 ── 分辨率和刷新頻率的Modeseletion選項,以及設置一些其他X伺服器的選項 Other,除了最後一個選項之外,每個選項都需要重新設置。

  在XF86Setup中可以使用滑鼠或鍵碟進行操作,通常鍵碟都是標準鍵碟,因此不需要 額外設置,而滑鼠需要額外的檢測和設置。設置程序會試圖檢測電腦上所使用的滑鼠類型 和端口,以對滑鼠進行探測。如果FreeBSD系統配置並運行了moused,XF86Setup就毫無問題 的檢測出這個偽滑鼠設備,供使用者使用滑鼠進行操作。如果沒有使用moused,就有檢測鼠 標就可能失敗,使用者就只能使用鍵碟進行操作。

  在這個設置界面下,首先可以使用回車,首先進入滑鼠選項的設置界面,這樣可以 首先設置滑鼠,滑鼠設置完畢之後就能使用滑鼠進行下面的各項操作了。與大部分應用程序 相同,鍵碟操作使用的基本鍵是Tab與Enter,Tab用於在各個設置選項之間切換,Enter用於 選擇相應的選項。

  第一次進行操作時將出現上圖所顯的對話框,閱讀過其顯示的信息之後,就可以確 認,以進入各項設置的操作過程。

  • 設置滑鼠

  設置X伺服器的第一步就是要配置滑鼠,滑鼠是X Window的必需設備,如果沒有設置 滑鼠,X伺服器就不能正確啟動。如果已經使用Sysinstall配置好了控制台滑鼠守護進程moused ,那麼滑鼠就能被正確偵測到,這就能略過設置滑鼠的步驟,直接進入下一個設置選項。

  moused守護進程在後台維護著/dev/sysmouse這個偽設備,將滑鼠物理端口送來的鼠 標移動和點擊數據轉化為這個偽設備上的滑鼠操作數據,那麼X伺服器就能使用/dev/sysmouse 這個設備檔案作為滑鼠設備,使用SysMouse作為滑鼠類型,而不必管真實的滑鼠端口和類型。 使用moused的一大好處就是滑鼠設備由moused維護,而與X伺服器無關,因此不會因為滑鼠的 問題造成X伺服器的故障。因此一般情況下,應該使用moused來維護滑鼠設備。

  如果不打算運行moused來管理滑鼠設備,此時就需要根據滑鼠的具體類型和連接到 的具體端口,來選擇對應的正確設備檔案,來為X伺服器設置滑鼠。如果滑鼠是接在第一個 串行端口sio0上,那麼對應的設備為/dev/ttyd0,第二個串口設備為ttyd1,而常用的串口 2鍵滑鼠為Microsoft類型。其他設備檔案包括對應PS/2滑鼠的psm0,對應總線滑鼠的mse0等 。但是在moused正常啟動的條件下,真實的物理端口就不能正常工作了。

  當沒有使用moused的時候,就需要使用鍵碟進行操作。鍵碟操作就比較繁瑣,但設 置完畢之後,可以立即選擇右邊的按鈕 “Apply” ,使滑鼠可以立即發揮作用,此後就能使 用滑鼠進行其他操作了。如果滑鼠設置正確,該界面上右邊的滑鼠圖形中的按鍵會隨滑鼠按 鍵而閃動,其位置坐標會隨滑鼠移動而改變。

  除了基本的滑鼠類型和端口之外,滑鼠選項中還有很多參數可以調整,其中一個重 要的參數為 “Emulate3Button” ,因為X Window系統習慣上使用3鍵滑鼠進行操作,很多功 能用到了滑鼠的第三個鍵。而普通個人電腦滑鼠是2鍵滑鼠,那麼就需要使用2鍵模擬中鍵 的功能,選擇這個選項就使得在同時按下滑鼠的左右2鍵時,X伺服器將這個動作解釋為按下 了第三個鍵 ── 中鍵。當然如果電腦上本來就是使用3鍵滑鼠,就不必考慮這個問題了。 滑鼠還有一些其他設置,如解析率、移動速率等,一般使用預設值,不需要改動。

  注意:在使用moused的情況下,映射的sysmouse偽設備本身就為一個3鍵滑鼠,因此 Emulate3Button選項就會失效。需要使用moused的 “-3” 參數,在moused中打開雙鍵模擬第 3鍵的功能。

  • 鍵碟設置

  接下來就需要配置鍵碟,預設設置為標準101鍵的PC鍵碟,就在標準個人電腦下正 常工作,因此對於快速配置X伺服器,可以略過這一步配置。當然也可以根據實際選擇102鍵 標準鍵碟或104鍵Windows95標準鍵碟,其他種類的鍵碟在個人電腦平台上很少見到。

  這個部分中的其他設置是為了與Unix工作站使用的鍵碟相兼容,而對鍵碟上的功能 鍵Ctrl、Shift等重新映射它們的位置和定義。主要是因為專用工作站鍵碟中的控制鍵的位 置與標準PC鍵碟不同,使用這些設置就能使標準PC鍵碟適合習慣於專用工作站鍵碟的使用者 。這些設置一般根據使用者的個人習慣而定,對於習慣個人電腦鍵碟的使用者,一般不需 要改變這些設置。

  • 設置顯示卡

  對於X Server的設置來將,最重要、也最困難的一步就是設置正確的顯示卡類型, 目前的X伺服器已經相當完善,有能力自行檢測顯示卡的硬體種類,因此甚至可以不配置這 個選項,而留給設置系統來確定。此時就可以跳過這個設置步驟。

  然而對於個人電腦平台來講,硬體種類過多,並且不同的號稱兼容的硬體事實上 存在細微兼容性問題,自動檢測並不能保証百分之百檢測正確,因此如果自動檢測的結果 不能使X伺服器正常工作,就需要手工指定顯示卡硬體的類型,及相應的參數。顯然手工設 置這些參數不是一個簡單的事情,需要對自己電腦的硬體有相當了解,最好閱讀README 檔案(左邊按鈕),並進一步閱讀/usr/X11R6/lib/X11/doc目錄下的相關文檔,以了解清 楚硬體配置。

  此時,XFree86的自動檢測信息也對了解硬體配置信息很有幫助,XFree86提供的程 序SuperProbe可以用來來檢測目前電腦使用的硬體,這個程序將探測顯示卡的硬體設置, 並將結果返回給用戶,幫助用戶設置系統。

# /usr/X11R6/bin/SuperProbe

SuperProbe Version 2.18 (22 December 1998)
        (c) Copyright 1993,1994 by David Wexelblat 
        (c) Copyright 1994-1998 by The XFree86 Project, Inc

        This work is derived from the 'vgadoc2.zip' and
        'vgadoc3.zip' documentation packages produced by Finn
        Thoegersen, and released with all appropriate permissions
        having been obtained.  Additional information obtained from
        'Programmer's Guide to the EGA and VGA, 2nd ed', by Richard
        Ferraro, and from manufacturer's data books

Bug reports are welcome, and should be sent to XFree86@XFree86.org.
In particular, reports of chipsets that this program fails to
correctly detect are appreciated.

Before submitting a report, please make sure that you have the
latest version of SuperProbe (see http://www.xfree86.org/FAQ).

WARNING - THIS SOFTWARE COULD HANG YOUR MACHINE.
          READ THE SuperProbe.1 MANUAL PAGE BEFORE
          RUNNING THIS PROGRAM.

          INTERRUPT WITHIN FIVE SECONDS TO ABORT!

First video: Super-VGA
        Chipset: ATI 264GT3 (3D Rage III) (Port Probed)
        Memory:  2048 Kbytes
        RAMDAC:  ATI Mach64 integrated 15/16/24/32-bit DAC w/clock
                 (with 6-bit wide lookup tables (or in 6-bit mode))
                 (programmable for 6/8-bit wide lookup tables)
        Attached graphics coprocessor:
                Chipset: ATI Mach64
                Memory:  2048 Kbytes

  XF86Setup提供的顯示卡設置界面有兩種,一種是以各種具體不同的顯示芯片列表的 方式進行顯示的,如上圖所示,但顯示卡上的其他硬體設置都是通過自動檢測進行探測。另 一種依據X伺服器的種類進行劃分,可以指定芯片的具體類型、顯存的容量等一些參數的設 置。一般可以選擇Detailed Setup按鈕,設置X伺服器的具體參數。

  在這個Detail Setup的設置方式中,能選擇不同的X伺服器,並設置芯片、顯存、時 序等具體的硬體參數,由於X伺服器能夠自動探測到系統中的這些參數,一般不必設置這些 值。最重要的是要在選擇要使用的正確X伺服器,這是因為每一種X伺服器只能支持部分種類 的顯示芯片,如果選擇的X伺服器不支持實際使用顯示芯片,那麼肯定不能正確檢測出顯示 硬體的各個參數。因此需要根據顯示芯片來確定X伺服器,而XFree86的文檔中提供了那種X 伺服器支持那些顯示芯片的相關信息。

  必須注意的是,這裡選擇的X伺服器一定要在安裝過程中安裝到系統中了,否則就找 不到正確的X伺服器程序,也不可能正確啟動X Window系統。

  • 顯示器類型

  接下來要確定顯示器的類型,目前使用的顯示器都為多頻顯示器,需要選擇正確的 水平和垂直同步頻率範圍。顯示器的水平和垂直同步頻率範圍決定了顯示器的分辨率和刷新 頻率能力,超過這個頻率範圍將使顯示器不能正常工作,甚至損壞顯示器。實際上顯示器的 分辨率和該分辨率下刷新頻率這兩個參數才是使用者最關心的數據,也是用來判斷顯示器能 力的最基本參數,此外還有一些參數,如色差、輻射等,屬於對顯示器的更高要求,但它們 對於X伺服器的設置沒有影響。

  一個顯示器的水平和垂直同步頻率範圍決定顯示器在某個分辨率下的最高刷新頻率, 反過來,一個給定的分辨率和在此分辨率下的給定刷新頻率也能確定顯示器的同步頻率範圍, 因此可以在圖上給出的可選的分辨率和刷新速率選項中,選擇自己顯示器支持的分辨率與刷新 頻率的最高值。選擇的值太低就不能充分發揮顯示器的能力,太高會造成不能正確顯示的問題 。因為這個設置比較重要,因此需要查看顯示器手冊以得到正確的參數設置(另一種方式是通 過從低到高的嘗試,來確認正確的設置)。

  當選定了一個顯示器的類型時,就也確定了該顯示器使用的顯示模式,即分辨率和相 應的刷新頻率。因此X Window就會使用的相應顯示模式,這個模式就可以用於下面的設置。然 而顯示器實際能支持的模式要多於這裡設置的顯示模式,XF86Setup中並沒有提供在同步頻率 範圍內支持的全部分辨率,只是提供了在某個同步頻率範圍內值得推荐使用的顯示模式。雖然 顯示器的最小點大小和顯示器本身的大小決定了一個顯示器最適合的顯示分辨率,例如在小顯 示器下使用太高的分辨率就沒有太大意義(因為實質上並不能區分出兩個近鄰的點),但是提 供更多的顯示模式能適應一些特殊需要。通常對於15英寸顯示器最好使用800x600或1024x768 分辨率,17”顯示器可以使用1024x768或1280x1024分辨率。

  另一方面,由於一定顯示器的水平和垂直同步範圍一定,因此如果分辨率提高了,則刷 新頻率就不得不降下來,甚至降到隔行掃描的方式,這樣顯示器將閃爍的厲害,不適合長時間 使用。當分辨率和刷新頻率的設置超出水平和垂直同步頻率範圍,則顯示器將不能正常顯示。

  • 設置顯示模式

  另外一個設置是選擇正確的顯示模式,XF86Setup從低到高列出一系列分辨率模式和 多個顏色深度供選擇。這一步能選擇的顯示分辨率模式要受上一步設置的顯示器支持的顯示模 式的限制。在上一步設置中,有的顯示器設置中同時設置了多個顯示模式選項,此時就能在這 裡選擇相應的多個顯示分辨率,而有的設置僅僅支持部分顯示模式,這裡就只能使用對應的分 辨率。同時設置多個顯示模式的好處是能夠動態切換顯示模式,但對於正常使用並沒有太大必 要。選擇的最大分辨率模式將決定X伺服器虛屏大小的設置。

  然後可以選擇運行X的顏色數,預設為8bpp,即256色,但由於硬體的發展,顯示內存一 般都比較充裕,因此更常使用16bpp、24bpp等設置,使X能使用更豐富的顏色。這個顏色數主要 由顯示內存和顯示虛屏的大小來決定,虛屏中的每個象素都占用一個顏色深度大小的顯示內存 (8bpp為1個字節,16bpp為2個字節等等),而虛屏的大小為該顏色深度下的最大分辨率模式的 大小(可以在以後更改),那麼所有虛屏上的象素占用的空間,不能操作顯存的大小。一般來將 ,也不應該將虛屏(或顏色深度)設置的占滿顯存,因為硬體加速卡內部操作會使用空余顯存作 緩衝區,占滿顯存就會影響硬體加速能力。

  • 其他設置

  其他選項中主要設置一些X伺服器的屬性標志,如是否可以使用Ctrl-Alt-BackSpace熱鍵 退出X伺服器,是否允許動態切換顯示分辨率,是否捕獲各種信號,是否允許從其他電腦上使用 xvidtune或類似程序改變目前顯示分辨率模式,是否許可從其他電腦的X客戶程序更改伺服器的 鍵碟和滑鼠設置等。

  一般均使用預設設置,如果管理員要提供更大的限制,例如不允許使用熱鍵退出而必須使 用正常的退出方式等,就應該改動預設設置。

  • 保存設置啟動X伺服器

  所有的選擇結束之後,就可以選擇這個對話框最下端的Done按鈕,XFree86將按所配置的 參數重新啟動相應的X伺服器。如果配置正確,那麼X伺服器將會正確啟動,進入設置好的圖形系 統。

  這個時候選擇選單的第一項可以運行xvidune,XF86Setup在這裡提供了一個對顯示模式 進行微調的機會。顯示器出廠設置的時候,只有最常用的顯示模式才被調整到最佳設置,其他模 式的設置並不位於最佳設置,在寬、窄、高、低等方面均不是最佳設置。這樣在顯示器的顯示模 式切換的時候,常常會發生顯示器所顯示的內容不在螢幕正中,或者高度、寬度不正常,這種問 題一般可以通過調節顯示器下面的按鈕來糾正。然而對較早的模擬式顯示器來講,調整一個顯示 模式的設置,就會影響其他顯示模式(例如字符模式)的顯示,這樣就不適合經常切換顯示模式 的情況。對於數字式顯示器就不存在這個問題,因為顯示器能記憶多個顯示模式的設置數據,因 此現在一般不需要使用這個調節程序,而直接使用顯示器的調整按鈕。

  然而xvidtune也能幫助糾正顯示模式的偏差,而且無須調整顯示器下的任何旋鈕,這尤其 對於舊式顯示器就更為重要。它通過微調顯示模式使用的掃描頻率,直接糾正這個問題。因此就可 以執行xvidtune調整顯示,當一切正常之後,退出xvidtune時,設置程序將從xvidtune中獲得目前 使用的掃描頻率,並將其保存到設置檔案中。如果在設置程序之外執行xvidtune,不會自動保存調 整結果,而需要手工更改設置檔案。

  xvidtune能改變顯示模式,也可能超出顯示器支持的能力之外,早期的固定頻率的顯示器 可能會因此造成損壞,現代多頻顯示器不會因為短時間的模式超範圍使用,造成過於嚴重的後果。 但仍然需要小心操作。xvidtune視窗中顯示有調節參數的按鈕,每點按一次改變一些參數之後, 應該先使用Test來看看有無問題,再使用Apply來確認改變。一旦顯示內容變的不可分辨,表示設 置超出了顯示器的能力,就應該迅速使用Ctrl、Alt和Backspace組合鍵將X殺死,以避免長時間超 範圍使用顯示器,而對顯示器造成損壞。

  使用xvidtune或數字式顯示器的調節鍵將模式調節正確之後,然後選擇第二項,將結果保 存到前面指出的配置檔案中,預設為/etc/XF86Config,這就是XFree86的X伺服器使用的配置檔案 。退出XF86Setup之後,就可以使用startx來啟動X Window了。

  X伺服器如果不能正確啟動,說明前面的配置中出現了錯誤。此時可以重新進入設置程序, 並重新開始進行設置。需要更仔細的修改相應的配置,以避免錯誤再次發生。配置錯誤主要發生在 顯示卡硬體的設置上,但也要注意顯示器的設置不要超過顯示器的實際顯示能力。

  當確信XFree86的目前版本不支持所使用電腦的顯示硬體,就只能使用16色的標準VGA模 式,或者購買Xi Graphics等商業公司X伺服器。一些Linux版本,具備新型顯示硬體的XFree86的補 丁或X伺服器,FreeBSD的使用者可以從補丁出發重新編譯支持新硬體的X伺服器,或者直接運行Linux 的X伺服器,所需要作的只是調整相應的設備檔案的不同。