12.3. 安裝 XFree86

安裝 XFree86 最簡單的方法就是在作業系統安裝時用 sysinstall 程式,或是後來使用 指令 /stand/sysinstall 安裝 。在接下來的章節中,我們將介紹 這樣要如何的安裝,並且說一下如何自行手動安裝 X11 。

12.3.1. XFree86 的檔案配置

XFree86 配置相當多的檔案,接下來章節,我們將會說明那些是需要安裝的,或是您不知道如何選擇, 但是有 200MB 的磁碟剩餘空間,那全部安裝也可以。

至少必須安裝下面表格之一,符合顯示卡的檔案。執行時將需要至少 10Mb 的記憶體,伺服器則需要 1.7 到 3 MB 的記憶體。

下表是所需的元件。

檔案說明
Xbin.tgz所有 X 客戶端的應用程式及函式庫。
Xfnts.tgz misc 和 75 dpi 的字型。
Xlib.tgz資料檔案及執行時所需函式。

12.3.2. X 伺服器

為了達成上述說的,您至少需一個 X 的伺服器,那將佔掉約 3 MB 的磁碟空間。 主要因選擇不同的顯示卡而有所不同,預設的 X 伺服器是, /usr/X11R6/bin/X, 而他是一個程式的檔案連結到 /usr/X11R6/bin/XF86_xxxx。 您可以在安裝光碟的 /cdrom/XF86336/Servers,找到支援標準 PC 架構的 X 程式 在 /cdrom/XF86336/PC98-Servers,找到支援日本 PC98 架構的 X 程式。 或是也可以經由 FTP 網站取得。 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.3-RELEASE/XF86336/Servers/ 或是 ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.3-RELEASE/XF86336/PC98-Servers/

在標準 PC 架構下可用的 X 伺服器:

檔案說明
X8514.tgz8-bit 顏色 IBM 8514 型,或是完全相容。
XAGX.tgz8 及 16-bit 顏色 AGX 及 XGA 的顯示卡。
XI128.tgz8 及 16-bit 顏色 I128 的顯示卡。
XMa32.tgz8 及 16-bit 顏色 ATI Mach32 的顯示卡。
XMa64.tgz8, 16, 及 32-bit 顏色 ATI Mach64 的顯示卡。
XMa8.tgz8-bit 顏色 ATI Mach8 的顯示卡。
XMono.tgz1-bit monochrome for VGA, Super-VGA, Hercules, and others.
XP9K.tgz8, 16, 及 32-bit 顏色 Weitek P9000 的顯示卡 (Diamond Viper)。
XS3.tgz8, 16, 及 32-bit 顏色 S3 的顯示卡。
XS3V.tgz8 及 16-bit 顏色 S3 ViRGE 的顯示卡。
XSVGA.tgz>=8-bit 顏色,支援 Super-VGA 的顯示卡。
XVG16.tgz4-bit 顏色,支援 VGA and Super-VGA 的顯示卡。
XW32.tgz8-bit 顏色,支援 ET4000/W32, /W32i, /W32p, 和 ET6000 的顯示卡。

在日本的 PC98 架構下可用的 X 伺服器:

檔案說明
X9GAN.tgz8-bit 顏色,支援 PC98 GA-98NB/WAP 的顯示卡。
X9GA9.tgz8, 16, 和 32-bit 顏色,支援 PC98 S3 GA-968 的顯示卡。
X9480.tgz8-bit 顏色,支援 PC98 PEGC
X9NKV.tgz8-bit 顏色,支援 PC98 NEC-CIRRUS/EPSON NKV/NKV2 的顯示卡。
X9WBS.tgz8-bit 顏色,支援 PC98 WAB-S 的顯示卡。
X9WEP.tgz8-bit 顏色,支援 PC98 WAB-EP 的顯示卡。
X9WSN.tgz8-bit 顏色,支援 PC98 WSN-A2F 的顯示卡。
X9EGC.tgz4-bit 顏色,支援 PC98 EGC.
X9TGU.tgz8 和 16-bit 顏色,支援 PC98 Trident Cyber9320/9680 的顯示卡。
X9NS3.tgz8 和 16-bit 顏色,支援 PC98 NEC S3 的顯示卡。
X9SPW.tgz8 和 16-bit 顏色,支援 PC98 S3 PW/PCSKB 的顯示卡。
X9LPW.tgz8 和 16-bit 顏色,支援 PC98 S3 PW/LB 的顯示卡。

每一個 X 伺服程式都有說明的文件,包含詳細支援的顯示晶片,和特定說明。

同時也有提供一些的檔案給 X 的開發人員:

