\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{Linux XFree86 HOWTO ÖÐÒë°æ}
\author{×÷Õß: Eric S. Raymond\\ 
 ÒëÕß: J.S. Lin, , {\ttfamily r6921068@ms.cc.ntu.edu.tw}}
\date{v5.9, 27 October 1998 }
\abstract{±¾ÎÄ¼þÃèÊöÈçºÎÈ¡µÃ,°²×°,ÓëÉè¶¨ Linux ÉÏµÄ X Window System (X11R6), XFree86 3.3 °æ. ËüÊÇÒ»²½Ò»²½Éè¶¨ XFree86 ì¶ÄãµÄÏµÍ³ÉÏ.}


\begin{document}
\maketitle
\tableofcontents

\section{½éÉÜ}

X Window System ÊÇ UNIX ÏµÍ³ÉÏÇ¿´óµÄ (ÓÐÐ©ÈË¿ÉÄÜ»áËµ¼«ÅÓ´ó¶øÇÒ·Ç³£¸´ÔÓµÄ) 
Í¼ÐÎ»¯×÷Òµ»·¾³. Ô­±¾µÄ X Window System ³ÌÊ½ÂëÊÇ MIT Ëù·¢Õ¹µÄ;
´ÓÄÇÊ±ÆðÉÌÒµ··ÊÛÕß¾ÍÒÑ¾­Ê¹ X ³ÉÎªUNIX Æ½Ì¨ÉÏµÄ¹¤Òµ±ê×¼. Êµ¼ÊÉÏ,
ÔÚÊÀ½çÉÏÃ¿Ì¨ UNIX ¹¤×÷Õ¾¿ÉÒÔÅÜ X Window system µÄ¸÷°æ±¾.

Ò»¸ö MIT X Window System version 11, release 6 (X11R6) 
ÔÚ 80386/80486/Pentium UNIX systems ÉÏÃâ·Ñ,¿ÉÖØ·¢ÐÐµÄÒÆÖ²°æ±¾ÒÑ¾­ÔÚ·¢Õ¹,
ÓÉÔ­±¾ David Wexelblat \onlynameurl{$<$dwex@XFree86.org$>$} ËùÁìµ¼µÄ³ÌÊ½Éè¼ÆÊ¦ÍÅ¶Ó.
Õâ¸ö°æ±¾,½Ð×÷ XFree86, ¿ÉÒÔÈ¡µÃ¸ø System V/386, 386BSD, ºÍÆäËû x86 UNIX
Êµ×÷,°üÀ¨ Linux. Ëü°üº¬ËùÓÐÐèÒªµÄ binaries, ´îÅäµµ°¸, libraries, ÒÔ¼°¹¤¾ß.

