±¾ÎĵµµÄÖ÷ҪĿµÄÔÚÓÚ½éÉÜÊÖ¶¯ÅäÖÃLinuxÏÂXF86µÄÅäÖ÷½·¨, Ö÷ÒªÊǹØÓÚÈçºÎͨ¹ýÐÞ¸ÄXF86ConfigÎļþµ÷ÕûÏÔʾÆ÷ÔÚͼÐÎģʽϵÄÏÔʾ·Ö±æÂʺÍÑÕÉ«Éî¶È, ÒÔ¼°ÈçºÎͨ¹ý½¨Á¢·ûºÅÁ¬½ÓÐÞ¸Ä X Server£®ÁíÍâÌᵽһЩ¸úͼÐνçÃæÓйصÄÍøÓѳ£ÎÊÎÊÌ⣮ÎÄÖжÔÓÚÈçºÎʹÓÃÈí¼þ¹¤¾ß×öÏàÓ¦µÄûÓйý¶àÌá¼°, Ï£Íû»áÔÚÒÔºóµÄ°æ±¾ÖмÓÈëºÍÈí¼þÐ޸ķ½·¨Ö®¼äµÄÁªÏµºÍ²î±ð£®
Ò». X Window ¹¤×÷·½Ê½ÂÔ̸
¡¡¡¡(Èç¹ûÄãÖ»¹ØÐÄÈçºÎ¶Ô X Widow ½øÐÐÉèÖÃ, ¿ÉÒÔÌø¹ýÕâÒ»½Ú. Ö»ÊÇÀí½âÕâÒ»½ÚËù½²µÄ֪ʶ¶ÔÓÚÀí½âÏÂÃæµÄ¸÷ÉèÖò½ÖèÓÐÒ»¶¨°ïÖú)
¡¡¡¡X Window µÄ¹¤×÷·½Ê½¸ú Microsoft Windows ÓÐ×ű¾ÖʵIJ»Í¬£®MS Windows µÄͼÐÎÓû§½çÃæ (GUI) ÊǸúϵͳ½ôÃÜÏàÁªµÄ. ¶ø X Window Ôò²»ÊÇ, Ëüʵ¼ÊÉÏÊÇÔÚϵͳºËÐÄ (kernel) µÄÉÏÃæÔËÐеÄÒ»¸öÓ¦ÓóÌÐò£®
¡¡¡¡X Window µÄÔËÐзÖΪËIJã. ×îµ×²ãµÄÊÇ X Server(·þÎñÆ÷), ÌṩͼÐνçÃæ µÄÇý¶¯, Ϊ X Window Ìṩ·þÎñ£®ÉÏÃæµÄÒ»²ãÊÇÓÃÓÚÍøÉÏͨÐŵÄÍøÂçÐÒé -- X ÍøÂçÐÒ飬Õⲿ·ÖʹԶ³ÌÔËÐÐ X Window ³ÉΪ¿ÉÄÜ£®Ö»ÐèÒªÔÚ·þÎñÆ÷ÉÏÔËÐÐÒ»¸ö X Server, ¶ø¿Í»§»ú (Client) ÉÏÔËÐиüÉÏÒ»²ãµÄ³ÌÐò, Ôò¿ÉÒÔʵÏÖ X Widow µÄ Ô¶³ÌÔËÐУ®ÔÙÍùÉϵÄÒ»²ãÊdzÆ×÷ Xlib µÄµÍ²ãº¯Êý½Ó¿Ú, ½éÓÚÍøÂçºÍºÍ»ù´¡ÏµÍ³Óڽϸ߲ãµÄ³ÌÐòÖ®¼ä£®Ó¦ÓóÌÐòµÄʵÏÖÊÇͨ¹ýµ÷ÓÃÕâÒ»²ãµÄº¯ÊýʵÏֵģ®×²ã ¾ÍÊǹÜÀí´°¿ÚµÄ´°¿Ú¹ÜÀíÆ÷ÁË, Ò²¾ÍÊÇÒ»°ãËù˵µÄ WM (Window Manager)£®ÔÚÕâÒ»²ãµÄÈí¼þÊÇÓû§¶¼±È½Ï³£½Ó´¥µÄ, ±ÈÈç fvwm, AfterStep, Enlightment ÒÔ¼°WindowMaker µÈµÈ£®
¡¡¡¡´ÓÉÏÃæµÄ½éÉÜÀ´¿´, X Window µÄÔËÐÐÊÇÒ»ÖÖ¿Í»§»ú/·þÎñÆ÷(Client/Server)µÄģʽ, ·þÎñÆ÷ÓÃÓÚÏÔʾ¿ÍÔ˵ÄÓ¦ÓóÌÐò, ÓÖ±»³ÆΪÏÔʾ·þÎñÆ÷(Display Server)£®ÏÔʾ·þÎñÆ÷λÓÚÓ²¼þºÍ¿Í»§»úÖ®¼ä, Ëü¸ú×ÙËùÓÐÀ´×ÔÊäÈëÉ豸±ÈÈç¼üÅÌ¡¢Êó±êµÄ ÊäÈ붯×÷, ¾¹ý´¦Àíºó½«ÆäËͻؿͻ§»ú£®ÕâÑù, ʹÓû§ÉõÖÁ¿ÉÒÔÔÚ MSWindows µÄ»úÆ÷ÉÏÔËÐÐ X Client, ½ØÈ¡²¢´«ËÍÓû§µÄÊäÈë, Ö»Êǽ« X Window µÄÆÁÄ»Êä³öÏÔʾÔÚÓû§µÄÆÁÄ»ÉÏ£®¿Í»§»úµÄÊäÈëºÍÊä³öϵͳ¸ú X ·þÎñÆ÷Ö®¼äµÄͨÐŶ¼ÊÇ×ñÊØ X ÐÒéµÄ£®
¡¡¡¡ÓÉÓÚ±¾ÎĵµµÄÖ÷ҪĿµÄÔÚÓÚ½éÉÜÈçºÎÉèÖÃ, Òò´Ë¶Ô X Window ²»ÔÙ×÷½øÒ»²½µÄ½éÉÜ£®¸üÏêϸµÄ×ÊÁÏ¿ÉÒԲο¼ÓÐ¹ØµÄ HOWTO, man Ò³µÈµÈ£®
¶þ. ¹ØÓÚ X Window µÄÉèÖÃ
¡¡¡¡1. X Server
¡¡¡¡ÔÚ Linux ÏÂ, ÕâЩ·þÎñÆ÷µÄ³ÌÐòÊÇ´æ·ÅÔÚ /usr/X11R6/bin/ ÏÂÃæ, ²¢ÇÒ¶¼ÓÉ XF86_ ´òÍ·, Ò»°ãÀ´Ëµ, »áÌṩµ¥ÏÔ Mono, ±ê×¼ VGA ºÍ SVGA µÄÇý¶¯, ·Ö±ðÃüÃûΪ: XF86_Mono, XF86_VGA16 ºÍ XF86_SVGA, ÁíÍâ¿ÉÄÜ»¹»áÓÐ S3 ºÍÆäËûÒ» Щ´øÓÐͼÐμÓËÙ¹¦ÄܵÄÏÔ¿¨µÄÇý¶¯£®ÏÂÃæÊÇ×÷Õß±¾ÈË»úÆ÷ÉÏÔËÐÐµÄ RedHat Linux 6.1 ÖÐËù´øÓÐµÄ X Server Çý¶¯:
¡¡¡¡XF86_3DLabs ¡¡¡¡¡¡XF86_Mono ¡¡¡¡¡¡XF86_I128 ¡¡¡¡¡¡XF86_VGA16
¡¡¡¡XF86_P9000¡¡¡¡¡¡¡¡XF86_8514 ¡¡¡¡¡¡XF86_Mach32 ¡¡¡¡XF86_S3
¡¡¡¡XF86_W32¡¡¡¡¡¡¡¡¡¡XF86_AGX¡¡¡¡¡¡¡¡XF86_Mach64 ¡¡¡¡XF86_S3V XF86_
¡¡¡¡FBDev¡¡¡¡¡¡¡¡ ¡¡¡¡XF86_Mach8¡¡¡¡¡¡XF86_SVGA
¡¡¡¡Èç¹ûÄãµÄ /usr/X11R6/bin ÏÂÃæûÓÐÉÏÃæij¸öÎļþ»òÕ߶àÁËij¸öÎļþ, ²»±ØÔÚ Òâ, ÕâÖ÷Òª¾ö¶¨ÓÚÄãµÄ»úÆ÷µÄÓ²¼þ£®Æäʵһ°ãÖ»ÐèÒª¸ú×Ô¼ºÓ²¼þÏàÅäÌ×µÄÇý¶¯¼´¿É£¬±ÈÈç×÷ÕßÕýÔÚʹÓõĻúÆ÷ÉÏʹÓõÄÊÇ 3D Lab Permedia II µÄоƬµÄÏÔʾ¿¨, Òò´ËÖ»ÓÐ XF86_3DLabs ÊÇÓÐ×÷Óõģ®
¡¡¡¡Èç´ËÖ®¶àÖÖÀàµÄÏÔʾÊÊÅäÆ÷Çý¶¯³ÌÐò, ϵͳµ±È»ÐèÒªÒ»¸ö¹Ì¶¨ºÍͳһµÄ·½·¨È¥·ÃÎÊËü, Ò»°ã˵À´, ϵͳÊÇʹÓÃÒ»¸öÃûΪ X µÄ·ûºÅÁ¬½ÓÈ¥·ÃÎʾßÌåµÄ X Server µÄ£®Õâ¸ö X ҲͬÑùÊÇ´æÔÚÓÚ /usr/X11R6/bin/ Ŀ¼ÖÐ, ¿ÉÒÔʹÓÃÈçÏÂÃüÁî´òÓ¡ËûµÄ¾ßÌåÖ¸Ïò:
¡¡¡¡ls -l /usr/X11R6/bin/X
¡¡¡¡µÃµ½µÄ½á¹ûÈç:
¡¡¡¡lrwxrwxrwx¡¡¡¡ 1 root ¡¡root ¡¡¡¡8 Dec 14 03:40 /usr/X11R6/bin/X -> XF86_3DLab
¡¡¡¡Ç°ÃæµÄÊôÐÔ ""lrwxrwxrwx"" ÖеÚÒ»¸ö×Öĸ l ±íʾËüÊÇÒ»¸öÁ¬½Ó, ÔÚ×îºóÓɼýÍ·Ö¸³öËüËùÖ¸ÏòµÄ¾ßÌåÄ¿±ê£®
Ã÷°×ÁËÕâ¸ö, ÔÚÒÔºóÐèÒª¸ü»» X Server µÄʱºò¾Í¿ÉÒÔͨ¹ý¸Ä±äÕâ¸öÁªÏµÀ´ÊµÏÖÁË, ¾ßÌåÃüÁîÈçÏÂ:
¡¡¡¡ln -sf /usr/X11R6/bin/X??????? /usr/X11R6/bin/X
¡¡¡¡ÆäÖÐÎʺŴú±íµÄ×Öĸ¸ù¾Ý¾ßÌåÇé¿ö¾ö¶¨£®ÓÐЩʱºò, ÓÉÓÚÕâ¸öÁ¬½Ó²»ÕýÈ·, µ¼ÖÂÎÞ·¨ÔËÐÐ X Window, Õâʱ¿ÉÒÔʹËüÖ¸Ïò XF86_VGA16, ʹÓà 16 É«µÄ VGA ģʽ½øÈë X Window, ×¢ÒâÈç¹ûÐèÒªÔËÐÐ XF86Setup ³ÌÐò (ÊǸöͼÐνçÃæµÄ X Window ÅäÖù¤¾ß³ÌÐò), ÄÇôÕâ¸ö XF86_VGA16 Çý¶¯Ò»¶¨Òª´æÔÚ, ÕâÊÇÓÉÓÚ¸ÃÇý¶¯ËùÌṩµÄÏÔʾģʽÊÇÒ»°ãÏÔʾ¿¨ºÍÏÔʾÆ÷¶¼Ö§³ÖµÄ, ¹Ê¸ÃÅäÖóÌÐòʹÓÃ´Ë X Server ΪÇý¶¯£®µ±Óû§µÄÏÔ¿¨ÊDZȽÏÌØÊâµÄÐͺÅʱ, ÐèҪװÌض¨µÄÇý¶¯³ÌÐò, Ò²ÐèÒª×÷´Ë¹¤×÷£®
¡¡¡¡Çý¶¯³ÌÐòµÄ»ñµÃÓжàÖÖ;¾¶, Ò»°ãµÄ Linux ·¢Ðа汾¶¼ÌṩÁ˷ḻµÄÇý¶¯³ÌÐò, ¿ÉÒÔÂú×ã´ó²¿·ÖÒªÇó, ±È½ÏÌØÊâµÄÇý¶¯³ÌÐò, ¿ÉÒÔÔÚÍøÉÏ»ñµÃ£®µ±È»ÏÖÔÚ Linux ¶ÔÓ²¼þµÄÖ§³Ö»¹²»ÊǺÜÍêÉÆ, µ«ÕâÒѾ³¬³öÁ˱¾ÎĵµµÄ·ÃÎÊ, ²»ÔÚ×÷¸ü¶àµÄ±íÊö£®
¡¡¡¡2. ÏÔʾģʽ
¡¡¡¡ÏÔʾģʽ°üÀ¨·Ö±æÂÊ, ɨÃèƵÂÊ, É«ÉîµÈµÈ£®ÕâÒ²ÊÇÍøÓÑÔÚÏÔʾ·½ÃæÌáÎÊ×î¶àµÄÒ»¸öÎÊÌ⣮¶ÔÓÚÏÖÔÚµÄÏÔʾ¿¨ºÍÏÔʾÆ÷, Ò»°ã¶¼¿ÉÒÔʹÓà 1024 x 768 x 16 bit É«µÄÏÔʾģʽ. µ±È»±£ÏÕÆð¼û, ÔÚʹÓÃÏÂÃæËùÐðÊöµÄ·½·¨ÉèÖÃÄúËùʹÓõÄÏÔʾģʽµÄʱºò, ÇëÈ·¶¨ÄúµÄÏÔʾ¿¨ºÍÏÔʾÆ÷Äܹ»´ïµ½¸ÃģʽµÄÒªÇó, ·ñÔò¿ÉÄÜ»áÓÐËð»µÓ²¼þµÄΣÏÕ£®
¡¡¡¡ÔÚ¸÷·¢Ðа汾ÖÐ, ¶¼»áÌṩһЩÉèÖà X Window µÄ¹¤¾ßÈí¼þ, Èç Xconfigurator, XF86Setup, XF86Config µÈµÈ, ÕâЩ³ÌÐòÎÞÒ»ÀýÍâµÄÊÇÌṩÁËÒ»¸öÐÞ¸Ä X Window µÄ ÅäÖÃÎļþ XF86Config µÄ¼ò±ã·½·¨. µ±È»Ê¹ÓÃÆðÀ´±È½Ï·½±ã, µ«ÊǶÔÓÚһЩÐèÒªÁé»î µ÷ÕûµÄ³¡ºÏ¾Í²»ÊǷdz£ÊʺÏ, ÐèÒªÊÖ¶¯µ÷ÕûÅäÖÃÎļþÖеIJÎÊý´ïµ½×îºÃЧ¹û. Äú²»±Ø Ò»¶¨ÕâÑù×ö, ÕâÀïÖ»ÊǽéÉÜÕâÑùÒ»ÖÖ·½·¨, ʹÄú¿ÉÒÔÔÚÓÐÒÉÎʵÄʱºò·½±ãµØ½â¾ö.
¡¡¡¡Ò»°ãÕâ¸öÎļþÊÇ´æÔÚÓÚ /usr/X11R6/lib/X11/ Ŀ¼ÏÂ, ÔÚ /etc »òÕß /etc/X11 Ŀ¼ÖÐÓÐËüµÄÒ»¸ö·ûºÅÁ¬½Ó. ËüÊÇÒ»¸öÎı¾Îļþ, ¿ÉÒÔʹÓà vi ¶ÔËü½øÐÐÐÞ¸Ä. ÏÂÃæ ¶Ô¸ÃÎļþÖи÷²¿·ÖµÄ×÷ÓÃ×ö¸öÏêϸµÄ½éÉÜ. (ÈçÓÐÒÅ©, »¶ÓÌá³ö)
¡¡¡¡ÔÚÕâ¸öÎļþÖÐÓÐÕâÑù¼¸¸ö¸ÅÄî: ¶Î (Section) ºÍ×ӶΠ(Subsection). ÿ¸ö¶Î»ò ×Ӷηֱð¸ø³öÁ˲»Í¬µÄ²ÎÊý, ¸ñʽ·Ö±ðΪ:
¡¡¡¡Section
¡¡¡¡......
¡¡¡¡Endsection
¡¡¡¡Section Subsection
¡¡¡¡......
¡¡¡¡Endsubsection
¡¡¡¡Endsection
¡¡¡¡Ò»¸öÍêÕûµÄÅäÖÃÎļþÖаüº¬¾Å¸ö¶Î, ·Ö±ðÊÇ File (Îļþ), Modules (¶¯Ì¬Á´½Ó¿â) SeverFlag (·þÎñÆ÷ÌØÊâ±êÖ¾), Keyboard (¼üÅÌ), Pointer (ָʾÉ豸, Ò»°ãÊÇÊó±ê), Monitor (¼àÊÓÆ÷), Device (ÏÔʾÊÊÅäÆ÷, ¼´ÏÔ¿¨), Screen (ÆÁÄ»ÉèÖÃÐÅÏ¢), XInput (X ÊäÈë).
¡¡¡¡File¶Î: ÕâÒ»¶Îָʾ³öһЩÔËÐÐ X Window ËùÐèÒªµÄÎļþµÄλÖÃ, ±ÈÈçÑÕÉ«µÄ±ð ÃûÎļþ rgb.txt (×¢ÒâÕâÀïÊDz»ÐèҪд³ö¸ÃÎļþµÄÀ©Õ¹Ãû), ±ÈÈç:
¡¡¡¡RgbPath ""/usr/X11R6/lib/X11/rgb""
¡¡¡¡Èç¹ûÄú¿´¹ý /usr/X11R6/lib/X11/rgb.txt µÄÄÚÈÝ, Äã»áºÜÈÝÒ×µÄÖªµÀËüÊÇ ¸ÉʲôÓõÄ. ÓÐÁËËü, Äã¿ÉÒÔʹÓà red1 ´ú±í RGB ÑÕÉ«Öµ 255 0 0 µÈµÈ.
¡¡¡¡½ÓÏÂÀ´ÊÇ×ÖÌåÎļþµÄ·¾¶, ÕâÀïµÄÉèÖý«Ó°Ïìµ½ÖÐÎÄ×ÖÌåµÄÊä³ö. ÕâÀï¶Ô· ¾¶µÄÉèÖÿÉÒÔÊǶà¸ö, ÀýÈçÏÂÃæµÄÕâÑù:
¡¡¡¡FontPath ""unix/:-1""
¡¡¡¡FontPath ""/usr/share/zhfont/X11:unscaled""
¡¡¡¡FontPath ""/usr/share/zhfont/TTF""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/local""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/chinese""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/TTF""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/Type1""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/Speedo""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/misc""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/75dpi""
¡¡¡¡FontPath ""/usr/X11R6/lib/X11/fonts/100dpi""
¡¡¡¡ÔÚʹÓÃÒ»¸ö×ÖÌåĿ¼֮ǰ, ÐèҪʹÓà mkfontdir ÃüÁî°ÑÒ»Ìõ·¾¶ÖеÄ×ÖÌå ×÷¸öÁбí, ÔÚ¸ÃĿ¼ÖÐÉú³É font.dir ×÷Ϊ¶Ô×ÖÌåµÄË÷Òý, Èç:
¡¡¡¡mkfontdir /usr/X11Ry/lib/X11/fonts/100dpi
¡¡¡¡¾ßÌå¸ÃÃüÁîµÄÓ÷¨, ÇëʹÓà man ÃüÁî²é¿´Æä man page (ÊÖ²áÒ³), »òÕß»á ÔÚ±¾ÎĵµµÄºóÐø°æ±¾ÖÐÌṩÏêϸµÄ˵Ã÷.
¡¡¡¡¼ÈÈ» Unix µÄ·þÎñÖÐÓÐÒ»Ïî X Font Server, µ±È» X11R6 Ò²ÔÊÐí X ´Ó×ÖÌå ·þÎñÆ÷ (Font Server) ÏÂÉ趨×ÖÐΣ¬ÀýÈç¡¡FontPath ""/usr/X11R6/lib/X11/fonts/misc/,tcp/DarkEagle:7100"" ¡¡¾ÍÊÇÓÃÀ´¸æÖª X server ÔÚ±¾¶ËµÄ /usr/X11R6/lib/X11/fonts/misc ·¾¶ÖÐ, tcp/zok Õâ¸öÖ÷»ú£¬port Ϊ 7100 µÄµØ·½ÕÒ×ÖÐÎ.
¡¡¡¡»¹ÓеÄÒ»¸ö·¾¶ÊÇÄ£¿éÎļþ·¾¶. Ä£¿é·¾¶ÓÃÓÚÖ¸¶¨ËùÐèÒªµÄ¶¯Ì¬Á´½Ó¿âµÄ ·¾¶, ¿ÉÒÔÊÇÓöººÅ·Ö¿ªµÄ¶à¸ö·¾¶, Ò²¿ÉÒÔÊǶà¸öÒÔ ModulePath ¿ªÍ·µÄ ÐÐ. Ò»°ãÕâ¸öÉèÖò»ÊDZØÐëµÄ, ºÜ¶àʱºò¿ÉÄܲ¢²»ÄÜÕÒµ½Õâ¸öÉèÖÃ.
¡¡¡¡ÐèҪ˵Ã÷µÄÊÇ, ÕâÀï¶Ô¸÷¸ö·¾¶µÄÉèÖöÔ˳ÐòÊÇÎ޹صÄ.
¡¡¡¡Modules ¶Î: Õâ¸ö¶ÎÖ¸Ã÷µÄÊÇÐèÒª¼ÓÔصĶ¯Ì¬Ä£¿éÎļþ. µ±È»µ±Ç°µÄ¶¯Ì¬Ä£¿éÖ» ÊÇ˵Ã÷ÁËÐèÒª¼ÓÔØµÄ XInput É豸, ²¢ÇÒÖ»ÔÚÉÙÊýÆä¸öϵͳ (ÏÖÔÚÊÇ Linux Elf, FreeBSD 2.x ºÍ NetBSD 1.x, ±¾×ÊÁÏÕª×Ô RedHat 6.1 ÖÐ XF86Config µÄ man Îĵµ) Öб»Ö§³Ö. ÏÂÃæÊÇÔÚ±¾¶ÎÖпÉÓõÄÉèÖÃÏî:
¡¡¡¡Load ""Ä£¿éÃû""
¡¡¡¡ÕâÌõÖ¸Áîָʾ·þÎñÆ÷¼ÓÔØÓÉÄ£¿éÃûÖ¸¶¨µÄÄ£¿é. Èç¹û¸ÃÄ£¿éûÓÐʹÓà ÍêÕû·¾¶Ãû, ·þÎñÆ÷½«ÔÚÉÏÃæÎļþ¶ÎÖÐÓÉ ModulePath Ö¸¶¨µÄ·¾¶ÖÐ ½øÐÐËÑË÷. ÏÂÃæÊÇһЩ¿ÉÓõÄÄ£¿é:
¡¡¡¡xf86Elo.so
¡¡¡¡xf86MuTouch.so
¡¡¡¡xf86Jstk.so
¡¡¡¡xf86Wacom.so
¡¡¡¡xf86Summa.so
¡¡¡¡xf86AceCad.so
¡¡¡¡xf86Calcomp.so
¡¡¡¡xf86Dial.so
¡¡¡¡ÔÚһЩϵͳÖл¹¿ÉÒÔ°Ñ PEX ºÍ XIE µÄÀ©Õ¹×÷Ϊģ¿éʹÓÃ, ÈçÏÂ:
¡¡¡¡pex5.so
¡¡¡¡xie.so
¡¡¡¡ServerFlag ¶Î: Õâ¸ö¶ÎÖ¸Ã÷ÁËһЩ¾ßÌåµÄ²ÎÊý, ÈçÏÂ:
¡¡¡¡NoTrapSignals Õâ¸ö±êÖ¾½«Ê¹µ÷ÊÔÐÅºÅ¶Ô X Server ²»Æð×÷ÓÃ. µ÷ÊÔÐźŻáʹ X Server ""ת´¢ºËÐÄ"", °ÑÄÚ´æÖÐÓÐ¹ØµÄ X Server µÄÐÅÏ¢´æ´¢ µ½Ó²ÅÌÉÏ, ¼´ËùνµÄ ""Core dump"". ÕâÑùµÄÄ¿µÄÊDZãÓÚ¶Ô X Server ½ø Ðе÷ÊÔ. Ò»°ãÀ´Ëµ, ³ý·ÇÊÇX µÄ³ý´íÈËÔ±, ·ñÔòÎÒÃÇÊÇÓò»µ½Õâ¸öÑ¡ ÏîµÄ.
¡¡¡¡DontZap Õâ¸ö±êÖ¾½«Ê¹ X Server ÊÕµ½ ""Ctrl + Alt + Back Space"" ¼ü ×éºÏ·¢³öµÄÐźÅʱ *²»* Í£Ö¹¹¤×÷. µ±È»Ò»°ãÊDz»½¨ÒéʹÓõÄ.
¡¡¡¡DontZoom Õâ¸ö±ê־ʹ X Window ²»ÄÜÔÚ¸÷ÖÖͼÐÎģʽ֮¼ä½øÐÐÇл». X Window µÄȱʡ״̬ÊÇÔÚÓû§É趨Á˶à×é·Ö±æÂÊ, Ë¢ÐÂƵÂʺÍÑÕÉ«µÄ×é ºÏµÄÇé¿öÏÂ, ÔËÐÐ X Window µÄ¹ý³ÌÖпÉÒÔͨ¹ý Ctrl + ''+'' ºÍ Ctrl + ''-'' Á½×é¼üµÄ×éºÏÔÚ¶à¸öͼÐÎģʽ֮¼ä½øÐж¯Ì¬Çл».
¡¡¡¡Keyboard ¶Î: Õâ¸ö¶ÎÖ¸Ã÷ÁË X Window »·¾³ÖÐËùʹÓõļüÅÌÓ³ÉäÒÔ¼°ÆäËûһЩ²Î Êý. ÈçÏÂÊÇ×÷ÕߵļüÅÌÅäÖÃ:
¡¡¡¡¡¡¡¡Section ""Keyboard""
¡¡¡¡¡¡¡¡Protocol ""Standard""
¡¡¡¡¡¡¡¡# ÕâÀïµÄÈ¡ÖµµÄ¿ÉÄÜÖµÊÇ ""Standard"" ºÍ ""Xqueue""
¡¡¡¡¡¡¡¡¡¡¡¡AutoRepeat 500 5
¡¡¡¡¡¡¡¡# Ö¸¶¨ÑÓ³Ù (delay) ºÍ ËÙÂÊ (rate), ÕâÀïµÄÉ趨·Ö±ðΪ 500 ºÍ 0.
¡¡¡¡¡¡¡¡# ×¢Òâ: Õâ¸öÉèÖò¢·Ç¶ÔËùÓеÄƽ̨¶¼ÊÊÓÃ
¡¡¡¡¡¡¡¡¡¡¡¡LeftAlt Meta
¡¡¡¡¡¡¡¡¡¡¡¡RightAlt Meta
¡¡¡¡¡¡¡¡# ʹÓÃ×óÓÒ Alt ¼ü×÷ Meta ¼ü.
¡¡¡¡¡¡¡¡# ÕâÀïµÄ¿ÉÄÜֵΪ ""Meta"", ""Compose"", ""ModeShift"", ""ModeLock"",
¡¡¡¡¡¡¡¡#¡¡""ScrollLock"", ""Ctrl""
¡¡¡¡¡¡¡¡¡¡ScrollLock Compose
¡¡¡¡¡¡¡¡¡¡RightCtrl Control
¡¡¡¡# ÕâÁ½ÐеĿÉÄÜֵͬÉÏÃæËùÊö
¡¡¡¡¡¡¡¡XkbKeycodes ""xfree86""
¡¡¡¡¡¡¡¡XkbTypes ""default""
¡¡¡¡¡¡¡¡XkbCompat ""default""
¡¡¡¡¡¡¡¡XkbSymbols ""us(pc101)""
¡¡¡¡¡¡¡¡XkbGeometry ""pc""
¡¡¡¡¡¡¡¡XkbRules ""xfree86""
¡¡¡¡¡¡¡¡XkbModel ""pc101""
¡¡¡¡¡¡¡¡XkbLayout ""us""
¡¡¡¡EndSection
¡¡¡¡Õâ¶ÎÉèÖóöÁË XkbLayout »áÓ°Ïì¼üÅ̸÷°´¼üµÄ±íÏÖÒÔÍâ, ÆäËû¶¼Ö»ÊÇһЩ¹¦ ÄÜÉϵÄÉèÖÃ, ûÓÐÌ«´óÓ°Ïì. ÔÚ¿ØÖÆ̨ģʽÏÂ, ¿ÉÒÔͨ¹ý Alt + F? ÔÚ¸÷Ðé ÄâÖն˼ä½øÐÐÇл», ÔÚ X Widow »·¾³ÏÂ, ±ØÐëʹÓà Ctrl + Alt + F? ²ÅÄÜ ¹»´ïµ½ÕâһЧ¹û.
¡¡¡¡¶ÔÓÚ±¾¶ÎÒÔ¼°ÏÂÃæµÄ Pointer ¶Î, ÓÉÓÚ±¾È˾ÑéºÍËùÖªµÄÏÞÖƲ»ÄÜÍêÕûµØ½² Êö, »áÔÚ²»¾ÃÒÔºó×÷½øÒ»²½²¹³ä. ²¢ÔÚ´ËÏò¸÷λ±íʾǸÒâ.
¡¡¡¡Pointer ¶Î: ÈçÇ°ËùÊö, Õâ¸ö¶ÎÊÇÉèÖÃÊó±êµÈÉ豸µÄ. ÈçϾÙÀýÊÇ×÷ÕßµÄÊó±êÉè ÖÃ:
¡¡¡¡¡¡¡¡Section ""Pointer""
¡¡¡¡¡¡¡¡Protocol ""PS/2""
¡¡¡¡¡¡¡¡Device ""/dev/mouse""
¡¡¡¡¡¡¡¡# ÏÂÃæÕâÁ½¸ö²ÎÊýÊÇһЩ²ÉÓôż¼ÊõµÄÊó±êËùÐèÒªµÄ, Ò»°ã×¢Ê͵ô»òÕßɾ³ý
¡¡¡¡¡¡¡¡# BaudRate 9600
¡¡¡¡¡¡¡¡# SampleRate 150
¡¡¡¡¡¡¡¡# ÏÂÃæµÄÁ½¸ö²ÎÊýÊÇΪ·½±ãʹÓÃË«¼üÊó±êµÄÓû§Ê¹ÓÃÈý¼üÊó±ê¶øÉèÖõÄ
¡¡¡¡¡¡¡¡# µ±Ñ¡ÔñÁËÐéÄâÈý¼üµÄʱºò, ¿ÉÒÔͨ¹ýͬʱµã»÷Êó±ê×óÓÒ¼üÍê³ÉÖмüµÄ¹¦ÄÜ
¡¡¡¡¡¡¡¡Emulate3Buttons
¡¡¡¡¡¡¡¡Emulate3Timeout 50
¡¡¡¡¡¡¡¡# ÏÂÃæÕâ¸ö²ÎÊýÒ²ÊÇΪ´Å½ðÊôÊó±êËùÉ趨µÄ
¡¡¡¡¡¡¡¡# ChordMiddle EndSection
¡¡¡¡Mornitor ¶Î: Õâ¸ö¶ÎµÄÉèÖÃÐèÒª²Î¿¼ÏÔʾÆ÷µÄÓû§ÊÖ²á, ÒÔ±ã»ñµÃÏà¹ØµÄÊý¾Ý, ·ÀÖ¹Ëð»µÏÔʾÆ÷. Õâ¸ö¶ÎÊÇÎҸĶ¯×î¶àµÄ, ÏÖ¾ÙÀýÃèÊöÈçÏÂ:
¡¡¡¡¡¡¡¡Section ""Monitor""
¡¡¡¡¡¡¡¡Identifier ""Samsung SyncMaster 500s/500Ms""
¡¡¡¡¡¡¡¡# ¼àÊÓÆ÷±êʾ·û, ÔÚÏÂÃæ Screen ¶ÎÓÃ×÷±êʾ
¡¡¡¡¡¡¡¡# Õâ¸ö²ÎÊýµÄÉèÖöÔÏÔʾÆ÷µÄģʽûÓÐÖ±½ÓÓ°Ïì, Ö»Òª±£Ö¤¸úºóÃæ
¡¡¡¡¡¡¡¡# Screen ¶ÎµÄÒýÓñ£³ÖÒ»Ö VendorName ""Unknown""
¡¡¡¡¡¡¡¡# Éú²ú³§¼ÒµÄÃû³Æ ModelName ""Unknown""
¡¡¡¡¡¡¡¡# ÖÆÔìºÍÐͺŵıêʾ, ²¢²»ÖØÒª # ÔÚʹÓà Xconfigurator µÄʱºò, Èç¹û²»ÌṩÉÏÊöÖµ, ÔòÌîд
¡¡¡¡¡¡¡¡# ""Unknown""
¡¡¡¡¡¡¡¡# ÏÂÃæÕâÁ½¸ö²ÎÊýÔÚÉèÖÃÏÔʾģʽÉÏÀ´ÊéŶÊDZȽÏÖØÒªµÄ.
¡¡¡¡¡¡¡¡# HorizSync ÊÇˮƽɨÃèƵÂÊ, kHz Ϊµ¥Î».
¡¡¡¡¡¡¡¡HorizSync 50-60
¡¡¡¡¡¡¡¡# VertRefresh ÊÇ´¹Ö±É¨ÃèƵÂÊ, Hz Ϊµ¥Î»
¡¡¡¡¡¡¡¡VertRefresh 80-100
¡¡¡¡¡¡¡¡# ÉÏÃæÕâÁ½¸ö²ÎÊý¿ÉÒÔÊÇÁоٵÄÐÎʽ, Ò²¿ÉÒÔÊÇ·¶Î§µÄÐÎʽ.
¡¡¡¡¡¡¡¡# ±ÈÈç: ÁоÙ: 75 85 100
¡¡¡¡¡¡¡¡# ¡¡¡¡¡¡·¶Î§: ÈçÉÏËùÊö
¡¡¡¡¡¡¡¡# ½ÓÏÂÀ´ÊÇģʽµÄÃèÊöÁË, Èç¹ûÄúʹÓõÄÊÇ TurboLinux »òÕßÊÇ
¡¡¡¡¡¡¡¡# RedHat Linux, ÏÂÃæµÄģʽÁÐ±í½«»á·Ç³£µÄÍêÕû. µ« Slackware
¡¡¡¡¡¡¡¡# ûÓÐÌṩÍêÕûµÄÁбí, ÕâЩÊý¾Ý¿ÉÒÔÔÚÏÔʾÆ÷µÄ˵Ã÷ÊéÉϼûµ½.
¡¡¡¡¡¡¡¡# Ϊ½ÚÊ¡¿Õ¼ä, ÕâÀï½öÁоÙÒ»Ìõ
¡¡¡¡¡¡¡¡# 800x600 @ 85 Hz, 55.84 kHz hsync
¡¡¡¡¡¡¡¡Modeline ""800x600"" 60.75 800 864 928 1088 600 616 621 657 -HSync -VSync
¡¡¡¡¡¡¡¡# »òÕßд³ÉÒÔÏÂÐÎʽ, Ϊ Slackware ²ÉÓÃ
¡¡¡¡¡¡¡¡# Mode ""800x600""
¡¡¡¡¡¡¡¡# DotClock 45
¡¡¡¡¡¡¡¡# HTimings 1024 1048 1208 1264
¡¡¡¡¡¡¡¡# VTimings 768 776 784 817
¡¡¡¡¡¡¡¡# Flags ""Interlace""
¡¡¡¡¡¡¡¡# EndMode
¡¡¡¡Endsection
¡¡¡¡ÕâÀïÀ´½²½²ÉÏÃæµÄ ModeLine µÄºÒå. ¾ÍÏóµÚ¶þÖÖÐÎʽËùÃèÊöµÄÄÇÑù, ÕâЩ ²ÎÊýÊÇʹÓà ""800x600x85Hz"" ģʽËùÐèÒªµÄ. ÒªÉèÖÃÏÔʾΪÕâÖÖģʽ, Ê×ÏÈ Òª±£Ö¤Ë®Æ½É¨ÃèƵÂʺʹ¹Ö±É¨ÃèƵÂÊÒªÅäºÏºÃ, ¼´ VertRefresh µÄ·¶Î§»òÁÐ ¾ÙÖµÖÐÒª°üÀ¨ 85 Hz, ¶ø HorizSync µÄÖµÐèÒª°üÀ¨ 55.84 kHz. ÕâЩ¶¼¿ÉÒÔ Í¨¹ýÊÖ¹¤µ÷Õû. È»ºóÐèÒª¿´¿´´òµãƵÂÊ. ÓÐЩÏÔʾÆ÷ÓÐÕâ¸ö²ÎÊýÌṩ, ¶øÁí ÍâһЩ¿ÉÄܼì²â²»µ½, ÕâʱÐèÒª²é¿´ÊÖ²á. ´òµãƵÂʵÄÖµ¿ÉÒÔ²»Ìṩ, Õâµã ÔÚÏÂÃæ»áÓн²Êö.
¡¡¡¡×¢Òâ, ÕâÀïµÄ ""800x600"" ¾ÍÊÇÕâÖÖģʽµÄ±êʾ. µÈµ½ÏÂÃæ̸µ½Ä£Ê½µÄÉèÖÃ˳ Ðò¾Í»áÇå³þ X Window ÊÇÈçºÎÉèÖõÄÁË.
¡¡¡¡Device ¶Î: ÕâÀïÖ÷Òª¼Ç¼ÁËÏÔ¿¨µÄÊý¾Ý, ÈçÏ¿ÉÒÔ¿´µ½, ºÜ¼òµ¥, Ö»ÓÐÏÔ´æµÄ´ó СºÍÏÔ¿¨µÄʱÖÓƵÂÊ. Õâ¸öʱÖÓƵÂÊÊÇÓÃÀ´²úÉúÊÓƵÐźÅ, ¶øÏÔʾÆ÷µÄɨÃè ƵÂÊÒ²ÊǸù¾ÝÕâ¸öÐźŲúÉúµÄ. ËùÒÔ²»ÒªÎªÁË×·Çó¸ß·Ö±æÂʺ͸ßË¢ÐÂƵÂÊ°Ñ Ëüµ÷µÃÌ«¸ß, ·ñÔò¿ÉÄÜ»áËðÉËÏÔʾÆ÷. Ò»°ãÔÚÏÔʾÆ÷µÄ˵Ã÷ÊéÉÏ»áÓÐÕâ¸öÖµ, Èç¹ûûÓÐ, ½¨Òé²»Òª³¬¹ý 50.
¡¡¡¡Section ""Device""
¡¡¡¡¡¡¡¡Identifier ""Generic VGA""
¡¡¡¡¡¡¡¡VendorName ""Unknown""
¡¡¡¡¡¡¡¡BoardName ""Unknown""
¡¡¡¡¡¡¡¡Chipset ""generic""
¡¡¡¡¡¡¡¡# VideoRam 256
¡¡¡¡¡¡¡¡# Clocks 25.2 28.3
¡¡¡¡EndSection
¡¡¡¡×¢Òâ: ÉÏÃæËù˵µÄÁ½¸ö¶Î¶¼¿ÉÒÔ¶Ô¶à¸öÉ豸½øÐÐÃèÊö, ϵͳ»áÓà Identifier µÄÖµÇø·Ö²»Í¬µÄÉ豸.
¡¡¡¡Screen ¶Î: X Window µÄÏÔʾģʽµÄÑ¡Ôñ¾ÍÊǼǼÔÚÕâ¸ö¶ÎÖеÄ. Èç¹ûÊÇ RedHat Ôò»áÓÐËùÓÐËÄÖÖ (Mono, VGA16, SVGA, Accelerate) X Server µÄ¶Î, Èç¹û ÊÇ Slackware, Ôò¿ÉÄÜ»áÖ»ÓÐÒ»¸ö¶Î, ¾ÍÊǶÔÓ¦°²×°ÏµÍ³µÄʱºòÖ¸¶¨µÄÏÔʾ É豸µÄ. ÏÂÃæÒÔÎÒʹÓÃµÄ accel X Server ˵˵¸÷×ֶεĺÒå.
¡¡¡¡Section ""Screen""
¡¡¡¡¡¡¡¡Driver ""accel""
¡¡¡¡¡¡¡¡# Õâ¸ö²»ÓýâÊÍÁË°É, ÊÇ Permedia II ÏÔ¿¨, ËùÒÔʹÓüÓËÙµÄÇý¶¯
¡¡¡¡¡¡¡¡# ÕâÀïµÄ¿ÉÄÜÖµÊÇ""vga2"", ""vga16"", ""svga"", ""accel"", ¸ù¾Ý×Ô¼º
¡¡¡¡¡¡¡¡# µÄʵ¼ÊÇé¿öÉ趨. ÕâÀï¸ú Ç°Ãæ½² X Server ʱËù˵µÄ X µÄÁ¬½Ó
¡¡¡¡¡¡¡¡# Ä¿±êÓйØϵ, ÎÒÏëÕâ²»ÄÑÁ¬½Ó°É.
¡¡¡¡¡¡¡¡Device ""3DLabs|Permedia II 2D+3D""
¡¡¡¡¡¡¡¡# ÉÏÃæÖƶ¨µÄÏÔ¿¨ÅäÖÆ, Óà ""3DLabs|Permedia II 2D+3D"" ×÷Ϊ
¡¡¡¡¡¡¡¡# Identifier µÄ. µ±È»ÎÒ¿ÉÒÔʹÓÃ×Ô¼ºÏ²»¶µÄÃû×Ö, ʵ¼ÊÕâÀïÖ»ÊÇ
¡¡¡¡¡¡¡¡# ¸ö±ê¼ÇµÄ×÷ÓÃ
¡¡¡¡¡¡¡¡Monitor ""Samsung SyncMaster 500s/500Ms""
¡¡¡¡¡¡¡¡# ÕâÀïµÄ½âÊÍͬ Device, Ò²ÊÇʹÓÃÉÏÃæµÄ Identifier µÄÉ趨ֵ
¡¡¡¡¡¡¡¡Subsection ""Display""
¡¡¡¡¡¡¡¡# ÏÔʾ×Ó¶Î, ¿ÉÒÔÓжà¸ö, ·Ö±ð¶ÔÓ¦²»Í¬µÄÉ«Éî, ¼´ÏÂÃæµÄDepth
¡¡¡¡¡¡¡¡Depth 16
¡¡¡¡¡¡¡¡Modes ""800x600""
¡¡¡¡¡¡¡¡# ËùÈ¡µÄÏÔʾģʽ Õâ¸öÖµ¾ÍÊǸù¾ÝÇ°ÃæµÄ ModeLine ÉÏÃæ
¡¡¡¡¡¡¡¡# µÄ×¢ÊÍдµÄ, ¿ÉÒÔÓжà¸ö, Óÿոñ·Ö¿ª
¡¡¡¡¡¡¡¡# ÕâÀïÐèҪ˵Ã÷µÄÊÇ, X Server Ïȼì²éÕâÀïµÄ·Ö±æÂÊÉèÖÃ,
¡¡¡¡¡¡¡¡# È»ºó¸ù¾ÝÕâ¸öÉèÖúÍÉÏÃæ±êʾµÄ´¹Ö±ºÍˮƽˢÐÂƵÂʾö
¡¡¡¡¡¡¡¡# ¶¨Ê¹ÓÃÄĸö ModeLine, Èç¹ûÔÚË¢ÐÂƵÂʵķ¶Î§ÄÚÓжàÖÖ
¡¡¡¡¡¡¡¡# Mode ¿ÉÒÔÑ¡Ôñ, ÄÇô¿ÉÒÔͨ¹ýʹÓà Ctrl + ''+''/''-''½ø
¡¡¡¡¡¡¡¡# Ðж¯Ì¬Çл». ViewPort 0 0 # Õâ¸öÊÇÊÓͼµÄ×óÉϽÇ×ø±ê
¡¡¡¡¡¡¡¡# Èç¹ûÏëÓÃÐéÄâ´óСµÄÆÁÄ», ¿ÉÒÔÔÚÕâÀï¼ÓÉÏÒ»¾ä
¡¡¡¡¡¡¡¡#Virtual 1024 768
¡¡¡¡¡¡¡¡# ÕâÑùµÄ»°, ¾Í¿ÉÒÔʹÓôóÓÚµ±Ç°Êµ¼ÊÆÁÄ»µÄÐéÄâÆÁÄ»ÁË,
¡¡¡¡¡¡¡¡# ÆÁÄ»»áËæÕâÊó±êµÄÒƶ¯¶øת»». µ±È», Òª±£Ö¤ÓÐ×ã¹»µÄ
¡¡¡¡¡¡¡¡# ÏÔ´æ²ÅÐÐ, ÐéÄâµÄÆÁÄ»´óСҪ±Èʵ¼ÊµÄÉ趨´ó.. EndSubsection
¡¡¡¡¡¡¡¡# ÔÚÕâÏÂÃæ¿ÉÒÔÔÙ¼ÓÉÏ Depth ·Ö±ðΪ 8 ºÍ 24 µÄ×Ó¶Î, ¸ñʽºÍÉÏ
¡¡¡¡¡¡¡¡# ÃæÒ»Ñù.
¡¡¡¡EndSection
¡¡¡¡µ±È», Èç¹û·¢ÏÖËùÑ¡µÄÉ豸Çý¶¯¸ùʵ¼ÊµÄÓ²¼þÉ豸²»Ïà·û, »¹¿ÉÒÔÖØа²×° Çý¶¯³ÌÐò.ÈçºÎÔÚ Linux ÏÂÃæ°²×°Èí¼þ, ÎÒÏë¾Í²»ÔÙÏêϸ½éÉÜÁË. ½éÉÜÕâ·½ Ãæ֪ʶµÄ×ÊÁϺܶà.