檔案說明
Xprog.tgz設定 lib*.a,和客戶端編輯 *.h 所需的檔案。
Xctrb.tgzContributed sources.
Xlk98.tgz"link kit",日本 PC98 架構下,建立伺服器的連結工具。
Xlkit.tgz"link kit",在標準 PC 架構下,建立伺服器的連結工具。
Xsrc-1.tgz第一部份完整的程式碼。
Xsrc-2.tgz第二部份完整的程式碼。
Xsrc-3.tgz第三部份完整的程式碼。

Note: 您將需要 Xprog.tgz 如果您有要安裝 X 在 ports 下的軟體。

XFree86 同時也包含了一些附加的部份,像是說明文件,安裝程式。

檔案說明
Xdoc.tgz說明檔。
Xjdoc.tgz日文說明檔。
Xps.tgzPostScript 檔案格式的說明檔。
Xhtml.tgzHTML 檔案格式的說明檔。
Xman.tgzX 系統的說明文件(譯註:man pages)。.
Xcfg.tgz個別設定 xinitxdm 執行時設定的檔案。
Xset.tgzX86Setup 程式; 是圖形介面的設定工具,而 xf86config 則是文字介面。
Xjset.tgzXF86Setup 日文版在標準 PC 架構下的設定工具。

XF86Setup 是圖形模式的設定工具,但您也許會喜歡標準的設定工具 xf86config。對 xf86config您不需要特別的檔案; 它已經包含在 Xbin.tgz之中。

第一次安裝時,您將需要 Xcfg.tgz 來建立您的起始設定檔,要安裝更新版本時, 不要用它,否則會覆蓋原有的設定檔。

在 XFree86 下,還有其他可用的字型:

檔案說明
Xf100.tgz100 dpi 的字型。
Xfscl.tgzSpeedo and Type1 的字型。
Xfnon.tgz日文,中文,及其他非英文的字型。
Xfcyr.tgzCyrillic fonts.

不同於以上說明的 X 伺服器, 下列的檔案已含在主要的目錄中。

檔案說明
Xfsrv.tgzThe font server.(字型伺服器)
Xnest.tgzA nested server running as a client window on another display.
Xprt.tgzThe print server.(列印伺服器)
Xvfb.tgzThe Virtual Framebuffer X server, which renders into memory or an mmapped file.

12.3.3. 手動安裝 XFree86

如果您不是使用 sysinstall 來安裝 X ,您需要實行以下步驟:

  1. 建立所需的目錄,並將檔案解壓縮。

  2. 選擇並安裝 X 伺服器。

  3. 設定能連結 X 的環境。

  4. 找一個能執行 X 的終端機。

  5. 設定要執行 X 的硬體。

這些步驟聽起來好像很多,但如有依照方法步驟也不會很難,以下步驟將告訴您每一個步驟。

12.3.3.1. 將檔案解壓縮

您必須有 root 的權限,因為有些檔案是以 set-user-id 的方式執行 (它們在執行時擁有 root 的權限)。如果您用一般的使用者去解壓縮,他可能在執行時中斷。 您必須用 umask 的值 022 (權限 rwxr-xr-x ),因為 X 需要特殊的權限。

    % su
    Password:
    # umask 022

如果您在 /usr 的目錄下沒有足夠的空間,您可在另一個磁碟分割區 建立一個目錄,在將 /usr 連到結所建立的目錄。 例如:在檔案系統上有 /home 有足夠的空間您可以 :

    # cd /home
    # mkdir X11R6
    # ln -s /home/X11R6 /usr/X11R6

然後,決定需要安裝那些檔案。最小安裝必須選擇 Xbin.tgzXfnts.tgzXlib.tgz,和 Xcfg.tgz 。 如果您已設定好 X 的硬體,可以省略 Xcfg.tgz

如果您是使用 sh ,像這樣解壓縮:

    # mkdir -p /usr/X11R6
    # cd /usr/X11R6
    # for i in bin fnts lib cfg; do
    #   tar xzf X$i.tgz
    # done

如果您是使用 csh ,像這樣輸入:

    # mkdir -p /usr/X11R6
    # cd /usr/X11R6
    # foreach i (bin fnts lib cfg)
    ?   tar xzf X$i.tgz
    ? end

12.3.3.2. 安裝 X 伺服器