XFree86 µÄÍêÕû×ÊÁÏÊÇ¿ÉÒÔÈ¡µÃÔÚ XFree86 µÄÍøÕ¾,
\nameurl{http://www.XFree86.org}{}.

ÔÚ±¾ÎÄ¼þ, ÎÒÃÇ½«Ò»²½²½µÄÃèÊöÈçºÎÔÚ Linux °²×°ºÍÉè¶¨ XFree86,
µ«Äã×Ô¼º½«±ØÐë¿¿¶Á XFree86 ±¾Éí¹«¿ªµÄÎÄ¼þ(ÕâÐ©ÎÄ¼þÒÔÏÂ»áÌÖÂÛ)
À´³äÊµÄ³Ð©Ï¸½Ú. È»¶ø, Ê¹ÓÃºÍÊìÁ· X Window System 
ÊÇÔ¶³¬³ö±¾ÎÄ¼þ¡õÎ§  
--- »ùì¶Õâ¸öÄ¿µÄ,ÄãÓ¦¸ÃÔÚÖÚ¶àÌÖÂÛÊ¹ÓÃ X Window System µÄºÃÊéÖÐ,È¡Ò»±¾À´¿´.




\subsection{ÆäËû×ÊÑ¶À´Ô´}

Èç¹ûÄãÒÔÇ°´ÓÎ´Ìý¹ý Linux, ÄÇ¡õÃæÓÐÒ»Ð©¹Øì¶ÕâÏµÍ³{[}X Window System]µÄ»ù±¾×ÊÁÏ.
ÒªÕÒµ½ÕâÐ©×ÊÁÏµÄ×îºÃµØ·½ÊÇÔÚ Linux Documentation Project µÄ
home page ¼´ \nameurl{http://sunsite.unc.edu/LDP}{}.
ÄãÄÜÔÚÄÇÕÒµ½¸ÃÎÄ¼þÖ®×îÐÂ, ×îÐÂµÄ°æ±¾ÔÚ
\nameurl{http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html}{}  




\subsection{ÕâÎÄ¼þµÄÐÂ°æ±¾}

Linux XFree86 HOWTO µÄÐÂ°æ±¾½«»á¶¨ÆÚÐÔµØÕÅÌùÔÚ 
\onlynameurl{comp.os.linux.help} ºÍ \onlynameurl{} ÒÔ¼° \nameurl{news:news.answers}{news.answers}. ËûÃÇÒ²½«»á¸üÐÂµ½¸÷ÖÖ Linux WWW ºÍ FTP Õ¾,°üÀ¨ 
LDP home page.

Äã×ÜÊÇÄÜ¼ûµ½±¾ÎÄ¼þµÄ×îÐÂ°æ±¾ÔÚÈ«Çò×ÊÑ¶Íø, 
½åÓÉÕâ¸ö URL \nameurl{http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html}{}.  




\subsection{»Øº¯Óë¶©Õý}

Èç¹ûÄã¶ÔÕâÎÄ¼þÓÐÎÊÌâ»òÆÀÂÛ, Çë×ÔÔÚµÄ¼Ä·âÐÅ¸ø Eric S. Raymond, \onlynameurl{esr@thyrsus.com}. 
ÎÒºÜ»¶Ó­ÈÎºÎ½¨Òé»òÅúÆÀ. Èç¹ûÄãÔÚÎÄ¼þÖÐÕÒµ½´íÎó. 
ÇëÈÃÎÒÖªµÀ,Ê¹µÃÎÒÄÜ¹»ÔÚÏÂ¸ö°æ±¾ÐÞÕýËü. Ð»Ð».

Çë {\itshape ²»Òª\/} ¼ÄÐÅ¸øÎÒ, ÎÊÐ©ÈçºÎÊ¹ÄãµÄÏÔÊ¾¿¨ºÍÏÔÊ¾Æ÷ÄÜÔÚ X ÏÂ, Õý³£ÔË×÷µÄÎÊÌâ.
Õâ¸ö HOWTO µÄÒâÍ¼ÊÇ¿ìËÙ,ÇáÒ×µÄÖ¸Òý¸ø {\itshape Ò»°ã\/} 
°²×°, ËüÊ¹ÓÃÐÂµÄ»¥¶¯Ê½Éè¶¨Æ÷{[}interactive configurator].
Èç¹ûÄã·¢ÉúÎÊÌâ,ä¯ÀÀÒ»ÏÂ XFree86 Video Timings HOWTO, \nameurl{http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html}{}.
ÕâÊÇ XFree86's `Videomodes.doc' µµ°¸Ö®×îÐÂµÄ HTML °æ±¾.) 
ÄÇÎÄ¼þ¼ÇÂ¼ÎÒËùÖªµÀ, ¹Øì¶½â¾öÉè¶¨ÉÏÀ§ÄÑµÄÊÂÇé.
Èç¹ûËü²»ÄÜ°ïµÃÉÏÄã,ÄÇÎÒÒ²°ï²»ÉÏ.




\section{Ó²ÌåÐèÇó}

ÔÚ XFree86 3.3°æ, ÒÔÏÂµÄÏÔÊ¾¾§Æ¬×éÊÇ±»Ö§Ô®µÄ. ÕâÎÄ¼þ°üÀ¨ÄãµÄÏÔÊ¾½éÃæ¿¨
Ó¦¸ÃËµÃ÷ËùÊ¹ÓÃµÄ¾§Æ¬×é. Èç¹ûÄãÔÚÊÐ³¡ÉÏÄÃµ½ºÜÐÂµÄÏÔÊ¾¿¨, 
»òÂòÒ»Ì¨ÐÂ»úÆ÷¶ø¸½ÓÐÏÔÊ¾¿¨, Ó¦ÒªÇó··ÊÛÉÌÕýÈ·µÄÖ¸³ö¸ÃÏÔÊ¾¿¨ÊÇÄÄ¼ÒÖÆÔì,ÐÍºÅ,
¼°¾§Æ¬×é. Õâ¿ÉÒÔÒªÇó··ÊÛÉÌÎªÄãÈ¥´ò¼¼ÊõÖ§Ô®µç»°; Ò»°ã··ÊÛÉÌ»áÀÖÒâÕâ÷á×ö.
´ó²¿·Ö PC Ó²Ìå··ÊÛÉÌ»áËµÕâ¸öÏÔÊ¾¿¨ÊÇ ``±ê×¼ SVGA ¿¨'', Ëü ''Ó¦¸ÃÄÜÕý³£ÔË×÷''
ÔÚÄãµÄÏµÍ³ÉÏ. ½âÊÍÒ»ÏÂÄãµÄÈíÌå (Ìáµ½ Linux ºÍ XFree86!) 
²¢Ã»ÓÐÖ§Ô®ËùÓÐÏÔÊ¾¾§Æ¬×é, ËùÒÔÄã±ØÐëÒªÓÐÏêÏ¸µÄ×ÊÁÏ.

ÄãÒ²ÄÜµÃÖªÄãµÄÏÔÊ¾¿¨½åÓÉÖ´ÐÐ {\ttfamily SuperProbe} ³ÌÊ½, Ëü°üº¬ì¶ 
XFree86 Ì×¼þ. ÕâÔÚÒÔÏÂ»áÓÐ¸üÏê¾¡µÄËµÃ÷.

ÒÔÏÂ±ê×¼ SVGA ¾§Æ¬×éÓÐ±»Ö§Ô®:
\begin{itemize}
\item     Tseng ET3000, ET4000AX, ET4000/W32, ET6000
\item     Western Digital/Paradise PVGA1
\item     Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31,
WD90C33
\item     Genoa GVGA
\item     Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,
TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420,
TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680
\item     ATI 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3,
68800-6, 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E,
88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264VT2, 264GT
\item     NCR 77C22, 77C22E, 77C22E+
\item     Cirrus Logic
CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429,
CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462,
CLGD5464, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CLGD6410,
CLGD6412, CLGD6420, CLGD6440
\item     OAK OTI067, OTI077, OTI087
\item     Avance Logic ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401
\item   Chips \& Technologies
65520, 65530, 65540, 65545, 65520, 65530, 65540, 65545, 65546,
65548, 65550, 65554
\item   MX MX68000, MX680010
\item   Video 7/Headland Technologies HT216-32
\item   SiS 86C201, 86C202, 86C205
\item   ARK Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT
\item   RealTek RTG3106
\item   Alliance AP6422
\item   Matrox MGA2064W and Mystique cards
\item   NVidia/SGS Thomson NV1, STG2000
\end{itemize}


ÒÔÏÂ¾ßÓÐ¼ÓËÙÌØÐÔµÄ SVGA ¾§Æ¬×éÒ²±»Ö§Ô®:
\begin{itemize}
\item     8514/A (and true clones)
\item     ATI Mach8, Mach32, Mach64
\item     Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429,
CLGD5430, CLGD5434, CLGD5436, CLGD5440, CGLD5446, CLGD5462,
CLGD5464.
\item     S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964,
86C732, 86C764, 86C765, 86C868, 86C968, 86C325, 86C988
\item     Western Digital WD90C31, WD90C33, WD90C24A
\item     Weitek P9000
\item     IIT AGX-014, AGX-015, AGX-016
\item     IBM XGA-2
\item     Tseng ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000
\item     Ark Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT
\item     MGA2064W
\end{itemize}


Ê¹ÓÃÕâÐ©¾§Æ¬×éµÄÏÔÊ¾¿¨ÓÐ±»Ö§Ô®ËùÓÐ»ãÁ÷ÅÅÐÍÊ½{[}bus type],°üÀ¨ VLB ºÍ PCI.

³ýÁË Avance Logic, MX ºÍ Video 7 ¾§Æ¬×éÖ»ÓÐÖ§Ô® 256 É«Ä£Ê½,
ÒÔÉÏÆäËûÈ«¶¼Í¬Ê±ÓÐÖ§Ô® 256 É«ºÍ µ¥É«Ä£Ê½. ÈôÄãµÄÏÔÊ¾¿¨×°ÓÐ×ã¹»µÄ DRAM,
ÒÔÉÏ¾§Æ¬×éºÜ¶à¶¼ÓÐÖ§Ô®Ã¿µ¥Î»ÏñËØ{[}pixel] 16 ¼° 32 Î»Ôª{[}bits] Ä£Ê½
(ÌØ±ðÊÇÒ»Ð© Mach32, P9000, S3 ºÍ Cirrus boards). Í¨³£µÄÉè¶¨ÊÇÃ¿µ¥Î»ÏñËØ 8 Î»Ôª
(Òà¼´ 256 É«).

µ¥É«µÄËÅ·þ³ÌÊ½{[}monochrome server]Ò²Ö§Ô® generic VGA cards, 
Hercules monochrome card, Hyundai HGC1280, Sigma LaserView, 
ºÍ Apollo monochrome cards. ÔÚ Compaq AVGA µÄ²¿·Ö, 
Ö»ÓÐ 64k ÏÔÊ¾¼ÇÒäÌåÊÇÓÐÖ§Ô®¸øµ¥É«ËÅ·þ³ÌÊ½, ¶ø GVGA »¹Î´¶Ô³¬¹ý 64k ×ö²âÊÔ.  

ÕâÁÐ±íºÁÎÞÒÉÎÊµØ½«»áËæÊ±¼ä¶øÀ©Ôö. XFree86 Ä¿Ç°°æ±¾µÄ release notes
Ó¦¸Ã»á°üº¬ÍêÕûËùÖ§Ô®ÏÔÊ¾¾§Æ¬×éµÄÁÐ±í.

XFree86 ·¢Õ¹ÕßËùÃæÁÙµÄÒ»¸öÎÊÌâÊÇ,
Ä³Ð©ÏÔÊ¾¿¨ÖÆÔìÉÌÎªÄÜ¶¨³öÇý¶¯¸Ã¿¨ËùÊ¹ÓÃµÄÊ±ÂöÆµÂÊ,¶øÊ¹ÓÃ·Ç±ê×¼»úÖÆ.
ÕâÐ©ÖÆÔìÉÌÖÐ,ÓÐÐ©ÒªÂï¾ÍÃ»ÓÐ¹«¿ª,ÈçºÎ³ÌÊ½Éè¼ÆÕâÕÅ¿¨µÄ¹æ¸ñ;
ÒªÂïËûÃÇ¾ÍÊÇÒªÇó·¢Õ¹ÕßÇ©Ò»ÕÅ¾ö²»¿É¡õÂ¶µÄÉùÃ÷Êé,ÒÔÈ¡µÃ¸Ã×ÊÁÏ.
ÕâÃ÷ÏÔµØÏÞÖÆ XFree86 ÈíÌåµÄ×ÔÓÉÉ¢²¼, ÓÐÐ©ÊÂÊÇ XFree86 ·¢Õ¹ÍÅ¶ÓËù²»ÀÖÒâÈ¥×öµÄ.
ÓÐºÃ³¤µÄÒ»¶ÎÊ±¼ä,ÕâÊÇ¸öÎÊÌâ·¢ÉúÔÚ Diamond ËùÖÆÔìµÄÄ³Ð©ÏÔÊ¾¿¨ÉÏ, µ«µ± XFree86
µÄ 3.1 °æÊ±, Diamond ÒÑ¾­¿ªÊ¼ÓëÕâ¸ö·¢Õ¹ÍÅ¶ÓºÏ×÷,¶øÊÍ³öÃâ·ÑµÄÇý¶¯³ÌÊ½¸øÕâÐ©¿¨.

ÔÚ Linux ÏÂ XFree86 Ëù½¨Òé¼ÜÉèÊÇÒ»Ì¨ 486 »ò¸üºÃ, ¶øÇÒÖÁÉÙ´îÅä 8 megabytes RAM,
ºÍ¾ßÓÐÉÏÊöËùÁÐ³ö¾§Æ¬×éµÄÏÔÊ¾¿¨. ÎªÁË×îºÃµÄ±íÏÖ, ÎÒÃÇ½¨ÒéÊ¹ÓÃ¼ÓËÙ¿¨, 
ÏñÊÇÕÅ S3-chipset card. ÄãÓ¦¸Ã¼ì²é¶Ôì¶ XFree86 µÄÎÄ¼þ,
¶øÇÒÔÚ¾ö¶¨Ã°ÏÕÒ»ÊÔµÄÐÄÌ¬ÏÂ,¹ºÂò°º¹óµÄÓ²ÌåÖ®Ç°,ÇëÏÈ¼ì²éÄãµÄÌØ¶¨¿¨ÊÇÓÐÖ§Ô®µÄ.

Ò»·½ÃæÖµµÃÒ»ÌáµÄÊÇ, Matt Welsh (Õâ¸ö FAQ µÄ·¢ÆðÈË) µÄ¸öÈË Linux system ÊÇÒ»Ì¨
486DX2-66, 20 megabytes RAM, ×°ÅäÓÐ 2 megabytes DRAM µÄ VLB S3-864 chipset card.
ËûÔÚ¸Ã»úÆ÷ÉÏÅÜ X benchmarks ,Ò²ÓÐÔÚ Sun Sparc IPX workstations ÉÏÅÜ. 
Linux system ´óÂÔÊÇ±È Sparc IPX ¿ì 7 ±¶ (ºÃÆæµÄ¿úÌ½, ÔÚ Linux ÏÂ¶øÓÃ¸ÃÏÔÊ¾¿¨µÄ
XFree86-3.1 ´óÔ¼ÅÜ³ö 171,000 xstones; Sparc IPX Ôò´óÔ¼ÊÇ 24,000). Ò»°ã¶øÑÔ,
ÔÚÊ¹ÓÃ¼ÓËÙ SVGA ¿¨µÄ Linux system ÏÂµÄ XFree86 ±ÈÆð½¨Á¢ÔÚÉÌÒµÉÏµÄ 
UNIX workstations (ËüÍ¨³£²ÉÓÃ¼òµ¥µÄ framebuffers À´Í¼ÐÎÏÔÊ¾)
»áÓÐ½Ï¼ÑµÄ±íÏÖ.

ÄãµÄ»úÆ÷ÖÁÉÙÐèÒª 4 megabytes µÄ physical RAM, ºÍ 16 megabytes 
µÄ virtual RAM (¾ÙÀý¶øÑÔ, 8 megs physical ºÍ 8 megs swap). 
¼Ç×¡ÄãÓÐµÄ physical RAM Ô½¶à,ÏµÍ³µ±·¢Éú¼ÇÒäÌå¶ÌÈ±¶øÒª½»»»{[}swap]´æÈ¡Ó²µú»ú»áÔ½ÉÙ.
ÒòÎª ½»»» ±¾ÖÊÉÏÊÇÂýµÄ(´ÅµúÏà½Ï¼ÇÒäÌåÊÇÂùÂýµÄ), ÒªÁ÷³©µØÅÜ XFree86 µÄ»°,
ÓÐ 8 megabytes RAM »ò¸ü¶àÊÇ±ØÒªµÄ. 16 megabytes ¸üºÃ. 
¾ßÓÐ 4 megabytes µÄ physical RAM µÄÏµÍ³¿ÉÄÜ±ÈÅÜ 8 megs »ò¸ü¶àµÄÏµÍ³Âý 
{\itshape Ðí¶à\/} (ÉõÖÁ¿É¸ß´ï 10 ±¶).






\section{°²×° XFree86}

ºÜÓÐ¿ÉÄÜ,ÄãÈ¡µÃµÄ XFree86 ÊÇ Linux ·¢ÐÐÌ×¼þµÄÒ»²¿·Ö,
ÔÚÄÇÖÖÇéÐÎ, ·Ö¿ªÏÂÔØ¸ÃÈíÌåÊÇÃ»ÓÐ±ØÒªµÄ. ÔÚÄÇÇéÐÎÏÂ,Äã¿ÉÒÔÂÔ¹ýÕâÒ»½Ú.

XFree86 µÄ Linux ¶þÔªÂë°æ±¾¿ÉÒÔÔÚÐí¶à FTP Õ¾ÕÒµ½.
ÔÚ XFree86 Õ¾, ËüÊÇÔÚ \nameurl{ftp://ftp.xfree86.org/pub/XFree86/current/binaries/Linux-ix86}{} 
( µ±±ÊÕßÔÚÐ´µÄÊ±ºò, Ä¿Ç°µÄ°æ±¾ÊÇ 3.2A; ×îÐÂ°æ±¾Ôò¶¨ÆÚµØÊÍ³ö).

ÔÚ×öÈÎºÎÆäËü¶«Î÷Ö®Ç°,Ê×ÏÈÏÂÔØÇÒÖ´ÐÐ `preinst.sh' µÄ shell script.
Õâ¿ÉÒÔ¸æËßÄã,ÔÚÄã¼ÌÐøÄãµÄ°²×°Ö®Ç°,ÄãÐèÒªÔÚÍ×µ±Î»ÖÃÓÐ¹ØµÄÏÈ¾öÒªËØ.

Èç¹ûÄãÖ±½ÓÏÂÔØ XFree86, Õâ¸öÁÐ±íÁÐ³öÔÚ XFree86-3.3 ÈíÌåÌ×¼þÖÐµÄµµ°¸.

ÒÔÏÂ server Ö®Ò»ÊÇ±ØÐèµÄ:
\begin{description}
\item[X338514.tgz] \mbox{}

Server for 8514-based boards. 

\item[X33AGX.tgz] \mbox{}

Server for AGX-based boards. 

\item[X33I128.tgz] \mbox{}

Server for the Number Nine Imagine 128.

\item[X33Mach32.tgz] \mbox{}

Server for Mach32-based boards.

\item[X33Mach64.tgz] \mbox{}

Server for Mach64-based boards.

\item[X33Mach8.tgz] \mbox{}

Server for Mach8-based boards. 

\item[X33Mono.tgz] \mbox{}

Server for monochrome video modes.

\item[X33P9K.tgz] \mbox{}

Server for P9000-based boards.

\item[X33S3.tgz] \mbox{}

Server for S3-based boards.

\item[X33S3V.tgz] \mbox{}

Server for the S3 ViRGE and ViRGE/VX (considered beta)

\item[X33SVGA.tgz] \mbox{}

Server for Super VGA-based boards.

\item[X33W32.tgz] \mbox{}

Server for ET4000/W32-based boards.

\end{description}

Èç¹ûÄã²»ÖªµÀÒªÈ¡ÄÄÒ»¸ö,¾ÍÈ¡ VGA16 server,X33VGA16.tgz. 
²»¹ÜÔõÑù,Äã¶¼ÒªÏÂÔØÕâÒ»¸ö,ÒòÎªÄã½«ÐèÒªËüÔÚÏÂ¸ö²½ÖèÈ¥Ö´ÐÐ×Ô¶¯Éè¶¨¹¤¾ß.

ÒÔÏÂÈ«²¿µµ°¸¶¼ÊÇ±ØÐëµÄ:
\begin{description}
\item[preinst.sh] \mbox{}

Pre-installation script

\item[postinst.sh] \mbox{}

Post-installation script

\item[X33bin.tgz] \mbox{}

The rest of the X11R6 binaries. 

\item[X33cfg.tgz] \mbox{}

Config files for {\ttfamily xdm}, {\ttfamily xinit} and {\ttfamily fs}.

\item[X33doc.tgz] \mbox{}

Documentation.

\item[X33man.tgz] \mbox{}

Manual pages. 

\item[X33fnts.tgz] \mbox{}

75dpi, misc and PEX fonts

\item[X33lib.tgz] \mbox{}

Shared X libraries and support files. 

\item[X33set.tgz] \mbox{}

XF86Setup utility

\item[X33VG16.tgz] \mbox{}

Server for VGA/EGA-based boards.

\end{description}


ÒÔÏÂµµ°¸ÊÇÑ¡ÔñÐÔµÄ:
\begin{description}
\item[X33f100.tgz] \mbox{}

100dpi fonts

\item[X33fcyr.tgz] \mbox{}

Cyrillic fonts

\item[X33fnon.tgz] \mbox{}

Other fonts (Chinese, Japanese, Korean, Hebrew)

\item[X33fscl.tgz] \mbox{}

Scalable fonts (Speedo and Type1)

\item[X33fsrv.tgz] \mbox{}

Font server and config files

\item[X33prog.tgz] \mbox{}

X header files, config files and compile-time libs

\item[X33lkit.tgz] \mbox{}

X server LinkKit

\item[X33lk98.tgz] \mbox{}

PC98 X server LinkKit

\item[X33nest.tgz] \mbox{}

Nested X server

\item[X33prt.tgz] \mbox{}

X print server

\item[X33vfb.tgz] \mbox{}

Virtual framebuffer X server

\item[X33ps.tgz] \mbox{}

PostScript version of the documentation

\item[X33html.tgz] \mbox{}

HTML version of the documentation

\end{description}


ÄÇ¸ö XFree86 Ä¿Â¼Ó¦¸Ã°üº¬ÓÐÄ¿Ç°°æ±¾µÄ release notes ÔÚ {\ttfamily RELNOTES}. 
¶Ôì¶°²×°Ï¸½Ú,¿É²éÔÄì¶¸ÃÎÄ¼þ{[}RELNOTES].

ËùÒª°²×° XFree86 µÄ¹¤×÷µÄÊÇÈ¡µÃÒÔÉÏµµ°¸, (ÒÔ {\ttfamily root} Éí·Ö) ½¨Á¢
{\ttfamily /usr/X11R6} Ä¿Â¼, ºÍ´Ó {\ttfamily /usr/X11R6} ½â¿ªÄÇÐ©µµ°¸ÈçÏÂÁÐÖ¸Áî:
\begin{tscreen}
\begin{verbatim}
gzip -dc X33bin.tgz | tar xfB -
\end{verbatim}
\end{tscreen}

¼Ç×¡ÕâÐ© tar µµ°¸ÊÇÏà¶Ôì¶ {\ttfamily /usr/X11R6} Ä¿Â¼Ëù°ü×°ÆðÀ´µÄ,
ËùÒÔºÜÖØÒªµÄÊÇÒªÔÚÄÇ¡õ½â°ü°ü×°.

ÄãÐèÒªÈ·¶¨ {\ttfamily /usr/X11R6/bin} ÊÇÓÐÉèÔÚÄãµÄ path ÖÐ.
Õâ¿ÉÒÔ½åÓÉ±à¼­ÄãÏµÍ³ÄÚ¶¨µÄ {\ttfamily /etc/profile} »ò {\ttfamily /etc/csh.login}
(´ËÄË¸ù¾ÝÄã,»òÔÚÄãÏµÍ³ÖÐµÄÆäËûÊ¹ÓÃÕß,ËùÊ¹ÓÃµÄ shell ¶ø¶¨). 
»òÕßÄã¿ÉÒÔ¼òµ¥µØÐÞ¸Ä {\ttfamily .bashrc} »ò {\ttfamily .cshrc} 
(ÊÓÄãµÄ shell ¶ø¶¨) À´°Ñ¸ÃÄ¿Â¼¼ÓÈëÄã¸öÈËµÄ path .  

ÄãÒ²ÐèÒªÈ·¶¨ {\ttfamily /usr/X11R6/lib} ÄÜ±» runtime linker {\ttfamily ld.so} ÕÒµ½.
ÎªÁËÕâÑù,¼ÓÕâÐÐ
\begin{tscreen}
\begin{verbatim}
/usr/X11R6/lib
\end{verbatim}
\end{tscreen}

µ½Õâ¸öµµ {\ttfamily /etc/ld.so.conf}, ºÍÒÔ {\ttfamily root} Éí·ÖÈ¥Ö´ÐÐ 
{\ttfamily /sbin/ldconfig},




\section{Éè¶¨ XFree86}




\subsection{Ò»°ãÉè¶¨}

ÒÔÇ°,ÒªÉè¶¨ºÃ XFree86 ÒÔ±ãÄÜÊ¹ÓÃÄãµÄ»¬Êó, ¼üÅÌ, ÏÔÊ¾Æ÷, ºÍÏÔÊ¾¿¨,
ÊÇÐÁ¿àµÄ²îÊÂ, ÐèÒª´óÁ¿µÄÇ××Ô¶¯ÊÖÈ¥Éè¶¨ºÍ¡õÊÔµ÷Õû{[}hand-hacking]
Ò»¸öºÜ¸´ÔÓµÄÉè¶¨µµ°¸, ÄÇ¿ÉËµÊÇÒ»ÖÖ²»¿ÉÑÔ´«µÄÒÕÊõ.
ÏÖÔÚ²»ÔÙÐèÒªÁË; ÔÚ3.2/3.3°æáá,Ê¹Õâ¸ö¹ý³Ì¼¸ºõÃ»Ê²ÒâÒåÁË.
ÄãËùÒª×öµÄÊÇ¿ªÆô {\ttfamily XF86Setup} ³ÌÊ½.

Õâ³ÌÊ½ÄËÒÀÀµÏÖ½ñËùÓÐÐÂ³ö»õ¶øÇÒ´îÅä¾ß EGA/VGA ÄÜÁ¦Ö®ÏÔÊ¾Æ÷µÄPCÓ²ÌåÇé¿ö¶ø¶¨.
Ëü²ÉÓÃ VGA16 server ¶øÇÒÀûÓÃËüÒÔ×îµÍ½×¹²Í¨ÐÔ 640x480 Ä£Ê½À´¿ªÆô X.
È»ááËüÖ´ÐÐ»¥¶¯Ê½³ÌÊ½,Ëü´øÄã¾­¹ýÁ¬ÐøÎå¸öÉè¶¨Ãæ°å -- mouse, keyboard, 
(video) card, monitor, ºÍ `other' (¸÷Ê½¸÷ÑùµÄ server Ñ¡Ïî). È«²¿¹ý³ÌÏàµ±¼òµ¥.

(Èç¹ûÄãÊÇÓÃ Red Hat Linux, Äã¿ÉÒÔÊ¹ÓÃÁíÒ»¸ö½Ð×÷ {\ttfamily xf86config} ³ÌÊ½.
ËüµÄ×÷ÓÃ·Ç³£ÏñÊÇ {\ttfamily XF86Setup} ,µ«ÊÇÆä±¾Éí²»ÊÇÊ¹ÓÃ X ½éÃæÓë VGA16 server.)

ÓÐÒ»Ð¡µãÒª¼Ç×¡µÄÊÇ,Èç¹ûÄãÏñ´ó¶àÊýÈËÊ¹ÓÃÄ¿Ç°µÄPC, ÄãµÄ¼üÅÌÊµ¼ÊÉÏÊÇ XF86Setup
Ëùºô½ÐµÄ `Generic 102-key PC (intl)' ¶ø²»ÊÇÔ¤¶¨µÄ `Generic 101-key PC'.
Èç¹ûÄãÑ¡ÔñÔ¤¶¨µÄ(101), ÔÚÄã¼üÅÌ{[}keyboard]µÄ¼«ÓÒ±ß(Êý×Ö¼°ÆäÏà¹Ø
{[}numeric keypad and friends])ÉÏµÄ°´¼üÈº{[}key cluster]¿ÉÄÜ»áÃ»ÓÐ×÷ÓÃ.  

Èç¹ûÄã²»È·¶¨ÄãÏÔÊ¾Æ÷µÄÐÍÊ½{[}monitor type],Äã¿ÉÒÔÁ¬ÐøÊÔÊÔËüËùÁÐ³öµÄÐÍÊ½.
¾ÍÒÀÄãµÄÏ°¹ßÓÉÉÏÍùÏÂÊÔ(½ÏÉÏÃæµÄÑ¡ÏîËù°üº¬µÄÊÇ½ÏµÍ dot-clock 
ËÙ¶È, ¶øÇÒ¶ÔÓ²ÌåÒªÇóÒ²±È½ÏµÍ). 
Èç¹û·¢ÉúÁË»ìÂÒ»òÑÏÖØµØÅ¤Çú±äÐÎ{[}distorted]µÄÍ¼ÐÎÊ±, 
ÇëÍù»ØÊÔ{[}Back off]. Ð¡²¿·ÖµÄÅ¤Çú±äÐÎ (Í¼ÐÎÉÔÌ«´ó,ÉÔÌ«Ð¡,»òÉÔÆ«ÀëÖÐÐÄ) 
²»ÊÇÊ²÷á´óÎÊÌâ; ÄãÊÇ¿ÉÒÔÂíÉÏ½åÓÉÎ¢µ÷{[}fine-tuning]´Ë mode À´ÐÞÕý.

ÔÙÕß, µ±³ÌÊ½´ò¿ª {\ttfamily xvidtune} ÔÊÐíÄãÈ¥µ÷Õû{[}tweak]ÄãµÄÏÔÊ¾Ä£Ê½{[}video mode],
±ðÈÃ³õÊ¼µÄ¾¯¸æÊÓ´°,Ê¹Äã¸Ðµ½½ôÕÅ. ÏÖÔÚ¶àÆµÏÔÊ¾Æ÷{[}multisync monitors]
(²»ÏñËûÃÇÒÔÇ°ÊÇÓÃ¶¨ÆµµÄ) ²»»áÒòÎªÓÃÕâ·½Ê½¶ø¾ÍÇáÒ×Ëð»µ.

XF86Config ¿ÉÒÔ¼ÙÉèÄãµÄ»¬Êó×°ÖÃÊÇÔÚ \url{/dev/mouse}. 
Èç¹ûÄã·¢ÏÖÕâÃ»×÷ÓÃÊ±,Äã¿ÉÄÜÐèÒªÁ¬½á \url{/dev/mouse} 
µ½»¬ÊóÊµ¼ÊËùÔÚ \url{/dev/ca{[}01]} ÄÇ. Èç¹ûÄã·¢ÏÖµ± 
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
gpm
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}

ÕýÔÚÖ´ÐÐ,¶ø XFree86 ¸øÄãÒ»¸ö "mouse busy" µÄ´íÎóÑ¶Ï¢Ê±, ÄÇÄãÔòÐèÒªÁ¬½áµ½
\url{/dev/ttyS{[}01]} À´È¡´ú.

Éè¶¨µÄ¹ý³Ì²Ù×÷ÓÐÑ¡¶¨·ûºÏÄãµÄÏÔÊ¾¿¨Ò»°ãÐÍÌ¬µÄ server (ÏñÊÇ {\ttfamily XF86\_VGA16}, 
{\ttfamily XF86\_Mach64}, or {\ttfamily XF86\_S3}) ÒÔ¼°Éè¶¨ {\ttfamily XF86Config} µµ°¸,
¶ø server ¿ªÊ¼Æô¶¯Ê±»á¶ÁÈ¡¸ÃµµÖÐµÄÄã°²×°Ê±ÒÑÖ¸¶¨µÄÌØÊâ²ÎÊý.
{\ttfamily XF86Config} µÄËùÔÚÎ»ÖÃ»áËæÊ±ÄãµÄ OS ²»Í¬¶ø±ä, 
µ«ÓÐ¸öµØ·½¿ÉÕÒÕÒ¿´ÊÇÔÚ {\ttfamily /etc/X11}.  

ÔÚ½ÏÔçµÄ XFree86 °æ±¾, {\ttfamily XF86Setup} »áÖ±½Ó½« `X' Ö¸ÁîÁ¬½ÓËùÑ¡ÔñµÄ server.
ÔÚ×î½üµÄ°æ±¾, È¡¶ø´úÖ®µÄÊÇ½« `X' Á¬½Óµ½½Ð Xwrapper µÄ set-user-id wrapper ³ÌÊ½.
ÕâÏë·¨ÊÇËùÓÐµÄ setuid root stuff ¶¼ÂäÔÚ Xwrapper Ö®ÖÐ,
ËùÒÔ server ¾Í²»±ØÔÚÓÃ setuid root.




\subsection{½â¾öÀ§ÄÑ}

µ±Äã¸Õ¿ªÊ¼¿ªÆô X server, ÓÐÐ©ÏîÄ¿Å¼¶û»áÃ»ÓÐÉè¶¨ºÜÕýÈ·.
Õâ×ÜÊÇ¼¸ºõ»áÓÉÄãµÄÉè¶¨µµ°¸ÖÐµÄÒ»Ð©ÎÊÌâËùÒýÆðµÄ.
Í¨³£ÔÚÊÇÏÔÊ¾Æ÷µÄ timing values ²»ÕýÈ·, »òÏÔÊ¾¿¨µÄ dot clocks Éè¶¨²»ÕýÈ·.
ÉÙÊýÎÊÌâ¿ÉÒÔ½åÓÉ {\ttfamily xvidtune} À´½â¾ö; µ±Ó©Ä»ÉÏÊµÔÚÊÇ»ìÂÒ²»Çå³þÊ±,Í¨³£ÊÇ±íÊ¾
ÄãÐèÒª»Øµ½ XF86Setup ¶øÑ¡Ôñ¹¦ÄÜ±È½ÏµÍµÄÏÔÊ¾Æ÷ÐÍÊ½{[}monitor type].

Èç¹ûÄãµÄÏÔÊ¾ºÃÏñ¾íÇú{[}roll], »ò±ß±ßÄ£ºý²»Çå{[}fuzzy], ÕâºÜÇå³þµØ±íÊ¾ÏÔÊ¾Æ÷µÄ
timing values »ò dot clocks ÊÇ´íµÄ. ÔÙÕß,
ÒªÈ·¶¨ÄãÊÇÕýÈ·µØÖ¸³öÄãµÄÏÔÊ¾¿¨¾§Æ¬×é, ÔÚ {\ttfamily XF86Config} ÖÐµÄ 
{\ttfamily Device} ¶ÎÂäÖ®ÆäËüÏîÄ¿Ò²ÊÇÈç´Ë.
¾ø¶ÔÒªÈ·¶¨ÄãÊÇÊ¹ÓÃÕýÈ·µÄ X server ,¶øÇÒ {\ttfamily /usr/X11R6/bin/X} ÓÐ·ûºÅÁ¬½á
{[}symbolic link]µ½Õâ¸ö server.

Èç¹û·¢ÉúÆäËüËùÓÐÊ§°ÜµÄÇé¿ö, ÊÔÊÔ ''³àÂãµØ{[}bare]'' ¿ªÆô X; Ò²¾ÍÊÇ, 
Ê¹ÓÃÏñÕâÑùµÄÖ¸Áî:
\begin{tscreen}
\begin{verbatim}
X > /tmp/x.out 2>&1 
\end{verbatim}
\end{tscreen}

È»ááÄã¿ÉÒÔ¿³È¥ X server (Ê¹ÓÃ {\ttfamily ctrl-alt-backspace} ¼üµÄ×éºÏ) 
¶øÇÒ¼ì²é {\ttfamily /tmp/x.out} µÄÄÚÈÝ. X server »á±¨¸æÈÎºÎ¾¯¸æ¼°´íÎó---¾ÙÀý,
Èç¹ûÄãµÄÏÔÊ¾¿¨Ã»ÓÐÒ»¸ö dot clock ¿ÉÏà·ûºÏÄãÏÔÊ¾Æ÷ËùÖ§Ô®µÄÄ£Ê½.

¼Ç×¡Äã¿ÉÒÔÊ¹ÓÃ {\ttfamily ctrl-alt-numeric +} ºÍ {\ttfamily ctrl-alt-numeric -} 
À´ÇÐ»»ÔÚ {\ttfamily XF86Config} ÖÐµÄ {\ttfamily Screen} ¶ÎÂäµÄ {\ttfamily Modes} ÐÐ
ËùÁÐ³öµÄÏÔÊ¾Ä£Ê½. Èô×î¸ß½âÎö¶ÈÄ£Ê½²»ÄÜ¿´ÆðÀ´ºÜÊÊµ±,ÊÔÊÔÇÐµ½½ÏµÍµÄ½âÎö¶È.
ÕâÖÁÉÙ»áÈÃÄãÖªµÀÄãµÄ X Éè¶¨Õâ²¿·ÖÊÇÕýÈ·µÄÔË×÷.

ÔÙÕß, ¼ì²éÒ»ÏÂÄãÏÔÊ¾Æ÷ÉÏµÄ´¹Ö±ÓëË®Æ½Ö®´óÐ¡/¶Ô×¼ÐýÅ¦.
ÔÚºÜ¶àÇé¿öÏÂ,µ± X ¸Õ¿ªÆôÊ±, ÕâÐ©ÊÇÐèÒªµ÷ÕûµÄ. ¾Ù¸öÀý×Ó,
Èç¹ûÏÔÊ¾Æ÷ºÃÏñÓÐµãÆ«Ò»±ßÊ±, Í¨³£ÄãÄÜ¹»Ê¹ÓÃÏÔÊ¾Æ÷µÄ¿ØÖÆÀ´ÐÞÕýÕâ¸ö.

USENET µÄ newsgroup {\ttfamily comp.windows.x.i386unix} Ö÷ÒªÊÇÔÚÌÖÂÛÓÐ¹Ø XFree86,
{\ttfamily comp.os.linux.x} Ò²ÊÇ. ¿´Ò»ÏÂ newsgroup 
ÄÇÐ©ÓëÄãµÄÏÔÊ¾¿¨ÓÐ¹ØµÄÎÄÕÂÒ²ÐíÊÇ¸öºÃÖ÷Òâ---ÄãÒ²Ðí¸ÕºÃ¿´µ½Ä³Ð©ÈË¸úÄãÓÐÏàÍ¬µÄÎÊÌâ.




\subsection{×Ô¶¨Éè¶¨}

Èç¹ûÄãµÄÏÔÊ¾Æ÷ÄÜÖ§Ô® 1600x1200 -- ¶øÓÃ XF86Setup 
À´°²×°Ö®×î¸ßËùÄÜ¹»Ö§Ô®µÄ½âÎö¶ÈÊÇ 1280x1024,
ÄÇ÷áÄã»áÐèÒªÇ××Ô¶¯ÊÖÈ¥³¢ÊÔµ÷ÕûÄãµÄ X Ö®Éè¶¨,ÒÔ±ãÈ¡µÃ×î¼Ñ»¯µÄ±íÏÖ.

Èç¹û»ùì¶Õâ¸öÀíÓÉ»òÆäËüÀíÓÉ, ¶øÄãÏëÒªÇ××Ô¶¯ÊÖÈ¥³¢ÊÔµ÷ÕûÄãµÄÏÔÊ¾Éè¶¨,
È¥¿´Ò»ÏÂ LDP µÄ XFree86 Video Timings HOWTO, \nameurl{http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html}{}.
(Õâ¾ÍÊÇ XFree86
µÄ `Videomodes.doc' µµ°¸Ö®×îÐÂµÄ HTML °æ±¾.)




\subsection{Ê¹ÓÃ 16-Î»Ôª µÄÑÕÉ«}



¸ù¾ÝÄÚ¶¨µÄ, X Ê¹ÓÃ 8-Î»Ôª É«Éî{[}color depth]¶øÓÐ256É«. Îª±Ü¿ªÕâÖÖÏÞÖÆ,
ºÜ¶àÓ¦ÓÃ³ÌÊ½ÅäÖÃËûÃÇ×Ô¼ºµÄÉ«²Ê¶ÔÓ¦Í¼{[}colormap],µ¼ÖÂË²¼äÑÕÉ«×ª»»,
µ±ÓÎ±êÔÚÁ½¸ö¸÷ÓµÓÐ×Ô¼ºµÄÉ«²Ê¶ÔÓ¦Í¼Ö®ÊÓ´°ÒÆ¶¯Ê±. 
Arena WWW ä¯ÀÀÆ÷¾ÍÊÇÕâÑù×Ó.

Èç¹ûÄãÏëÒªÊ¹ÓÃÏÈ½øµÄÍ¼ÐÎ»¯µÄÓ¦ÓÃ³ÌÊ½,256É«Ò²Ðí²»×ã¹».
Äã¿ÉÄÜÐèÒªÓÐ 16-Î»Ôª É«Éî (65,536 ÑÕÉ«). µ«Òª×¢ÒâµÄÊÇ,
²»ÊÇËùÓÐÓ¦ÓÃ³ÌÊ½¶¼Òª¹¤×÷ÔÚ 16-Î»Ôª ÑÕÉ«ÏÂµÄ.

ÄãÄÜ¼òµ¥µØÊ¹ÓÃ 16-Î»Ôª µÄÉ«Éî¶øÓÐ 65K µÄ²»Í¬É«,
½åÓÉ¿ªÆô X Ê±,ÓÃÒÔÏÂÖ¸Áî

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
    startx -- -bpp 16
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


»òÕß½«ÏÂÁÐÕâÐÐ

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
    exec X :0 -bpp 16
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


°Ú½øÄãµÄ .xserverrc µµ°¸ÄÚ. È»¶ø,ÎªÁËÊ¹ÕâÊ¹ÄÜÕý³£¹¤×÷, ÄãÐèÒªÓÐ 
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
screen
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}
 ¶ÎÂäÔÚÄãµÄ XF86Config µµ°¸ÖÐ:

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
    DefaultColorDepth 16
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


Èç¹ûÄãÊ¹ÓÃ xdm,Äã¿ÉÄÜÐèÒª¸Ä±ä \url{Xservers} µµ°¸, Æä´ó¸ÅÎ»ÖÃÊÇÔÚ
\url{/etc/X11/xdm/}. µäÐÍµÄÉè¶¨µµ¾ÍÖ»ÓÐÒ»ÐÐ, ¿´ÆðÀ´¾ÍÏñÕâÑù

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
      :0 local /usr/X11R6/bin/X
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


¼ÓÉÏ 
\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
-bpp 16
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}
 µ½Õâ startup Ñ¡Ïî:

\par
\addvspace{\medskipamount}
\nopagebreak\hrule
\begin{verbatim}
      :0 local /usr/X11R6/bin/X -bpp 16
\end{verbatim} 
\nopagebreak\hrule 
\addvspace{\medskipamount}


ÔÙÕß,Äã»áÐèÒª°ÑÉ«Éî 16 (bits)µÄÏÔÊ¾¼ÓÈëÄãµÄ X Éè¶¨µµµÄ `screen' ¶ÎÂä²¿·Ö.
Ò»°ãÄã¿ÉÒÔÖ±½Ó¸´ÖÆ 8-bitÏÔÊ¾²¿·Ö,¶ø¸Ä±äÉ«Éî´óÐ¡.

½Ï¶àÑÕÉ«ÒªÄãµÄÏÔÊ¾¿¨ÔÚÏàÍ¬µÄÊ±¼äÄÚÄÜ×ª»»³É¸ü¶à×ÊÁÏ. Èç¹ûÄãµÄÏÔÊ¾¿¨²»ÄÜÓ¦¸¶,
ÄÇ÷á¾ÍÊÇ½âÎö¶È{[}resolution]»òÊÇ¸üÐÂÂÊ{[}refresh rate]±ØÐëÒª½µµÍ. 
XFree ÄÚ¶¨µÄÊÇ½µµÍ½âÎö¶È. Èç¹ûÄãÒª±£³Ö½âÎö¶È¶ø½µµÍ¸üÐÂÂÊ,
Äã±ØÐëÐÂ¼ÓÈëÒ»ÐÐÊÊµ±µÄ Modeline µ½ÄãµÄ XF86Config µµ°¸ÖÐ, 
Æä¶¨Òå¾ßÓÐ×îµÍ¸üÐÂÂÊÏÂµÄ½âÎö¶È.¾Ù¸öÀý×Ó, È¡´ú¾ÉÖµ
\begin{tscreen}
\begin{verbatim}
Modeline "1024x768"  75  1024 1048 1184 1328 768 771 777 806 -hsync -vsync
\end{verbatim}
\end{tscreen}

»»³É
\begin{tscreen}
\begin{verbatim}
Modeline "1024x768"  65  1024 1032 1176 1344 768 771 777 806 -hsync -vsync.
\end{verbatim}
\end{tscreen}

Õâ¡õµÄÄ§ÊõÊý×Ö 75 ºÍ 65 ÊÇ¸÷¸öÊ±ÂöÂÊ{[}clock rates], ÄÇÐ©ÊÇÄãÕÒµ½ X ¼ÇÂ¼ÔÚÄãµÄ 
.X.err µµ°¸¡õµÄ. ²éÑ¯Ò»ÏÂÔÚ XF86 ÎÄ¼þµÄ monitors µµ°¸,ÓÐ¹ØÔÚ 16 Î»ÔªÉ«ÉîÏÂ
×îÊÊºÏÄãµÄÏÔÊ¾¿¨ÄÜ¹»´«ËÍ×î´óÊ±ÂöÂÊµÄ Modelines.




\section{Ö´ÐÐ XFree86}

µ±ÄãµÄ {\ttfamily XF86Config} ÒÑÉè¶¨, Äã×¼±¸¿ªÆô X server ÊÔÓÃÒ»ÏÂ, ÇëÈ·¶¨
{\ttfamily /usr/X11R6/bin} ÓÐÉèÔÚÄãµÄ path ÖÐ.

¿ªÆô XFree86 µÄÖ¸ÁîÊÇ 
\begin{tscreen}
startx
\end{tscreen}

ÕâÊÇ {\ttfamily xinit} µÄÇ°¶Ë½éÃæ{[}front-end](ÔÚÆäËû UNIX ÏµÍ³,Äã»áÏ°¹ßÊ¹ÓÃ
{\ttfamily xinit}).

ÕâÖ¸Áî½«»á¿ªÊ¼ X server ¶øÇÒÖ´ÐÐÔÚÄã¸ùÄ¿Â¼{[}home directory]ÏÂÖ®
{\ttfamily .xinitrc} µµ°¸ÄÚËùÕÒµ½µÄÖ¸Áî.    {\ttfamily .xinitrc} Ö»ÊÇ¸ö°üº¬ËùÒªÖ´ÐÐ 
X clients µÄ shell script. Èç¹ûÕâ¸öµµ°¸²»´æÔÚ, ÄÇ÷áÏµÍ³ÄÚ¶¨µÄ 
{\ttfamily /usr/X11R6/lib/X11/xinit/xinitrc} ½«»á±»Ê¹ÓÃ.

Ò»¸ö±ê×¼ {\ttfamily .xinitrc} µµ°¸¿´ÆðÏñÕâÑù:
\begin{tscreen}
\begin{verbatim}
#!/bin/sh

xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &
\end{verbatim}
\end{tscreen}

Õâ¸ö script ½«¿ªÆôÁ½¸ö {\ttfamily xterm} clients, Ò»¸ö {\ttfamily oclock},
¶øÇÒÉè¶¨¸ùÊÓ´°{[}root window](±³¾°)µÄÑÕÉ«³É {\ttfamily ÉîÀ¶É«[midnightblue]}. 
È»ááËü¿ªÆôÊÓ´°¹ÜÀí³ÌÊ½ {\ttfamily fvwm2}. ×¢Òâ {\ttfamily fvwm2} ÊÇÓÃ shell µÄ
{\ttfamily exec} Êö¾ä{[}statement]ËùÖ´ÐÐµÄ; ÕâÔì³É {\ttfamily xinit} 
³ÌÐò{[}process]±» {\ttfamily fvwm2} È¡´ú. 
Ò»µ© {\ttfamily fvwm2} ³ÌÐòÀë¿ª, X server ½«¹Ø±Ï.
Äã¿ÉÒÔÊ¹ÓÃ root ±íµ¥{[}menus] À´Ê¹ {\ttfamily fvwm2} Àë¿ª: ÔÚ×ÀÃæ±³¾°ÉÏ·Å¿ª mouse 
µÄµÚÒ»¸ö°´¼ü---Õâ½«³öÏÖÏÂÀ­±íµ¥,ÄÇ½«ÈÃÄã¿ÉÒÔÀë¿ª {\ttfamily Exit Fvwm2}.

È·¶¨ÔÚ {\ttfamily .xinitrc} ÖÐµÄ×îááÃæµÄÖ¸ÁîÊÇÒÔ {\ttfamily exec}Îª¿ªÍ·µÄ,
¶øÄÇ²»»á±»·ÅÔÚ±³¾°Ö´ÐÐµÄ (¶øÔÚÄÇÐÐááÍ·,Ã»ÓÐÔÙ½ÓÖøÊ²÷á¶¯×÷).
·ñÔò, X server ¹Ø±ÏË²¼ä, ½«»áÔÙÈ¥Ö´ÐÐ {\ttfamily .xinitrc} µµ°¸ÖÐµÄ client.

´ËÍâ, ÄãÒà¿ÉÒÔ°´ {\ttfamily ctrl-alt-backspace} Ö®×éºÏ¼ü¶øÀë¿ª X.
Õâ»áÖ±½Ó¿³µô X server, Àë¿ªÊÓ´°ÏµÍ³.

ÒÔÉÏÊÇ·Ç³£,·Ç³£¼òµ¥µÄ×ÀÃæÉè¶¨. ÒªÅÜÐí¶àºÃ³ÌÊ½¼°Éè¶¨ÊÇ¿ÉÒÔÔÚÄãµÄ 
{\ttfamily .xinitrc} µµ°¸ÖÐÉÔ¼ÓÐÞ¸Ä¼´¿É×öµ½.

Èç¹ûÄãÊÇÐÂ½Ó´¥ X Window System ×÷Òµ»·¾³; ÎÒÃÇÇ¿ÁÒ½¨ÒéÄãÑ¡Ò»±¾ºÃÊé, 
ÏñÊÇ Niall Manfield Öø×÷µÄ
{\itshape The X Window System: A User's Guide\/}(Addison-Wesley 1990). 
Ê¹ÓÃÓëÉè¶¨ X ÊµÔÚÊÇ±È½ÏÉîÈëËùÒÔºÜÄÑÄÜº­¸ÇÔÚÕâ. ¿´Ò»ÏÂ {\ttfamily xterm}, 
{\ttfamily oclock}, ºÍ {\ttfamily fvwm2} µÄ man pages, ¾Í´ÓÕâ×ÊÁÏ¿ªÊ¼°É.






\subsection{Ê¹ÓÃµÄÌõ¼þ}

±¾ÎÄ¼þ 1996 ÄêµÄ°æÈ¨¹éÊôì¶ Eric S. Raymond. Äã¿ÉÒÔ×ÔÓÉµØÊ¹ÓÃ, É¢²¼, 
Óë¸´ÖÆ, Ö»ÒªÄã:

\begin{itemize}
\item Ã»ÓÐÂÔ¹ý»ò±ä¸üÕâ¸ö°æÈ¨×¢Ã÷.
\item Ã»ÓÐÂÔ¹ý»ò±ä¸üÕâ¸ö°æ±¾ÐòºÅ¼°ÈÕÆÚ.
\item Ã»ÓÐÂÔ¹ý»ò±ä¸ü±¾ÎÄ¼þËùÖ¸µ½µÄÄ¿Ç° WWW °æ±¾.
\item ¾ÍÏñÕâÑùÇå³þµØ±êÉÏÈÎºÎÅ¨Ëõ»ò±ä¸üµÄ°æ±¾.
\end{itemize}


ÕâÏÞÖÆÄ¿µÄÊÇ±£ÕÏÒ»Ð©Ç±ÔÚµÄ¶ÁÕß, ±ÜÃâ¿´µ½µÄÊÇ¾ÉÓÐµÄ»òËð»µµÄ°æ±¾.
Èç¹ûÄãÈÏÎªÄãÓÐÀýÍâµÄÇé¿ö, ¿ÉÒÔÏòÎÒÑ¯ÎÊÒ»ÏÂ.




\subsection{¸ÐÐ»}

This document was originated by Matt Welsh in the dim and
backward abysm of time.  Thanks, Matt!






\section{·­Òë}

\begin{itemize}
\item \nameurl{http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html}{Òå´óÀûÓï}
\item \nameurl{http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html}{Ë¹À­Î¬ÄáÑÇÓï}
\item 
\end{itemize}
\nameurl{http://meta.mioc.hr/XFree86-KAKO.html}{¿ËÂÞ°£Î÷ÑÇÓï}

\end{document}
