Linux XFree86 HOWTO ¤¤Ä¶ª© §@ªÌ: Eric S. Raymond ĶªÌ: J.S. Lin, , r6921068@ms.cc.ntu.edu.tw v5.9, 27 October 1998 _________________________________________________________________ ¥»¤å¥ó´y­z¦p¦ó¨ú±o,¦w¸Ë,»P³]©w Linux ¤Wªº X Window System (X11R6), XFree86 3.3 ª©. ¥¦¬O¤@¨B¤@¨B³]©w XFree86 ©ó§Aªº¨t²Î¤W. _________________________________________________________________ 1. ¤¶²Ð * 1.1 ¨ä¥L¸ê°T¨Ó·½ * 1.2 ³o¤å¥óªº·sª©¥» * 1.3 ¦^¨ç»P­q¥¿ 2. µwÅé»Ý¨D 3. ¦w¸Ë XFree86 4. ³]©w XFree86 * 4.1 ¤@¯ë³]©w * 4.2 ¸Ñ¨M§xÃø * 4.3 ¦Û©w³]©w * 4.4 ¨Ï¥Î 16-¦ì¤¸ ªºÃC¦â 5. °õ¦æ XFree86 * 5.1 ¨Ï¥Îªº±ø¥ó * 5.2 ·PÁ 6. ½Ķ _________________________________________________________________ 1. ¤¶²Ð X Window System ¬O UNIX ¨t²Î¤W±j¤jªº (¦³¨Ç¤H¥i¯à·|»¡·¥Ãe¤j¦Ó¥B«D±`½ÆÂø ªº) ¹Ï§Î¤Æ§@·~Àô¹Ò. ­ì¥»ªº X Window System µ{¦¡½X¬O MIT ©Òµo®iªº; ±q¨º ®É°_°Ó·~³c°âªÌ´N¤w¸g¨Ï X ¦¨¬°UNIX ¥­¥x¤Wªº¤u·~¼Ð·Ç. ¹ê»Ú¤W, ¦b¥@¬É¤W¨C ¥x UNIX ¤u§@¯¸¥i¥H¶] X Window system ªº¦Uª©¥». ¤@­Ó MIT X Window System version 11, release 6 (X11R6) ¦b 80386/80486/Pentium UNIX systems ¤W§K¶O,¥i­«µo¦æªº²¾´Óª©¥»¤w¸g¦bµo®i, ¥Ñ­ì¥» David Wexelblat [1] ©Ò»â¾Éªºµ{¦¡³]­p®v¹Î¶¤. ³o ­Óª©¥»,¥s§@ XFree86, ¥i¥H¨ú±oµ¹ System V/386, 386BSD, ©M¨ä¥L x86 UNIX ¹ê§@,¥]¬A Linux. ¥¦¥]§t©Ò¦³»Ý­nªº binaries, ·f°tÀÉ®×, libraries, ¥H¤Î¤u ¨ã. XFree86 ªº§¹¾ã¸ê®Æ¬O¥i¥H¨ú±o¦b XFree86 ªººô¯¸, [2]http://www.XFree86.org. ¦b¥»¤å¥ó, §Ú­Ì±N¤@¨B¨Bªº´y­z¦p¦ó¦b Linux ¦w¸Ë©M³]©w XFree86, ¦ý§A¦Û¤v±N ¥²¶·¾aŪ XFree86 ¥»¨­¤½¶}ªº¤å¥ó(³o¨Ç¤å¥ó¥H¤U·|°Q½×) ¨Ó¥R¹ê¬Y¨Ç²Ó¸`. µM ¦Ó, ¨Ï¥Î©M¼ô½m X Window System ¬O»·¶W¥X¥»¤å¥ó½d³ò --- °ò©ó³o­Ó¥Øªº,§AÀ³ ¸Ó¦b²³¦h°Q½×¨Ï¥Î X Window System ªº¦n®Ñ¤¤,¨ú¤@¥»¨Ó¬Ý. 1.1 ¨ä¥L¸ê°T¨Ó·½ ¦pªG§A¥H«e±q¥¼Å¥¹L Linux, ¨ºùØ­±¦³¤@¨ÇÃö©ó³o¨t²Î[X Window System]ªº°ò¥» ¸ê®Æ. ­n§ä¨ì³o¨Ç¸ê®Æªº³Ì¦n¦a¤è¬O¦b Linux Documentation Project ªº home page §Y [3]http://sunsite.unc.edu/LDP. §A¯à¦b¨º§ä¨ì¸Ó¤å¥ó¤§³Ì·s, ³Ì·sªº ª©¥»¦b [4]http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html 1.2 ³o¤å¥óªº·sª©¥» Linux XFree86 HOWTO ªº·sª©¥»±N·|©w´Á©Ê¦a±i¶K¦b [5]comp.os.linux.help ©M [6]news:comp.os.linux.announce ¥H¤Î [7]news.answers. ¥L­Ì¤]±N·|§ó·s¨ì¦U ºØ Linux WWW ©M FTP ¯¸,¥]¬A LDP home page. §AÁ`¬O¯à¨£¨ì¥»¤å¥óªº³Ì·sª©¥»¦b¥þ²y¸ê°Tºô, Âǥѳo­Ó URL [8]http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html. 1.3 ¦^¨ç»P­q¥¿ ¦pªG§A¹ï³o¤å¥ó¦³°ÝÃD©Îµû½×, ½Ð¦Û¦bªº±H«Ê«Hµ¹ Eric S. Raymond, [9]esr@thyrsus.com. §Ú«ÜÅwªï¥ô¦ó«Øij©Î§åµû. ¦pªG§A¦b¤å¥ó¤¤§ä¨ì¿ù»~. ½Ð Åý§Úª¾¹D,¨Ï±o§Ú¯à°÷¦b¤U­Óª©¥»­×¥¿¥¦. ÁÂÁÂ. ½Ð ¤£­n ±H«Hµ¹§Ú, °Ý¨Ç¦p¦ó¨Ï§AªºÅã¥Ü¥d©MÅã¥Ü¾¹¯à¦b X ¤U, ¥¿±`¹B§@ªº°Ý ÃD. ³o­Ó HOWTO ªº·N¹Ï¬O§Ö³t,»´©öªº«ü¤Þµ¹ ¤@¯ë ¦w¸Ë, ¥¦¨Ï¥Î·sªº¤¬°Ê¦¡³] ©w¾¹[interactive configurator]. ¦pªG§Aµo¥Í°ÝÃD,ÂsÄý¤@¤U XFree86 Video Timings HOWTO, [10]http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html. ³o¬O XFree86's `Videomodes.doc' Àɮפ§³Ì·sªº HTML ª©¥».) ¨º¤å¥ó°O¿ý§Ú©Ò ª¾¹D, Ãö©ó¸Ñ¨M³]©w¤W§xÃøªº¨Æ±¡. ¦pªG¥¦¤£¯àÀ°±o¤W§A,¨º§Ú¤]À°¤£¤W. 2. µwÅé»Ý¨D ¦b XFree86 3.3ª©, ¥H¤UªºÅã¥Ü´¹¤ù²Õ¬O³Q¤ä´©ªº. ³o¤å¥ó¥]¬A§AªºÅã¥Ü¤¶­±¥d À³¸Ó»¡©ú©Ò¨Ï¥Îªº´¹¤ù²Õ. ¦pªG§A¦b¥«³õ¤W®³¨ì«Ü·sªºÅã¥Ü¥d, ©Î¶R¤@¥x·s¾÷¾¹ ¦Óªþ¦³Åã¥Ü¥d, À³­n¨D³c°â°Ó¥¿½Tªº«ü¥X¸ÓÅã¥Ü¥d¬O­þ®a»s³y,«¬¸¹, ¤Î´¹¤ù²Õ. ³o¥i¥H­n¨D³c°â°Ó¬°§A¥h¥´§Þ³N¤ä´©¹q¸Ü; ¤@¯ë³c°â°Ó·|¼Ö·N³o»ò°µ. ¤j³¡¤À PC µwÅé³c°â°Ó·|»¡³o­ÓÅã¥Ü¥d¬O ``¼Ð·Ç SVGA ¥d'', ¥¦ ''À³¸Ó¯à¥¿±`¹B§@'' ¦b§Aªº¨t²Î¤W. ¸ÑÄÀ¤@¤U§Aªº³nÅé (´£¨ì Linux ©M XFree86!) ¨Ã¨S¦³¤ä´©©Ò¦³ Åã¥Ü´¹¤ù²Õ, ©Ò¥H§A¥²¶·­n¦³¸Ô²Óªº¸ê®Æ. §A¤]¯à±oª¾§AªºÅã¥Ü¥dÂǥѰõ¦æ SuperProbe µ{¦¡, ¥¦¥]§t©ó XFree86 ®M¥ó. ³o ¦b¥H¤U·|¦³§ó¸ÔºÉªº»¡©ú. ¥H¤U¼Ð·Ç SVGA ´¹¤ù²Õ¦³³Q¤ä´©: * Tseng ET3000, ET4000AX, ET4000/W32, ET6000 * Western Digital/Paradise PVGA1 * Western Digital WD90C00, WD90C10, WD90C11, WD90C24, WD90C30, WD90C31, WD90C33 * Genoa GVGA * Trident TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000, TVGA9000i, TVGA9100B, TVGA9200CX, TVGA9320, TVGA9400CX, TVGA9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680 * 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 * NCR 77C22, 77C22E, 77C22E+ * Cirrus Logic CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462, CLGD5464, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CLGD6410, CLGD6412, CLGD6420, CLGD6440 * OAK OTI067, OTI077, OTI087 * Avance Logic ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401 * Chips & Technologies 65520, 65530, 65540, 65545, 65520, 65530, 65540, 65545, 65546, 65548, 65550, 65554 * MX MX68000, MX680010 * Video 7/Headland Technologies HT216-32 * SiS 86C201, 86C202, 86C205 * ARK Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT * RealTek RTG3106 * Alliance AP6422 * Matrox MGA2064W and Mystique cards * NVidia/SGS Thomson NV1, STG2000 ¥H¤U¨ã¦³¥[³t¯S©Êªº SVGA ´¹¤ù²Õ¤]³Q¤ä´©: * 8514/A (and true clones) * ATI Mach8, Mach32, Mach64 * Cirrus CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CGLD5446, CLGD5462, CLGD5464. * S3 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964, 86C732, 86C764, 86C765, 86C868, 86C968, 86C325, 86C988 * Western Digital WD90C31, WD90C33, WD90C24A * Weitek P9000 * IIT AGX-014, AGX-015, AGX-016 * IBM XGA-2 * Tseng ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000 * Ark Logic ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT * MGA2064W ¨Ï¥Î³o¨Ç´¹¤ù²ÕªºÅã¥Ü¥d¦³³Q¤ä´©©Ò¦³¶×¬y±Æ«¬¦¡[bus type],¥]¬A VLB ©M PCI. °£¤F Avance Logic, MX ©M Video 7 ´¹¤ù²Õ¥u¦³¤ä´© 256 ¦â¼Ò¦¡, ¥H¤W¨ä¥L¥þ ³£¦P®É¦³¤ä´© 256 ¦â©M ³æ¦â¼Ò¦¡. ­Y§AªºÅã¥Ü¥d¸Ë¦³¨¬°÷ªº DRAM, ¥H¤W´¹¤ù²Õ «Ü¦h³£¦³¤ä´©¨C³æ¦ì¹³¯À[pixel] 16 ¤Î 32 ¦ì¤¸[bits] ¼Ò¦¡ (¯S§O¬O¤@¨Ç Mach32, P9000, S3 ©M Cirrus boards). ³q±`ªº³]©w¬O¨C³æ¦ì¹³¯À 8 ¦ì¤¸ (¥ç §Y 256 ¦â). ³æ¦âªº¦øªAµ{¦¡[monochrome server]¤]¤ä´© generic VGA cards, Hercules monochrome card, Hyundai HGC1280, Sigma LaserView, ©M Apollo monochrome cards. ¦b Compaq AVGA ªº³¡¤À, ¥u¦³ 64k Åã¥Ü°O¾ÐÅé¬O¦³¤ä´©µ¹ ³æ¦â¦øªAµ{¦¡, ¦Ó GVGA ÁÙ¥¼¹ï¶W¹L 64k °µ´ú¸Õ. ³o¦Cªí²@µLºÃ°Ý¦a±N·|ÀH®É¶¡¦ÓÂX¼W. XFree86 ¥Ø«eª©¥»ªº release notes À³¸Ó ·|¥]§t§¹¾ã©Ò¤ä´©Åã¥Ü´¹¤ù²Õªº¦Cªí. XFree86 µo®iªÌ©Ò­±Á{ªº¤@­Ó°ÝÃD¬O, ¬Y¨ÇÅã¥Ü¥d»s³y°Ó¬°¯à©w¥XÅX°Ê¸Ó¥d©Ò¨Ï ¥Îªº®É¯ßÀW²v,¦Ó¨Ï¥Î«D¼Ð·Ç¾÷¨î. ³o¨Ç»s³y°Ó¤¤,¦³¨Ç­n¹À´N¨S¦³¤½¶},¦p¦óµ{¦¡ ³]­p³o±i¥dªº³W®æ; ­n¹À¥L­Ì´N¬O­n¨Dµo®iªÌñ¤@±i¨M¤£¥i¬ªÅSªºÁn©ú®Ñ,¥H¨ú±o ¸Ó¸ê®Æ. ³o©úÅã¦a­­¨î XFree86 ³nÅ骺¦Û¥Ñ´²§G, ¦³¨Ç¨Æ¬O XFree86 µo®i¹Î¶¤ ©Ò¤£¼Ö·N¥h°µªº. ¦³¦nªøªº¤@¬q®É¶¡,³o¬O­Ó°ÝÃDµo¥Í¦b Diamond ©Ò»s³yªº¬Y¨Ç Åã¥Ü¥d¤W, ¦ý·í XFree86 ªº 3.1 ª©®É, Diamond ¤w¸g¶}©l»P³o­Óµo®i¹Î¶¤¦X §@,¦ÓÄÀ¥X§K¶OªºÅX°Êµ{¦¡µ¹³o¨Ç¥d. ¦b Linux ¤U XFree86 ©Ò«Øij¬[³]¬O¤@¥x 486 ©Î§ó¦n, ¦Ó¥B¦Ü¤Ö·f°t 8 megabytes RAM, ©M¨ã¦³¤W­z©Ò¦C¥X´¹¤ù²ÕªºÅã¥Ü¥d. ¬°¤F³Ì¦nªºªí²{, §Ú­Ì«Øij ¨Ï¥Î¥[³t¥d, ¹³¬O±i S3-chipset card. §AÀ³¸ÓÀˬd¹ï©ó XFree86 ªº¤å¥ó, ¦Ó¥B ¦b¨M©w«_ÀI¤@¸Õªº¤ßºA¤U,ÁʶR©ù¶QªºµwÅ餧«e,½Ð¥ýÀˬd§Aªº¯S©w¥d¬O¦³¤ä´© ªº. ¤@¤è­±­È±o¤@´£ªº¬O, Matt Welsh (³o­Ó FAQ ªºµo°_¤H) ªº­Ó¤H Linux system ¬O¤@¥x 486DX2-66, 20 megabytes RAM, ¸Ë°t¦³ 2 megabytes DRAM ªº VLB S3-864 chipset card. ¥L¦b¸Ó¾÷¾¹¤W¶] X benchmarks ,¤]¦³¦b Sun Sparc IPX workstations ¤W¶]. Linux system ¤j²¤¬O¤ñ Sparc IPX §Ö 7 ­¿ (¦n©_ªº¿s ±´, ¦b Linux ¤U¦Ó¥Î¸ÓÅã¥Ü¥dªº XFree86-3.1 ¤j¬ù¶]¥X 171,000 xstones; Sparc IPX «h¤j¬ù¬O 24,000). ¤@¯ë¦Ó¨¥, ¦b¨Ï¥Î¥[³t SVGA ¥dªº Linux system ¤Uªº XFree86 ¤ñ°_«Ø¥ß¦b°Ó·~¤Wªº UNIX workstations (¥¦³q±`±Ä¥Î² ³æªº framebuffers ¨Ó¹Ï§ÎÅã¥Ü) ·|¦³¸û¨Îªºªí²{. §Aªº¾÷¾¹¦Ü¤Ö»Ý­n 4 megabytes ªº physical RAM, ©M 16 megabytes ªº virtual RAM (Á|¨Ò¦Ó¨¥, 8 megs physical ©M 8 megs swap). °O¦í§A¦³ªº physical RAM ¶V¦h,¨t²Î·íµo¥Í°O¾ÐÅéµu¯Ê¦Ó­n¥æ´«[swap]¦s¨úµwºÐ¾÷·|¶V¤Ö. ¦]¬° ¥æ´« ¥»½è¤W¬OºCªº(ºÏºÐ¬Û¸û°O¾ÐÅé¬OÆZºCªº), ­n¬yºZ¦a¶] XFree86 ªº ¸Ü, ¦³ 8 megabytes RAM ©Î§ó¦h¬O¥²­nªº. 16 megabytes §ó¦n. ¨ã¦³ 4 megabytes ªº physical RAM ªº¨t²Î¥i¯à¤ñ¶] 8 megs ©Î§ó¦hªº¨t²ÎºC ³\¦h (¬Æ ¦Ü¥i°ª¹F 10 ­¿). 3. ¦w¸Ë XFree86 «Ü¦³¥i¯à,§A¨ú±oªº XFree86 ¬O Linux µo¦æ®M¥óªº¤@³¡¤À, ¦b¨ººØ±¡§Î, ¤À¶}¤U ¸ü¸Ó³nÅé¬O¨S¦³¥²­nªº. ¦b¨º±¡§Î¤U,§A¥i¥H²¤¹L³o¤@¸`. XFree86 ªº Linux ¤G¤¸½Xª©¥»¥i¥H¦b³\¦h FTP ¯¸§ä¨ì. ¦b XFree86 ¯¸, ¥¦¬O¦b [11]ftp://ftp.xfree86.org/pub/XFree86/current/binaries/Linux-ix86 ( ·í µ§ªÌ¦b¼gªº®É­Ô, ¥Ø«eªºª©¥»¬O 3.2A; ³Ì·sª©¥»«h©w´Á¦aÄÀ¥X). ¦b°µ¥ô¦ó¨ä¥¦ªF¦è¤§«e,­º¥ý¤U¸ü¥B°õ¦æ `preinst.sh' ªº shell script. ³o¥i ¥H§i¶D§A,¦b§AÄ~Äò§Aªº¦w¸Ë¤§«e,§A»Ý­n¦b§´·í¦ì¸m¦³Ãöªº¥ý¨M­n¯À. ¦pªG§Aª½±µ¤U¸ü XFree86, ³o­Ó¦Cªí¦C¥X¦b XFree86-3.3 ³nÅé®M¥ó¤¤ªºÀÉ®×. ¥H¤U server ¤§¤@¬O¥²»Ýªº: X338514.tgz Server for 8514-based boards. X33AGX.tgz Server for AGX-based boards. X33I128.tgz Server for the Number Nine Imagine 128. X33Mach32.tgz Server for Mach32-based boards. X33Mach64.tgz Server for Mach64-based boards. X33Mach8.tgz Server for Mach8-based boards. X33Mono.tgz Server for monochrome video modes. X33P9K.tgz Server for P9000-based boards. X33S3.tgz Server for S3-based boards. X33S3V.tgz Server for the S3 ViRGE and ViRGE/VX (considered beta) X33SVGA.tgz Server for Super VGA-based boards. X33W32.tgz Server for ET4000/W32-based boards. ¦pªG§A¤£ª¾¹D­n¨ú­þ¤@­Ó,´N¨ú VGA16 server,X33VGA16.tgz. ¤£ºÞ«ç¼Ë,§A³£­n ¤U¸ü³o¤@­Ó,¦]¬°§A±N»Ý­n¥¦¦b¤U­Ó¨BÆJ¥h°õ¦æ¦Û°Ê³]©w¤u¨ã. ¥H¤U¥þ³¡Àɮ׳£¬O¥²¶·ªº: preinst.sh Pre-installation script postinst.sh Post-installation script X33bin.tgz The rest of the X11R6 binaries. X33cfg.tgz Config files for xdm, xinit and fs. X33doc.tgz Documentation. X33man.tgz Manual pages. X33fnts.tgz 75dpi, misc and PEX fonts X33lib.tgz Shared X libraries and support files. X33set.tgz XF86Setup utility X33VG16.tgz Server for VGA/EGA-based boards. ¥H¤UÀɮ׬O¿ï¾Ü©Êªº: X33f100.tgz 100dpi fonts X33fcyr.tgz Cyrillic fonts X33fnon.tgz Other fonts (Chinese, Japanese, Korean, Hebrew) X33fscl.tgz Scalable fonts (Speedo and Type1) X33fsrv.tgz Font server and config files X33prog.tgz X header files, config files and compile-time libs X33lkit.tgz X server LinkKit X33lk98.tgz PC98 X server LinkKit X33nest.tgz Nested X server X33prt.tgz X print server X33vfb.tgz Virtual framebuffer X server X33ps.tgz PostScript version of the documentation X33html.tgz HTML version of the documentation ¨º­Ó XFree86 ¥Ø¿ýÀ³¸Ó¥]§t¦³¥Ø«eª©¥»ªº release notes ¦b RELNOTES. ¹ï©ó¦w ¸Ë²Ó¸`,¥i¬d¾\©ó¸Ó¤å¥ó[RELNOTES]. ©Ò­n¦w¸Ë XFree86 ªº¤u§@ªº¬O¨ú±o¥H¤WÀÉ®×, (¥H root ¨­¤À) «Ø¥ß /usr/X11R6 ¥Ø¿ý, ©M±q /usr/X11R6 ¸Ñ¶}¨º¨ÇÀɮצp¤U¦C«ü¥O: gzip -dc X33bin.tgz | tar xfB - °O¦í³o¨Ç tar Àɮ׬O¬Û¹ï©ó /usr/X11R6 ¥Ø¿ý©Ò¥]¸Ë°_¨Óªº, ©Ò¥H«Ü­«­nªº¬O­n ¦b¨ºùظѥ]¥]¸Ë. §A»Ý­n½T©w /usr/X11R6/bin ¬O¦³³]¦b§Aªº path ¤¤. ³o¥i¥HÂǥѽs¿è§A¨t²Î¤º ©wªº /etc/profile ©Î /etc/csh.login (¦¹¤D®Ú¾Ú§A,©Î¦b§A¨t²Î¤¤ªº¨ä¥L¨Ï¥Î ªÌ,©Ò¨Ï¥Îªº shell ¦Ó©w). ©ÎªÌ§A¥i¥H²³æ¦a­×§ï .bashrc ©Î .cshrc (µø§Aªº shell ¦Ó©w) ¨Ó§â¸Ó¥Ø¿ý¥[¤J§A­Ó¤Hªº path . §A¤]»Ý­n½T©w /usr/X11R6/lib ¯à³Q runtime linker ld.so §ä¨ì. ¬°¤F³o¼Ë,¥[ ³o¦æ /usr/X11R6/lib ¨ì³o­ÓÀÉ /etc/ld.so.conf, ©M¥H root ¨­¤À¥h°õ¦æ /sbin/ldconfig, 4. ³]©w XFree86 4.1 ¤@¯ë³]©w ¥H«e,­n³]©w¦n XFree86 ¥H«K¯à¨Ï¥Î§Aªº·Æ¹«, Áä½L, Åã¥Ü¾¹, ©MÅã¥Ü¥d, ¬O¨¯ ­Wªº®t¨Æ, »Ý­n¤j¶qªº¿Ë¦Û°Ê¤â¥h³]©w©MÀ|¸Õ½Õ¾ã[hand-hacking] ¤@­Ó«Ü½ÆÂøªº ³]©wÀÉ®×, ¨º¥i»¡¬O¤@ºØ¤£¥i¨¥¶ÇªºÃÀ³N. ²{¦b¤£¦A»Ý­n¤F; ¦b3.2/3.3ª©«á,¨Ï ³o­Ó¹Lµ{´X¥G¨S¤°·N¸q¤F. §A©Ò­n°µªº¬O¶}±Ò XF86Setup µ{¦¡. ³oµ{¦¡¤D¨Ì¿à²{¤µ©Ò¦³·s¥X³f¦Ó¥B·f°t¨ã EGA/VGA ¯à¤O¤§Åã¥Ü¾¹ªºPCµwÅ鱡ªp¦Ó ©w. ¥¦±Ä¥Î VGA16 server ¦Ó¥B§Q¥Î¥¦¥H³Ì§C¶¥¦@³q©Ê 640x480 ¼Ò¦¡¨Ó¶}±Ò X. µM«á¥¦°õ¦æ¤¬°Ê¦¡µ{¦¡,¥¦±a§A¸g¹L³sÄò¤­­Ó³]©w­±ªO -- mouse, keyboard, (video) card, monitor, ©M `other' (¦U¦¡¦U¼Ëªº server ¿ï¶µ). ¥þ³¡¹Lµ{¬Û ·í²³æ. (¦pªG§A¬O¥Î Red Hat Linux, §A¥i¥H¨Ï¥Î¥t¤@­Ó¥s§@ xf86config µ{¦¡. ¥¦ªº§@ ¥Î«D±`¹³¬O XF86Setup ,¦ý¬O¨ä¥»¨­¤£¬O¨Ï¥Î X ¤¶­±»P VGA16 server.) ¦³¤@¤pÂI­n°O¦íªº¬O,¦pªG§A¹³¤j¦h¼Æ¤H¨Ï¥Î¥Ø«eªºPC, §AªºÁä½L¹ê»Ú¤W¬O XF86Setup ©Ò©I¥sªº `Generic 102-key PC (intl)' ¦Ó¤£¬O¹w©wªº `Generic 101-key PC'. ¦pªG§A¿ï¾Ü¹w©wªº(101), ¦b§AÁä½L[keyboard]ªº·¥¥kÃä(¼Æ¦r¤Î¨ä ¬ÛÃö [numeric keypad and friends])¤Wªº«öÁä¸s[key cluster]¥i¯à·|¨S¦³§@ ¥Î. ¦pªG§A¤£½T©w§AÅã¥Ü¾¹ªº«¬¦¡[monitor type],§A¥i¥H³sÄò¸Õ¸Õ¥¦©Ò¦C¥Xªº«¬¦¡. ´N¨Ì§Aªº²ßºD¥Ñ¤W©¹¤U¸Õ(¸û¤W­±ªº¿ï¶µ©Ò¥]§tªº¬O¸û§C dot-clock ³t«×, ¦Ó¥B ¹ïµwÅé­n¨D¤]¤ñ¸û§C). ¦pªGµo¥Í¤F²V¶Ã©ÎÄY­«¦a§á¦±ÅܧÎ[distorted]ªº¹Ï§Î ®É, ½Ð©¹¦^¸Õ[Back off]. ¤p³¡¤Àªº§á¦±ÅܧΠ(¹Ï§Îµy¤Ó¤j,µy¤Ó¤p,©Îµy°¾Â÷¤¤ ¤ß) ¤£¬O¤°»ò¤j°ÝÃD; §A¬O¥i¥H°¨¤WÂǥѷL½Õ[fine-tuning]¦¹ mode ¨Ó­×¥¿. ¦AªÌ, ·íµ{¦¡¥´¶} xvidtune ¤¹³\§A¥h½Õ¾ã[tweak]§AªºÅã¥Ü¼Ò¦¡[video mode], §OÅýªì©lªºÄµ§iµøµ¡,¨Ï§A·P¨ìºò±i. ²{¦b¦hÀWÅã¥Ü¾¹[multisync monitors] (¤£ ¹³¥L­Ì¥H«e¬O¥Î©wÀWªº) ¤£·|¦]¬°¥Î³o¤è¦¡¦Ó´N»´©ö·lÃa. XF86Config ¥i¥H°²³]§Aªº·Æ¹«¸Ë¸m¬O¦b /dev/mouse. ¦pªG§Aµo²{³o¨S§@¥Î®É,§A ¥i¯à»Ý­n³sµ² /dev/mouse ¨ì·Æ¹«¹ê»Ú©Ò¦b /dev/ca[01] ¨º. ¦pªG§Aµo²{·í _________________________________________________________________ gpm _________________________________________________________________ ¥¿¦b°õ¦æ,¦Ó XFree86 µ¹§A¤@­Ó "mouse busy" ªº¿ù»~°T®§®É, ¨º§A«h»Ý­n³sµ² ¨ì /dev/ttyS[01] ¨Ó¨ú¥N. ³]©wªº¹Lµ{¾Þ§@¦³¿ï©w²Å¦X§AªºÅã¥Ü¥d¤@¯ë«¬ºAªº server (¹³¬O XF86_VGA16, XF86_Mach64, or XF86_S3) ¥H¤Î³]©w XF86Config ÀÉ®×, ¦Ó server ¶}©l±Ò°Ê®É ·|Ū¨ú¸ÓÀɤ¤ªº§A¦w¸Ë®É¤w«ü©wªº¯S®í°Ñ¼Æ. XF86Config ªº©Ò¦b¦ì¸m·|ÀH®É§Aªº OS ¤£¦P¦ÓÅÜ, ¦ý¦³­Ó¦a¤è¥i§ä§ä¬Ý¬O¦b /etc/X11. ¦b¸û¦­ªº XFree86 ª©¥», XF86Setup ·|ª½±µ±N `X' «ü¥O³s±µ©Ò¿ï¾Üªº server. ¦b³Ìªñªºª©¥», ¨ú¦Ó¥N¤§ªº¬O±N `X' ³s±µ¨ì¥s Xwrapper ªº set-user-id wrapper µ{¦¡. ³o·Qªk¬O©Ò¦³ªº setuid root stuff ³£¸¨¦b Xwrapper ¤§¤¤, ©Ò ¥H server ´N¤£¥²¦b¥Î setuid root. 4.2 ¸Ñ¨M§xÃø ·í§A­è¶}©l¶}±Ò X server, ¦³¨Ç¶µ¥Ø°¸º¸·|¨S¦³³]©w«Ü¥¿½T. ³oÁ`¬O´X¥G·|¥Ñ§A ªº³]©wÀɮפ¤ªº¤@¨Ç°ÝÃD©Ò¤Þ°_ªº. ³q±`¦b¬OÅã¥Ü¾¹ªº timing values ¤£¥¿½T, ©ÎÅã¥Ü¥dªº dot clocks ³]©w¤£¥¿½T. ¤Ö¼Æ°ÝÃD¥i¥HÂÇ¥Ñ xvidtune ¨Ó¸Ñ¨M; ·í ¿Ã¹õ¤W¹ê¦b¬O²V¶Ã¤£²M·¡®É,³q±`¬Oªí¥Ü §A»Ý­n¦^¨ì XF86Setup ¦Ó¿ï¾Ü¥\¯à¤ñ¸û §CªºÅã¥Ü¾¹«¬¦¡[monitor type]. ¦pªG§AªºÅã¥Ü¦n¹³±²¦±[roll], ©ÎÃäÃä¼Ò½k¤£²M[fuzzy], ³o«Ü²M·¡¦aªí¥ÜÅã¥Ü¾¹ ªº timing values ©Î dot clocks ¬O¿ùªº. ¦AªÌ, ­n½T©w§A¬O¥¿½T¦a«ü¥X§AªºÅ㠥ܥd´¹¤ù²Õ, ¦b XF86Config ¤¤ªº Device ¬q¸¨¤§¨ä¥¦¶µ¥Ø¤]¬O¦p¦¹. µ´¹ï­n½T ©w§A¬O¨Ï¥Î¥¿½Tªº X server ,¦Ó¥B /usr/X11R6/bin/X ¦³²Å¸¹³sµ² [symbolic link]¨ì³o­Ó server. ¦pªGµo¥Í¨ä¥¦©Ò¦³¥¢±Ñªº±¡ªp, ¸Õ¸Õ ''¨ª»r¦a[bare]'' ¶}±Ò X; ¤]´N¬O, ¨Ï¥Î ¹³³o¼Ëªº«ü¥O: X > /tmp/x.out 2>&1 µM«á§A¥i¥H¬å¥h X server (¨Ï¥Î ctrl-alt-backspace Á䪺²Õ¦X) ¦Ó¥BÀˬd /tmp/x.out ªº¤º®e. X server ·|³ø§i¥ô¦óĵ§i¤Î¿ù»~---Á|¨Ò, ¦pªG§AªºÅã¥Ü¥d ¨S¦³¤@­Ó dot clock ¥i¬Û²Å¦X§AÅã¥Ü¾¹©Ò¤ä´©ªº¼Ò¦¡. °O¦í§A¥i¥H¨Ï¥Î ctrl-alt-numeric + ©M ctrl-alt-numeric - ¨Ó¤Á´«¦b XF86Config ¤¤ªº Screen ¬q¸¨ªº Modes ¦æ ©Ò¦C¥XªºÅã¥Ü¼Ò¦¡. ­Y³Ì°ª¸ÑªR«×¼Ò ¦¡¤£¯à¬Ý°_¨Ó«Ü¾A·í,¸Õ¸Õ¤Á¨ì¸û§Cªº¸ÑªR«×. ³o¦Ü¤Ö·|Åý§Aª¾¹D§Aªº X ³]©w³o ³¡¤À¬O¥¿½Tªº¹B§@. ¦AªÌ, Àˬd¤@¤U§AÅã¥Ü¾¹¤Wªº««ª½»P¤ô¥­¤§¤j¤p/¹ï·Ç±Û¯Ã. ¦b«Ü¦h±¡ªp¤U,·í X ­è¶}±Ò®É, ³o¨Ç¬O»Ý­n½Õ¾ãªº. Á|­Ó¨Ò¤l, ¦pªGÅã¥Ü¾¹¦n¹³¦³ÂI°¾¤@Ãä®É, ³q±` §A¯à°÷¨Ï¥ÎÅã¥Ü¾¹ªº±±¨î¨Ó­×¥¿³o­Ó. USENET ªº newsgroup comp.windows.x.i386unix ¥D­n¬O¦b°Q½×¦³Ãö XFree86, comp.os.linux.x ¤]¬O. ¬Ý¤@¤U newsgroup ¨º¨Ç»P§AªºÅã¥Ü¥d¦³Ãöªº¤å³¹¤]³\¬O ­Ó¦n¥D·N---§A¤]³\­è¦n¬Ý¨ì¬Y¨Ç¤H¸ò§A¦³¬Û¦Pªº°ÝÃD. 4.3 ¦Û©w³]©w ¦pªG§AªºÅã¥Ü¾¹¯à¤ä´© 1600x1200 -- ¦Ó¥Î XF86Setup ¨Ó¦w¸Ë¤§³Ì°ª©Ò¯à°÷¤ä´© ªº¸ÑªR«×¬O 1280x1024, ¨º»ò§A·|»Ý­n¿Ë¦Û°Ê¤â¥h¹Á¸Õ½Õ¾ã§Aªº X ¤§³]©w,¥H«K ¨ú±o³Ì¨Î¤Æªºªí²{. ¦pªG°ò©ó³o­Ó²z¥Ñ©Î¨ä¥¦²z¥Ñ, ¦Ó§A·Q­n¿Ë¦Û°Ê¤â¥h¹Á¸Õ½Õ¾ã§AªºÅã¥Ü³]©w, ¥h ¬Ý¤@¤U LDP ªº XFree86 Video Timings HOWTO, [12]http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html. (³o´N¬O XFree86 ªº `Videomodes.doc' Àɮפ§³Ì·sªº HTML ª©¥».) 4.4 ¨Ï¥Î 16-¦ì¤¸ ªºÃC¦â ®Ú¾Ú¤º©wªº, X ¨Ï¥Î 8-¦ì¤¸ ¦â²`[color depth]¦Ó¦³256¦â. ¬°Á׶}³oºØ­­¨î, «Ü¦hÀ³¥Îµ{¦¡°t¸m¥L­Ì¦Û¤vªº¦â±m¹ïÀ³¹Ï[colormap],¾É­PÀþ¶¡ÃC¦âÂà´«, ·í´å¼Ð ¦b¨â­Ó¦U¾Ö¦³¦Û¤vªº¦â±m¹ïÀ³¹Ï¤§µøµ¡²¾°Ê®É. Arena WWW ÂsÄý¾¹´N¬O³o¼Ë¤l. ¦pªG§A·Q­n¨Ï¥Î¥ý¶iªº¹Ï§Î¤ÆªºÀ³¥Îµ{¦¡,256¦â¤]³\¤£¨¬°÷. §A¥i¯à»Ý­n¦³ 16- ¦ì¤¸ ¦â²` (65,536 ÃC¦â). ¦ý­nª`·Nªº¬O, ¤£¬O©Ò¦³À³¥Îµ{¦¡³£­n¤u§@¦b 16-¦ì ¤¸ ÃC¦â¤Uªº. §A¯à²³æ¦a¨Ï¥Î 16-¦ì¤¸ ªº¦â²`¦Ó¦³ 65K ªº¤£¦P¦â, ÂǥѶ}±Ò X ®É,¥Î¥H¤U«ü ¥O _________________________________________________________________ startx -- -bpp 16 _________________________________________________________________ ©ÎªÌ±N¤U¦C³o¦æ _________________________________________________________________ exec X :0 -bpp 16 _________________________________________________________________ Â\¶i§Aªº .xserverrc Àɮפº. µM¦Ó,¬°¤F¨Ï³o¨Ï¯à¥¿±`¤u§@, §A»Ý­n¦³ _________________________________________________________________ screen _________________________________________________________________ ¬q¸¨¦b§Aªº XF86Config Àɮפ¤: _________________________________________________________________ DefaultColorDepth 16 _________________________________________________________________ ¦pªG§A¨Ï¥Î xdm,§A¥i¯à»Ý­n§ïÅÜ Xservers ÀÉ®×, ¨ä¤j·§¦ì¸m¬O¦b /etc/X11/xdm/. ¨å«¬ªº³]©wÀÉ´N¥u¦³¤@¦æ, ¬Ý°_¨Ó´N¹³³o¼Ë _________________________________________________________________ :0 local /usr/X11R6/bin/X _________________________________________________________________ ¥[¤W _________________________________________________________________ -bpp 16 _________________________________________________________________ ¨ì³o startup ¿ï¶µ: _________________________________________________________________ :0 local /usr/X11R6/bin/X -bpp 16 _________________________________________________________________ ¦AªÌ,§A·|»Ý­n§â¦â²` 16 (bits)ªºÅã¥Ü¥[¤J§Aªº X ³]©wÀɪº `screen' ¬q¸¨³¡ ¤À. ¤@¯ë§A¥i¥Hª½±µ½Æ»s 8-bitÅã¥Ü³¡¤À,¦Ó§ïÅܦâ²`¤j¤p. ¸û¦hÃC¦â­n§AªºÅã¥Ü¥d¦b¬Û¦Pªº®É¶¡¤º¯àÂà´«¦¨§ó¦h¸ê®Æ. ¦pªG§AªºÅã¥Ü¥d¤£¯à À³¥I, ¨º»ò´N¬O¸ÑªR«×[resolution]©Î¬O§ó·s²v[refresh rate]¥²¶·­n­°§C. XFree ¤º©wªº¬O­°§C¸ÑªR«×. ¦pªG§A­n«O«ù¸ÑªR«×¦Ó­°§C§ó·s²v, §A¥²¶··s¥[¤J ¤@¦æ¾A·íªº Modeline ¨ì§Aªº XF86Config Àɮפ¤, ¨ä©w¸q¨ã¦³³Ì§C§ó·s²v¤Uªº ¸ÑªR«×.Á|­Ó¨Ò¤l, ¨ú¥NÂÂ­È Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync ´«¦¨ Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync. ³oùتºÅ]³N¼Æ¦r 75 ©M 65 ¬O¦U­Ó®É¯ß²v[clock rates], ¨º¨Ç¬O§A§ä¨ì X °O¿ý ¦b§Aªº .X.err ÀÉ®×ùتº. ¬d¸ß¤@¤U¦b XF86 ¤å¥óªº monitors ÀÉ®×,¦³Ãö¦b 16 ¦ì¤¸¦â²`¤U ³Ì¾A¦X§AªºÅã¥Ü¥d¯à°÷¶Ç°e³Ì¤j®É¯ß²vªº Modelines. 5. °õ¦æ XFree86 ·í§Aªº XF86Config ¤w³]©w, §A·Ç³Æ¶}±Ò X server ¸Õ¥Î¤@¤U, ½Ð½T©w /usr/X11R6/bin ¦³³]¦b§Aªº path ¤¤. ¶}±Ò XFree86 ªº«ü¥O¬O startx ³o¬O xinit ªº«eºÝ¤¶­±[front-end](¦b¨ä¥L UNIX ¨t²Î,§A·|²ßºD¨Ï¥Î xinit). ³o«ü¥O±N·|¶}©l X server ¦Ó¥B°õ¦æ¦b§A®Ú¥Ø¿ý[home directory]¤U¤§ .xinitrc Àɮפº©Ò§ä¨ìªº«ü¥O. .xinitrc ¥u¬O­Ó¥]§t©Ò­n°õ¦æ X clients ªº shell script. ¦pªG³o­ÓÀɮפ£¦s¦b, ¨º»ò¨t²Î¤º©wªº /usr/X11R6/lib/X11/xinit/xinitrc ±N·|³Q¨Ï¥Î. ¤@­Ó¼Ð·Ç .xinitrc Àɮ׬ݰ_¹³³o¼Ë: #!/bin/sh xterm -fn 7x13bold -geometry 80x32+10+50 & xterm -fn 9x15bold -geometry 80x34+30-10 & oclock -geometry 70x70-7+7 & xsetroot -solid midnightblue & ³o­Ó script ±N¶}±Ò¨â­Ó xterm clients, ¤@­Ó oclock, ¦Ó¥B³]©w®Úµøµ¡[root window](­I´º)ªºÃC¦â¦¨ ²`ÂŦâ[midnightblue]. µM«á¥¦¶}±Òµøµ¡ºÞ²zµ{¦¡ fvwm2. ª`·N fvwm2 ¬O¥Î shell ªº exec ­z¥y[statement]©Ò°õ¦æªº; ³o³y¦¨ xinit µ{§Ç[process]³Q fvwm2 ¨ú¥N. ¤@¥¹ fvwm2 µ{§ÇÂ÷¶}, X server ±NÃö ²¦. §A¥i¥H¨Ï¥Î root ªí³æ[menus] ¨Ó¨Ï fvwm2 Â÷¶}: ¦b®à­±­I´º¤W©ñ¶} mouse ªº²Ä¤@­Ó«öÁä---³o±N¥X²{¤U©Ôªí³æ,¨º±NÅý§A¥i¥HÂ÷¶} Exit Fvwm2. ½T©w¦b .xinitrc ¤¤ªº³Ì«á­±ªº«ü¥O¬O¥H exec¬°¶}ÀYªº, ¦Ó¨º¤£·|³Q©ñ¦b­I´º°õ ¦æªº (¦Ó¦b¨º¦æ«áÀY,¨S¦³¦A±µµÛ¤°»ò°Ê§@). §_«h, X server Ãö²¦Àþ¶¡, ±N·|¦A ¥h°õ¦æ .xinitrc Àɮפ¤ªº client. ¦¹¥~, §A¥ç¥i¥H«ö ctrl-alt-backspace ¤§²Õ¦XÁä¦ÓÂ÷¶} X. ³o·|ª½±µ¬å±¼ X server, Â÷¶}µøµ¡¨t²Î. ¥H¤W¬O«D±`,«D±`²³æªº®à­±³]©w. ­n¶]³\¦h¦nµ{¦¡¤Î³]©w¬O¥i¥H¦b§Aªº .xinitrc Àɮפ¤µy¥[­×§ï§Y¥i°µ¨ì. ¦pªG§A¬O·s±µÄ² X Window System §@·~Àô¹Ò; §Ú­Ì±j¯P«Øij§A¿ï¤@¥»¦n®Ñ, ¹³¬O Niall Manfield µÛ§@ªº The X Window System: A User's Guide(Addison-Wesley 1990). ¨Ï¥Î»P³]©w X ¹ê¦b¬O¤ñ¸û²`¤J©Ò¥H«ÜÃø¯à²[»\¦b ³o. ¬Ý¤@¤U xterm, oclock, ©M fvwm2 ªº man pages, ´N±q³o¸ê®Æ¶}©l§a. 5.1 ¨Ï¥Îªº±ø¥ó ¥»¤å¥ó 1996 ¦~ªºª©ÅvÂkÄÝ©ó Eric S. Raymond. §A¥i¥H¦Û¥Ñ¦a¨Ï¥Î, ´²¥¬, »P ½Æ»s, ¥u­n§A: * ¨S¦³²¤¹L©ÎÅܧó³o­Óª©Åvµù©ú. * ¨S¦³²¤¹L©ÎÅܧó³o­Óª©¥»§Ç¸¹¤Î¤é´Á. * ¨S¦³²¤¹L©ÎÅܧ󥻤å¥ó©Ò«ü¨ìªº¥Ø«e WWW ª©¥». * ´N¹³³o¼Ë²M·¡¦a¼Ð¤W¥ô¦ó¿@ÁY©ÎÅܧ󪺪©¥». ³o­­¨î¥Øªº¬O«O»Ù¤@¨Ç¼ç¦bªºÅªªÌ, ÁקK¬Ý¨ìªº¬O¦³ªº©Î·lÃaªºª©¥». ¦pªG§A »{¬°§A¦³¨Ò¥~ªº±¡ªp, ¥i¥H¦V§Ú¸ß°Ý¤@¤U. 5.2 ·PÁ This document was originated by Matt Welsh in the dim and backward abysm of time. Thanks, Matt! 6. ½Ķ * [13]¸q¤j§Q»y * [14]´µ©Ôºû¥§¨È»y * [15]§Jù®J¦è¨È»y References 1. mailto:dwex@XFree86.org 2. http://www.XFree86.org/ 3. http://sunsite.unc.edu/LDP 4. http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html 5. news:comp.os.linux.help 6. news:comp.os.linux.announce 7. news:news.answers 8. http://sunsite.unc.edu/LDP/HOWTO/XFree86-HOWTO.html 9. mailto:esr@thyrsus.com 10. http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html 11. ftp://ftp.xfree86.org/pub/XFree86/current/binaries/Linux-ix86 12. http://sunsite.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html 13. http://www.pluto.linux.it/ildp/HOWTO/XFree86-HOWTO.html 14. http://www.lugos.si/delo/slo/HOWTO-sl/XFree86-HOWTO-sl.html 15. http://meta.mioc.hr/XFree86-KAKO.html