相對於您的顯示卡,選擇適合的檔案。如果上面章節的表格的資料仍然不足, 請參考 X 伺服器的 man pages 的資料,/usr/X11R6/man/man1/XF86_*,就會 列出每個 X 伺服器所支援的晶片。 例如:如果您的顯示卡是使用 ET4000 的晶片,那您就是用<XF86_SVGA 的 X 伺服器。 然後可以輸入:

    # cd /usr/X11R6
    # tar xzf XSVGA.tgz [輸入適合的 X 伺服器名稱]

12.3.3.3. 設定環境

接下來,您可能需要建立一個連結指到 /usr/X11/bin/X 連結將連到您所設的 X 伺服器,在這個例子中,連結指到 XF86_SVGA 伺服器:

    # cd /usr/X11R6/bin
    # rm X
    # ln -s XF86_SVGA X

X 必須有這個連結才能正確的工作,但是仍然可在執行 xf86config 中做設定 - 如下:

下一步,如果是 sh 檢查 /usr/X11R6/bin 目錄路徑已存在 /etc/profile 的預設路徑中,csh 則是在 /etc/csh.login, 如果沒有的話,就加上。 最好用文書編輯器,但是如果您想走捷徑,您可以輸入:

    # echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile

或:or:

    # echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login

或是,確定每個 X 的使用者都有 /usr/X11R6/bin 在他們的預設路徑 PATH 變數之中。variable.

接下來,用 ldconfig 將共享的函式庫放入 ld.so 的暫存之中:

    # ldconfig -m /usr/X11R6/lib

您可以不用 ldconfig ,如果您在執行 X 之前打算重新開機的話。

您可以不用解壓縮字型的檔案,但是不解壓縮的話,您必須在相同的目錄下執行 mkfontdir ,否則您的 X 伺服器無法執行,並告訴你 "could not open default font `fixed'"

12.3.3.4. 指定 X 的需終端機

確定您有多餘的終端機。 首先檢查您有幾個終端機:

    # dmesg | grep virtual
    sc0: VGA color <16 virtual consoles, flags=0x0>

檢查 /etc/ttys 以確定, 至少有一個終端機 (ttyvxx device) 並沒有啟動。 看這個字 off:

    # grep ttyv /etc/ttys
    ttyv0  "/usr/libexec/getty Pc" cons25  on secure
    ttyv1  "/usr/libexec/getty Pc" cons25  on secure
    ttyv2  "/usr/libexec/getty Pc" cons25  on secure
    ttyv3  "/usr/libexec/getty Pc" cons25  off secure

在這個例子中,/dev/ttyv3 是可以用的, 如果您的系統核心支援少於 4 個終端機。您可以重編核心,以支援更多的終端機, 如不是,您可以在 /etc/ttys 中設定一個終端機 getty 不啟動, 只要將 on 改成 off 即可。

12.3.3.5. 設定 X 的硬體

在安裝完 X 的軟體後,您將需要個別設定 X 設定檔 XF86Config , 需要讓 X 伺服器知道您的硬體,和其他執行時的設定。

為了設定 XF86Config, 您需要有以下的硬體資訊:

  • 您的滑鼠形式,序列埠的滑鼠的速度,和您所使用的連結裝置。 一般而言對序列埠滑鼠應該是 /dev/ttyd0 或是/dev/ttyd1,對 PS/2 的滑鼠是 /dev/psm0 , 或 /dev/mse0 for a bus mouse.

  • 牌子顯示卡的牌子,及顯示卡上的記憶體大小。 如果是沒有名字的卡,可參考它所用的晶片。

  • 顯示器參數;有垂直及水平的掃描頻率。

12.3.3.6. 判斷硬體

您應如何得知您使用何種的硬體嗎? 製造商應該會告訴您,但經常我們得知的是很有限的; "Super VGA 的顯示卡,掃描頻率76 Hz ,可達 16,777,216 色"。 這告訴了您最高可達的像素 (24 bits - - 顏色的數目是 2 (像素深) 但是他並沒告訴您其他有關於這塊顯示卡的資料。

接下來我們會看到您真正需要的參數是,水平的掃描頻率,掃描頻率範圍,顯示 卡的晶片,及卡上有多少的記憶體。

您可能沒有這些資料,但是您可藉由 SuperProbe 程式得到。 它應該能告訴您顯示A卡的晶片,及卡上有多少的記憶體。

有些時候 SuperProbe 會讓您的系統當機,請確定您要執行 時沒跑什麼重要的工作。執行 SuperProbe 看起來像這樣:

    # SuperProbe
    (warnings and acknowledgments omitted)
    First video: Super-VGA
            Chipset: Tseng ET4000 (Port Probed)
            Memory:  1024 Kbytes
            RAMDAC:  Generic 8-bit pseudo-color DAC
                     (with 6-bit wide lookup tables (or in 6-bit mode))

SuperProbe 執行時是過於講究,您常得到下面的訊息:

    SuperProbe: Cannot be run while an X server is running
    SuperProbe: If an X server is not running, unset $DISPLAY and try again
    SuperProbe: Cannot open video

換句話說,即使沒有 X 伺服器在執行,如果您有設定環境變數 DISPLAYSuperProbe 並無法執行 。 要如何刪除呢? 是Bourne-style shells 時,您輸入:

    # unset DISPLAY

在 C shell 時,您輸入:

    # unsetenv DISPLAY

12.3.3.7. 執行 xf86config

最容易建立設定檔的方式,是執行工具程式 xf86config (注意是小寫的) 或是 XF86Setup。 兩個都會引導您一步一步的設定。 xf86config 是在文字模式下執行,而 XF86Setup 是在圖形模式下執行。 XF86Setup 在一般的硬體下比較容易有問題,所以我個人一般較喜歡用 xf86config.

您也可以使用 sysinstall,但並沒有很大的不同; sysinstall 只是為您去執行 xf86config, 及比較容易直接開始,在此章節,我們會用一個例子來說明,如何用 xf86config 來設定。 我們正在安裝一塊很舊,配有 1 MB 顯示卡記憶體的 Diamond SpeedStar 顯示卡,一隻 Logitech MouseMan 的滑鼠,以及一個 ADI MicroScan 5AP 的顯示器。 滑鼠是連接電腦的第一個序列埠 /dev/ttyd0

執行 xf86config,輸入程式的名稱。 如果 /usr/X11R6/bin 有在您 PATH 的環境變數堙A您只要打 xf86config。 如果沒有,您需要輸入完整的 xf86config 路徑名稱,像:

    # /usr/X11R6/bin/xf86config

這程式會基於您的選項建立基本 XF86Config 設定檔。

The XF86Config 程式檔,通常在file usually resides in /usr/X11R6/lib/X11 或是or /etc. XFree86 會提供一個範例檔 XF86Config; 它設置了標準的 VGA 卡和顯示器,有 640x480 的解析度。當他要寫入檔案時,會詢問路徑名稱。

您可以用範例的 XF86Config 為基礎去修改,或是讓程式產生 基礎的 XF86Config 檔,及合適的設定。 /usr/X11R6/lib/X11/doc/README.Config 檔案有詳細有關設定過程的說明。

關於伺服器的加速(包含 SVGA 伺服器的加速驅動程式),此程式並不知道這些 ,關於晶片及顯示卡的設定及聲明。在某些設定,有些設定值是必需聲明的,請 參閱伺服器的 man 資料,及晶片的聲明文件。

在繼續設定時,請確定您知道是那一種晶片及顯示卡的記憶體大小。 SuperProbe 程式可以幫您。如果您知道要執行那一種 X 伺服器,他也是很有幫助的。

    Press enter to continue, or ctrl-c to abort. ENTER
    
    First specify a mouse protocol type. Choose one from the following list:
    
     1.  Microsoft compatible (2-button protocol)
     2.  Mouse Systems (3-button protocol)
     3.  Bus Mouse
     4.  PS/2 Mouse
     5.  Logitech Mouse (serial, old type, Logitech protocol)
     6.  Logitech MouseMan (Microsoft compatible)
     7.  MM Series
     8.  MM HitTablet
     9.  Microsoft IntelliMouse

如果您是使用雙鍵的滑鼠,大多選擇 protocol 1,如果是三鍵的滑鼠可能 protocal 1 及 protocol 2 都支援。 接下來選項,主要有兩種,有開關可選擇的滑鼠預設是 protocol 1 的滑鼠,在開機時就設定的為 protocol 2 . 有些滑鼠可以設定對序列埠特別的訊號,可以參考(ClearDTR/ClearRTS 的選項)。

    Enter a protocol number: 6              Logitech MouseMan
    
    You have selected a Logitech MouseMan type mouse. You might want to enable
    ChordMiddle which could cause the third button to work.
    
    Please answer the following question with either 'y' or 'n'.
    Do you want to enable ChordMiddle? n

大多的 X 程式都可使用第三鍵,您應該會想啟動。如果是 genuine Logitech 的滑鼠, 您不需要啟動 ChordMiddle 就可使用。如果您發現啟動 X 後,並不能使用 第三鍵,您可以編輯設定檔,以啟動 ChordMiddle 這樣是比重新執行 XF86Setup 設定容易的。

接下來的過設定項目:

    If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons.
    
    Please answer the following question with either 'y' or 'n'.
    Do you want to enable Emulate3Buttons? n
    
    Now give the full device name that the mouse is connected to, for example
    /dev/tty00. Just pressing enter will use the default, /dev/mouse.
    
    Mouse device: /dev/ttyd1

這一個項目必須較小心,您必須正確的指出耍所連結的裝置。 xf86config 並非專為 FreeBSD 設計的,預設範例是錯誤的, 序列埠滑鼠是由 /dev/ttyd0/dev/ttyd3 ,PS/2 的滑鼠是 /dev/psm0 , bus mouse 則是 /dev/mse0

接下來,我們會看到:

    Beginning with XFree86 3.1.2D, you can use the new X11R6.1
    XKEYBOARD extension to manage the keyboard layout. If you answer 'n' to the
    following question, the server will use the old method, and you have to
    adjust your keyboard layout with xmodmap.
    
    Please answer the following question with either 'y' or 'n'.
    Do you want to use XKB? y
    
    The following dialogue will allow you to select from a list of already
    preconfigured keymaps. If you don't find a suitable keymap in the list,
    the program will try to combine a keymap from additional information you
    are asked then. Such a keymap is by default untested and may require
    manual tuning. Please report success or required changes for such a
    keymap to XFREE86@XFREE86.ORG for addition to the list of preconfigured
    keymaps in the future.
    
    Press enter to continue, or ctrl-c to abort.
    
    List of preconfigured keymaps:
    
      1  Standard 101-key, US encoding
      2  Microsoft Natural, US encoding
      3  KeyTronic FlexPro, US encoding
      4  Standard 101-key, US encoding with ISO9995-3 extensions
      5  Standard 101-key, German encoding
      6  Standard 101-key, French encoding
      7  Standard 101-key, Thai encoding
      8  Standard 101-key, Swiss/German encoding
      9  Standard 101-key, Swiss/French encoding
     10  None of the above
    
    Enter a number to choose the keymap.
    
    1                                       Choose the standard US keyboard

現在我們要設定螢幕,比較重要的參數是螢幕垂直的更新率,也就是螢幕更新的速率, 和最重要的同步水平更新率,也就是掃描線顯示的速度。

你螢幕的說明書上應該有正確的螢幕垂直的更新率,同步水平更新率。如果還是不確定,可以查閱 螢幕的資料庫 /usr/X11R6/lib/X11/doc/Monitors , 看您的螢幕型號有沒在裡面。

    Press enter to continue, or ctrl-c to abort. ENTER
    
    You must indicate the horizontal sync range of your monitor. You can either
    select one of the predefined ranges below that correspond to industry-
    standard monitor types, or give a specific range.
    
    It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
    sync range that is beyond the capabilities of your monitor. If in doubt,
    choose a conservative setting.
    
        hsync in kHz; monitor type with characteristic modes
     1  31.5; Standard VGA, 640x480 @@ 60 Hz
     2  31.5 - 35.1; Super VGA, 800x600 @@ 56 Hz
     3  31.5, 35.5; 8514 Compatible, 1024x768 @@ 87 Hz interlaced (no 800x600)
     4  31.5, 35.15, 35.5; Super VGA, 1024x768 @@ 87 Hz interlaced, 800x600 @@ 56 Hz
     5  31.5 - 37.9; Extended Super VGA, 800x600 @@ 60 Hz, 640x480 @@ 72 Hz
     6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @@ 60 Hz, 800x600 @@ 72 Hz
     7  31.5 - 57.0; High Frequency SVGA, 1024x768 @@ 70 Hz
     8  31.5 - 64.3; Monitor that can do 1280x1024 @@ 60 Hz
     9  31.5 - 79.0; Monitor that can do 1280x1024 @@ 74 Hz
    10  31.5 - 82.0; Monitor that can do 1280x1024 @@ 76 Hz
    11  Enter your own horizontal sync range
    
    Enter your choice (1-11):

不幸的是,我們範例的螢幕型號沒有在 /usr/X11R6/lib/X11/doc/Monitors 堙A 我們還可以用手動輸入這些的資料。螢幕垂直的更新率,水平掃描頻率是 30 to 64 kHz , 而螢幕垂直掃描頻率 50 to 100 Hz 。水平掃描頻率幾乎和第 8 個選項相同。但是比我們的 螢幕資料高了 0.3 kHz ? 您要冒險嗎?這樣做大多是沒有問題的,螢幕應該不會因為這樣一點的 差別就不能用,而且 XF86Config 未必能產生這樣介於64.0 and 64.3 kHz 的頻率, 但是我們並不需要冒這樣的險,輸入正確的值即可。

    Enter your choice (1-11): 11
    
    Please enter the horizontal sync range of your monitor, in the format used
    in the table of monitor types above. You can either specify one or more
    continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync
    frequencies.
    
    Horizontal sync range: 30-64

接下來,是選擇幕垂直掃描頻率:

    You must indicate the vertical sync range of your monitor.
    You can either select one of the predefined ranges below that correspond
    to industry-standard monitor types, or give a specific range.  For
    interlaced modes, the number that counts is the high one (e.g., 87 Hz
    rather than 43 Hz).
    
     1  50-70
     2  50-90
     3  50-100
     4  40-150
     5  Enter your own vertical sync range
    
    Enter your choice: 3                         exactly the range of the monitor

下一個是輸入一個可供辨視的的名稱。您可以想你要的名稱,除非您處理很多的的硬體, 您可以讓 xf86config 為您決定名稱:

    You must now enter a few identification/description strings,
    namely an identifier, a vendor name, and a model name. Just pressing enter
    will fill in default names.
    
    The strings are free-form, spaces are allowed.
    Enter an identifier for your monitor definition: ENTER
    Enter the vendor name of your monitor:  ENTER
    Enter the model name of your monitor:  ENTER

再來就是選擇螢幕顯示卡,在這個例子中,我們是用以 ET4000 為晶片早期的 Diamond SpeedStar Plus 顯示卡,以及未知的 Ramdac 。來看看如何處理:

    Now we must configure video card specific settings.  At
    this point you can choose to make a selection out of a database of video
    card definitions.  Because there can be variation in Ramdacs and clock
    generators even between cards of the same model, it is not sensible to
    blindly copy the settings (e.g., a Device section).  For this reason,
    after you make a selection, you will still be asked about the components
    of the card, with the settings from the chosen database entry presented as
    a strong hint.
    
    The database entries include information about the chipset, what server to
    run, the Ramdac and ClockChip, and comments that will be included in the
    Device section. However, a lot of definitions only hint about what server
    to run (based on the chipset the card uses) and are untested.
    
    If you can't find your card in the database, there's nothing to worry about.
    You should only choose a database entry that is exactly the same model as
    your card; choosing one that looks similar is just a bad idea (e.g. a
    GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
    hardware as can be).
    
    Do you want to look at the card database? y
      0  2 the Max MAXColor S3 Trio64V+                    S3 Trio64V+
      1  928Movie                                          S3 928
      2  AGX (generic)                                     AGX-014/15/16
      3  ALG-5434(E)                                       CL-GD5434
      4  ASUS 3Dexplorer                                   RIVA128
      5  ASUS PCI-AV264CT                                  ATI-Mach64
      6  ASUS PCI-V264CT                                   ATI-Mach64
      7  ASUS Video Magic PCI V864                         S3 864
      8  ASUS Video Magic PCI VT64                         S3 Trio64
      9  AT25                                              Alliance AT3D
     10  AT3D                                              Alliance AT3D
     11  ATI 3D Pro Turbo                                  ATI-Mach64
     12  ATI 3D Xpression                                  ATI-Mach64
     13  ATI 3D Xpression+ PC2TV                           ATI-Mach64
     14  ATI 8514 Ultra (no VGA)                           ATI-Mach8
     15  ATI All-in-Wonder                                 ATI-Mach64
     16  ATI Graphics Pro Turbo                            ATI-Mach64
     17  ATI Graphics Pro Turbo 1600                       ATI-Mach64
    
    Enter a number to choose the corresponding card definition.
    Press enter for the next page, q to continue configuration.
    ENTER

數以百計的資料以字母排序,終於我們看到:

    108  DSV3325                                           S3 ViRGE
    109  DSV3326                                           S3 Trio64V+
    110  DataExpert DSV3325                                S3 ViRGE
    111  DataExpert DSV3365                                S3 Trio64V+
    112  Dell S3 805                                       S3 801/805
    113  Dell onboard ET4000                               ET4000
    114  Diamond Edge 3D                                   nv1
    115  Diamond Multimedia Stealth 3D 2000                S3 ViRGE
    116  Diamond Multimedia Stealth 3D 2000 PRO            S3 ViRGE/DX
    117  Diamond SpeedStar (Plus)                          ET4000
    118  Diamond SpeedStar 24                              ET4000
    119  Diamond SpeedStar 24X (not fully supported)       WD90C31
    120  Diamond SpeedStar 64                              CL-GD5434
    121  Diamond SpeedStar HiColor                         ET4000
    122  Diamond SpeedStar Pro (not SE)                    CL-GD5426/28
    123  Diamond SpeedStar Pro 1100                        CL-GD5420/2/4/6/8/9
    124  Diamond SpeedStar Pro SE (CL-GD5430/5434)         CL-GD5430/5434
    125  Diamond SpeedStar64 Graphics 2000/2200            CL-GD5434
    
    Enter a number to choose the corresponding card definition.
    Press enter for the next page, q to continue configuration.
    
    117
    
    Your selected card definition:
    
    Identifier: Diamond SpeedStar (Plus)
    Chipset:    ET4000
    Server:     XF86_SVGA
    
    Press enter to continue, or ctrl-c to abort.ENTER
    
    Now you must determine which server to run.  Refer to the man pages and
    other documentation.  The following servers are available (they may not
    all be installed on your system):
    
     1  The XF86_Mono server. This a monochrome server that should work on any
        VGA-compatible card, in 640x480 (more on some SVGA chipsets).
     2  The XF86_VGA16 server. This is a 16-color VGA server that should work on
        any VGA-compatible card.
     3  The XF86_SVGA server. This is a 256 color SVGA server that supports
        a number of SVGA chipsets. On some chipsets it is accelerated or
        supports higher color depths.
     4  The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8,
        XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 and
        XF86_S3V.
    
    These four server types correspond to the four different "Screen" sections in
    XF86Config (vga2, vga16, svga, accel).
    
     5  Choose the server from the card definition, XF86_SVGA.
    
    Which one of these screen types do you intend to run by default (1-5)?

程式已經幫我們選擇了 XF86_SVGA 。 我們需要改嗎? 最好有很好的理由才做。 在這個例子堙A我們不需要改,保留程式為我們的選擇即可:

    Which one of these screen types do you intend to run by default (1-5)? 5
    
    The server to run is selected by changing the symbolic link 'X'. For example,
    the SVGA server.
    
    Please answer the following question with either 'y' or 'n'.
    Do you want me to set the symbolic link? y

所有啟動 X 的程式 (xinit, startx, and xdm)會啟動 /usr/X11R6/bin/X 程式。 這會是一個連結,連到您的 X 伺服器。 沒有這個連結,您將無法啟動您的 X 。

    Now you must give information about your video card.  This
    will be used for the "Device" section of your video card in XF86Config.
    
    You must indicate how much video memory you have. It is probably a good
    idea to use the same approximate amount as that detected by the server you
    intend to use. If you encounter problems that are due to the used server
    not supporting the amount memory you have (e.g. ATI Mach64 is limited to
    1024K with the SVGA server), specify the maximum amount supported by the
    server.
    
    How much video memory do you have on your video card:
    
     1  256K
     2  512K
     3  1024K
     4  2048K
     5  4096K
     6  Other
    
    Enter your choice: 3
    
    You must now enter a few identification/description strings, namely an
    identifier, a vendor name, and a model name. Just pressing enter will fill
    in default names (possibly from a card definition).
    
    Your card definition is Diamond SpeedStar (Plus).
    
    The strings are free-form, spaces are allowed.
    Enter an identifier for your video card definition: ENTER
    You can simply press enter here if you have a generic card, or want to
    describe your card with one string.
    Enter the vendor name of your video card:  ENTER
    Enter the model (board) name of your video card:  ENTER
    
    Especially for accelerated servers, Ramdac, Dacspeed and ClockChip settings
    or special options may be required in the Device section.
    
    The RAMDAC setting only applies to the S3, AGX, W32 servers, and some
    drivers in the SVGA servers. Some RAMDAC's are auto-detected by the server.
    The detection of a RAMDAC is forced by using a Ramdac "identifier" line in
    the Device section. The identifiers are shown at the right of the following
    table of RAMDAC types:
    
      1  AT&T 20C490 (S3 and AGX servers, ARK driver)                att20c490
      2  AT&T 20C498/21C498/22C498 (S3, autodetected)                att20c498
      3  AT&T 20C409/20C499 (S3, autodetected)                       att20c409
      4  AT&T 20C505 (S3)                                            att20c505
      5  BrookTree BT481 (AGX)                                       bt481
      6  BrookTree BT482 (AGX)                                       bt482
      7  BrookTree BT485/9485 (S3)                                   bt485
      8  Sierra SC15025 (S3, AGX)                                    sc15025
      9  S3 GenDAC (86C708) (autodetected)                           s3gendac
     10  S3 SDAC (86C716) (autodetected)                             s3_sdac
     11  STG-1700 (S3, autodetected)                                 stg1700
     12  STG-1703 (S3, autodetected)                                 stg1703
    
    
    Enter a number to choose the corresponding RAMDAC.
    Press enter for the next page, q to quit without selection of a RAMDAC.
    
    
    q                                  We don't need this
    
    
    A Clockchip line in the Device section forces the detection of a
    programmable clock device. With a clockchip enabled, any required
    clock can be programmed without requiring probing of clocks or a
    Clocks line. Most cards don't have a programmable clock chip.
    Choose from the following list:
    
     1  Chrontel 8391                                               ch8391
     2  ICD2061A and compatibles (ICS9161A, DCS2824)                icd2061a
     3  ICS2595                                                     ics2595
     4  ICS5342 (similar to SDAC, but not completely compatible)    ics5342
     5  ICS5341                                                     ics5341
     6  S3 GenDAC (86C708) and ICS5300 (autodetected)               s3gendac
     7  S3 SDAC (86C716)                                            s3_sdac
     8  STG 1703 (autodetected)                                     stg1703
     9  Sierra SC11412                                              sc11412
    10  TI 3025 (autodetected)                                      ti3025
    11  TI 3026 (autodetected)                                      ti3026
    12  IBM RGB 51x/52x (autodetected)                              ibm_rgb5xx
    
    Just press enter if you don't want a Clockchip setting.
    What Clockchip setting do you want (1-12)? ENTER
    
    For most configurations, a Clocks line is useful since it prevents the slow
    and nasty sounding clock probing at server start-up. Probed clocks are
    displayed at server startup, along with other server and hardware
    configuration info. You can save this information in a file by running
    imprecise; some clocks may be slightly too high (varies per run).
    
    At this point I can run X -probeonly, and try to extract the clock information
    from the output. It is recommended that you do this yourself and add a clocks
    line (note that the list of clocks may be split over multiple Clocks lines) to
    your Device section afterwards. Be aware that a clocks line is not
    appropriate for drivers that have a fixed set of clocks and don't probe by
    default (e.g. Cirrus). Also, for the P9000 server you must simply specify
    clocks line that matches the modes you want to use.  For the S3 server with
    a programmable clock chip you need a 'ClockChip' line and no Clocks line.
    
    You must be root to be able to run X -probeonly now.
    
    Do you want me to run 'X -probeonly' now?

這最後是蠻值得想的。您可以在某些時候執行 X -probeonly , 但是,這需要其他的工作。 我們等一下會來嘗試和對您提供建議。

    Do you want me to run 'X -probeonly' now? n
    
    For each depth, a list of modes (resolutions) is defined. The default
    resolution that the server will start-up with will be the first listed
    mode that can be supported by the monitor and card.
    Currently it is set to:
    
    "640x480" "800x600" "1024x768" for 8bpp
    "640x480" "800x600" for 16bpp
    "640x480" for 24bpp
    "640x400" for 32bpp
    
    Note that 16, 24 and 32bpp are only supported on a few configurations.
    Modes that cannot be supported due to monitor or clock constraints will
    be automatically skipped by the server.
    
     1  Change the modes for 8pp (256 colors)
     2  Change the modes for 16bpp (32K/64K colors)
     3  Change the modes for 24bpp (24-bit color, packed pixel)
     4  Change the modes for 32bpp (24-bit color)
     5  The modes are OK, continue.
    
    Enter your choice: 5     accept the defaults
    
    You can have a virtual screen (desktop), which is screen area that is larger
    than the physical screen and which is panned by moving the mouse to the edge
    of the screen. If you don't want virtual desktop at a certain resolution,
    you cannot have modes listed that are larger. Each color depth can have a
    differently-sized virtual screen
    
    Please answer the following question with either 'y' or 'n'.
    Do you want a virtual screen that is larger than the physical screen? n

要決定您是否要有一個比實際螢幕大的虛凝視窗,是有點煩人的問題,所以我建議回答 n 就好了。 假如您的螢幕最高解析度也不高的話,也許您會覺得有點用。

現在設定結束 sysinstall 要寫入設定檔:

    I am going to write the XF86Config file now.  Make sure
    you don't accidently overwrite a previously configured one.
    
    Shall I write it to /etc/XF86Config? y
    
    File has been written. Take a look at it before running 'startx'. Note that
    the XF86Config file must be in one of the directories searched by the server
    (e.g. /usr/X11R6/lib/X11) in order to be used. Within the server press
    ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,
    alt and backspace simultaneously immediately exits the server (use if
    the monitor doesn't sync for a particular mode).
    
    For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config.

完成設定檔後,您就可以開始 X 了。