5.2 Àí½â X

¡¡¡¡¶ÔÓÚÄÇЩÊìϤÆäËûͼÐλ·¾³£¬±ÈÈç Microsoft® Windows® »òÕß Mac OS® µÄÓû§À´Ëµ£¬µÚÒ»´ÎʹÓà X ¿ÉÄÜ»á¸Ð¾õºÜ¾ªÑÈ¡£

¡¡¡¡Í¨³£Äú²¢²»ÐèÒªÉîÈëÁ˽â¸÷ÖÖ X ×é¼þµÄ×÷ÓÃÒÔ¼°ËüÃÇÖ®¼äµÄÏ໥ӰÏ죬 ²»¹ý£¬ Á˽âһЩ¹ØÓÚËüÃǵĻù´¡ÖªÊ¶£¬ ÓÐÖúÓÚ¸üºÃµØÀûÓà X µÄÇ¿´ó¹¦ÄÜ¡£

5.2.1 ΪʲôҪʹÓà X?

¡¡¡¡X ²»ÊǵÚÒ»¸öΪ UNIX® ¶ø¿ª·¢µÄÊÓ´°ÏµÍ³£¬ µ«ËüÊÇ×îÁ÷Ðеġ£ X µÄԭʼ¿ª·¢ÍŶÓÔÚ¿ª·¢ X ֮ǰ¾ÍÒѾ­ÔÚÁíÍâÒ»¸öÊÓ´°ÏµÍ³ÉϹ¤×÷ÁË¡£ ÄǸöϵͳµÄÃû×Ö½Ð×ö ¡°W¡± (¾ÍÊÇ ¡°Window¡±)¡£X Ö»ÊÇÂÞÂí×ÖĸÖÐ W ºóÃæ µÄÒ»¸ö¡£

¡¡¡¡X ¿ÉÒÔ±»½Ð×ö ¡°X¡±, ¡°X Window ϵͳ¡±, ¡°X11¡±, µÈµÈ¡£°Ñ X11 ³Æ×ö ¡°X Windows¡± ¿ÉÄÜ»áð·¸Ä³Ð©ÈË£» ²é¿´ X(7) ¿ÉÒÔÁ˽â¸ü¶àµÄÐÅÏ¢¡£

5.2.2 X ¿Í»§»ú/·þÎñÆ÷Ä£ÐÍ

¡¡¡¡X Ò»¿ªÊ¼¾ÍÊÇÕë¶ÔÍøÂç¶øÉè¼ÆµÄ£¬ËùÒÔ ²ÉÓÃÁË ¡°client-server¡± Ä£ÐÍ¡£ÔÚ X Ä£ÐÍÖУ¬ ¡°X server¡± ÔËÐÐÔÚÓмüÅÌ£¬ÏÔʾÆ÷£¬Êó±êµÄ¼ÆËã»úÉÏ¡£ ·þÎñÆ÷ÓÃÀ´¹ÜÀíÏÔʾÐÅÏ¢£¬´¦ÀíÀ´×Ô¼üÅ̺ÍÊó±êµÄÊäÈëÐÅÏ¢£¬ ²¢ÓëÆäËûÊäÈëÊä³öÉ豸½»»¥ (±ÈÈç×÷ΪÊäÈëÉ豸µÄ ¡°tablet¡±£¬ »òÕß×÷ΪÊä³öÉ豸µÄͶӰÒÇ)¡£ ÿһ¸ö X Ó¦ÓóÌÐò (±ÈÈç XTerm, »òÕß Netscape®) ¾ÍÊÇÒ»¸ö ¡°¿Í»§³ÌÐò (client)¡±¡£ ¿Í»§³ÌÐò¸ø·þÎñÆ÷·¢ËÍÐÅÏ¢£¬Èç ¡°ÇëÔÚÕâÐ©×ø±êÉÏ»­Ò»¸ö´°¿Ú¡±£¬ ¶ø·þÎñÆ÷Ôò·µ»Ø´¦ÀíÐÅÏ¢£¬ Èç ¡°Óû§¸Õ¸Õµã»÷ÁË OK °´Å¥¡±¡£

¡¡¡¡Èç¹ûÄú¼Ò»ò°ì¹«»·¾³ÖÐÖ»ÓÐһ̨ʹÓà FreeBSD µÄ¼ÆËã»ú£¬ ¾ÍÖ»ÄÜÔÚͬһ̨¼ÆËã»úÉÏÔËÐÐ X server ºÍ X client ÁË¡£ È»¶ø£¬ Èç¹ûÄúÓкܶàÔËÐÐ FreeBSD µÄ»úÆ÷£¬ Äú¿ÉÒÔÔÚÄúµÄ×ÀÃæ¼ÆËã»úÉÏÔËÐÐ X server£¬ ¶øÔڱȽϸߵµµÄ·þÎñÆ÷ÉÏÔËÐÐ X Ó¦ÓóÌÐò¡£ ÔÚÕâÑùµÄ»·¾³ÖУ¬ X server ºÍ X client Ö®¼äµÄͨОͿÉÒÔͨ¹ýÍøÂçÀ´½øÐС£

¡¡¡¡Õâ¿ÉÄÜ»áÈÃһЩÈ˸е½À§»ó£¬ ÒòΪ X µÄÊõÓïºÍËûÃÇÁÏÏëµÄÓÐЩ²»Í¬¡£ ËûÃÇÒÔΪ ¡°X server¡± ÊÇÔËÐÐÔÚ¹¦ÄÜÇ¿´óµÄ´óÐÍ»úÉϵ쬶ø ¡°X client¡± ÊÇÔËÐÐÔÚËûÃÇ×ÀÃæÉϵļÆËã»úÉϵġ£

¡¡¡¡¼Çס£¬X server ÊÇÓмüÅ̺ÍÏÔʾÆ÷µÄÄÇ̨¼ÆËã»ú£¬¶ø X client ÊÇÄÇЩÏÔʾ´°¿ÚµÄ³ÌÐò¡£

¡¡¡¡Client ºÍ server ²»Ò»¶¨¶¼ÒªÔËÐÐÔÚͬһÖÖ²Ù×÷ϵͳÉÏ£¬ ËüÃÇÉõÖÁÎÞÐèÔÚͬһÖÖÀàÐ͵ļÆËã»úÉÏÔËÐС£ ÔÚ Microsoft Windows »ò Apple ¹«Ë¾µÄ Mac OS ÉÏÔËÐÐ X server Ò²ÊÇ¿ÉÒԵģ¬ ÔÚËüÃÇÉÏÃæÒ²ÓкܶàÃâ·ÑµÄºÍÉÌÒµ»¯µÄÓ¦ÓóÌÐò¡£

5.2.3 ´°¿Ú¹ÜÀíÆ÷

¡¡¡¡X µÄÉè¼ÆÕÜѧºÜÏñ UNIX µÄÉè¼ÆÕÜѧ£¬ ¡°tools, not policy¡±¡£Õâ¾ÍÒâζ×Å X ²»»áÊÔͼȥ¹æ¶¨ÈÎÎñÓ¦¸ÃÈçºÎ È¥Íê³É£¬¶øÊÇ£¬Ö»¸øÓû§ÌṩһЩ¹¤¾ß£¬ÖÁÓÚ¾ö¶¨ÈçºÎʹÓÃÕâЩ¹¤¾ßÊÇÓû§×Ô¼ºµÄ ÊÂÇé¡£

¡¡¡¡ÕâÌ×ÕÜѧÀ©Õ¹ÁË X£¬Ëü²»»á¹æ¶¨´°¿ÚÔÚÆÁÄ»ÉÏÓ¦¸ÃÊÇʲôÑù×Ó£¬ÒªÈçºÎÒÆ¶¯Êó±ê£¬ Ó¦¸ÃÓÃʲô¼üÀ´Çл»´°Ìå (±ÈÈ磬 Alt+Tab°´¼ü£¬ÔÚ Microsoft Windows »·¾³ÖеÄ×÷ÓÃ), ÿ¸ö´°¿ÚµÄ¹¤¾ßÌõÓ¦¸Ã ¿´ÆðÀ´Ïñʲô£¬ËûÃÇÊÇ·ñÓ¦¸ÃÓйرհ´Å¥µÈµÈ¡£

¡¡¡¡Êµ¼ÊÉÏ£¬X ÐÐʹÁËÒ»ÖÖ½Ð×ö ¡°´°¿Ú¹ÜÀíÆ÷¡±µÄÓ¦ÓóÌÐòµÄÖ°Ôð¡£ÓкܶàÕâÑùµÄ³ÌÐò¿ÉÓ㺠AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker£¬µÈµÈ¡£Ã¿Ò»¸ö´°¿Ú¹ÜÀíÆ÷ ¶¼ÌṩÁ˲»Í¬µÄ½çÃæºÍ¹Û¸Ð£»ÆäÖÐһЩ»¹Ö§³Ö ¡°ÐéÄâ×ÀÃæ¡±£»ÓÐһЩÔÊÐíÄú¿ÉÒÔ¶¨ÖÆÒ»Ð©¼üÀ´¹ÜÀíÄúµÄ×ÀÃæ£» һЩÓС°¿ªÊ¼¡± °´Å¥£¬»òÕ߯äËûÀàËÆµÄÉè¼Æ£»Ò»Ð©ÊÇ ¡°¿É¶¨ÖÆÖ÷ÌâµÄ(themeable)¡±£¬ ͨ¹ý°²×°ÐµÄÖ÷Ì⣬ ¿ÉÒÔÍêÈ«¸Ä±äÍâ¹Û¡£ ÕâЩÒÔ¼°ºÜ¶àÆäËûµÄ´°¿Ú¹ÜÀíÆ÷£¬ ¶¼¿ÉÒÔÔÚ Ports Collection µÄ x11-wm ·ÖÀàĿ¼ÀïÕÒµ½¡£

¡¡¡¡ÁíÍ⣬KDE ºÍ GNOME ×ÀÃæ»·¾³¶¼ÓÐËûÃÇ×Ô¼ºµÄ´°¿Ú¹ÜÀíÆ÷ Óë×ÀÃæ¼¯³É¡£

¡¡¡¡Ã¿¸ö´°¿Ú¹ÜÀíÆ÷Ò²Óв»Í¬µÄÅäÖûúÖÆ£»ÓÐЩÐèÒªÊÖ¹¤À´Ð´ÅäÖÃÎļþ£¬ ¶øÁíÍâһЩÔò¿ÉÒÔʹÓà GUI ¹¤¾ßÀ´Íê³É´ó²¿·ÖµÄÅäÖÃÈÎÎñ£¬ ¾ÙÀý¶øÑÔ£¬ (Sawfish) ¾ÍʹÓà Lisp ÓïÑÔÊéдÅäÖÃÎļþ¡£

½¹µã²ßÂÔ: ´°¿Ú¹ÜÀíÆ÷µÄÁíÒ»¸öÌØÐÔÊÇÊó±êµÄ ¡°focus policy¡±¡£ ÿ¸ö´°¿Úϵͳ¶¼ÐèÒªÓÐÒ»¸öÑ¡Ôñ´°¿ÚµÄ·½·¨À´½ÓÊܼüÅ̵ÄÊäÈëÐÅÏ¢£¬ÒÔ¼°µ±Ç° Äĸö´°¿Ú´¦ÓÚ¿ÉÓÃ״̬¡£

Äúͨ³£±È½ÏÊìϤµÄÊÇÒ»¸ö½Ð×ö ¡°click-to-focus¡± µÄ½¹µã²ßÂÔ¡£ ÕâÊÇ Microsoft Windows ʹÓõĵäÐͽ¹µã²ßÂÔ£¬Ò²¾ÍÊÇÄúÔÚÒ»¸ö´°¿ÚÉϵã»÷ Ò»ÏÂÊó±ê£¬Õâ¸ö´°¿Ú¾Í´¦ÓÚµ±Ç°¿ÉÓõÄ״̬¡£

X ²»Ö§³ÖÒ»Ð©ÌØÊâµÄ½¹µã²ßÂÔ¡£È·ÇеØËµ£¬´°¿Ú¹ÜÀíÆ÷¿ØÖÆ×ÅÔÚʲôʱºòÄĸö´°¿Ú ÓµÓн¹µã¡£²»Í¬µÄ´°¿Ú¹ÜÀíÆ÷Ö§³Ö²»Í¬µÄ½¹µã·½°¸¡£ËüÃǶ¼Ö§³Öµã»÷¼´»ñµÃ½¹µã£¬ ¶øÇÒËüÃÇÖеĴó¶àÊý¶¼Ö§³ÖºÃ¼¸ÖÖ·½°¸¡£

×îÁ÷ÐеĽ¹µã²ßÂÔ£º

focus-follows-mouse

Êó±êָʾÆ÷ÏÂÃæµÄ´°¿Ú¾ÍÊÇ»ñµÃ½¹µãµÄ´°¿Ú¡£ Õâ¸ö´°¿Ú²»Ò»¶¨Î»ÓÚÆäËûËùÓд°¿ÚÖ®ÉÏ¡£ ͨ¹ý½«Êó±êÒÆµ½ÁíÒ»¸ö´°¿Ú¾Í¿ÉÒԸı佹µã£¬ ¶ø²»ÐèÒªÔÚËüÉÏÃæµã»÷¡£

sloppy-focus

ÕâÖÖ·½Ê½ÊÇ¶Ô focus-follows-mouse ²ßÂÔµÄÒ»¸öССÀ©Õ¹¡£¶ÔÓÚ focus-follows-mouse£¬ Èç¹ûÄú°ÑÊó±êÒÆµ½Á˸ù´°¿Ú£¨»ò×ÀÃæ±³¾°£©ÉÏ£¬ ÔòËùÓÐµÄÆäËü´°¿Ú¶¼»áʧȥ½¹µã£¬ ¶øÏà¹ØµÄÈ«²¿¼üÅÌÊäÈëÒ²»á¶ªÊ§¡£ Èç¹ûÑ¡ÔñÁË sloppy-focus£¬ ÔòÖ»Óе±Ö¸Õë½øÈëд°¿Úʱ£¬ ´°¿Ú½¹µã²Å»á·¢Éú±ä»¯£¬ ¶øµ±Í˳öµ±Ç°´°¿ÚʱÊDz»»á±ä»¯µÄ¡£

click-to-focus

µ±Ç°´°¿ÚÓÉÊó±êµã»÷À´Ñ¡Ôñ¡£´°¿Ú±»¡°Í»³öÏÔʾ¡± £¬ ³öÏÖÔÚËùÓÐÆäËû´°¿ÚµÄÇ°Ãæ¡£¼´Ê¹Ö¸Õë±»ÒÆÏòÁËÁíÒ»¸ö´°¿Ú£¬ËùÓеļüÅÌÊäÈë ÈԻᱻÕâ¸ö´°¿Ú½ÓÊÕ¡£

Ðí¶à´°¿Ú¹ÜÀíÆ÷Ö§³ÖÆäËûµÄ²ßÂÔ£¬ÓëÕâЩÏà±ÈÓÖÓÐЩ±ä»¯¡£Äú¿ÉÒÔ¿´¾ßÌå ´°¿Ú¹ÜÀíÆ÷µÄÎĵµ¡£

5.2.4 ´°¿Ú²¿¼þ

¡¡¡¡Ìṩ¹¤¾ß¶ø·Ç²ßÂ﵀ X ·½·¨Ê¹µÃÔÚÿ¸öÓ¦ÓóÌÐòÆÁÄ»ÉÏ¿´µ½µÄ´°¿Ú²¿¼þµÃµ½ÁË ´ó´óµÄÀ©Õ¹¡£

¡¡¡¡¡°Widget¡± Ö»ÊÇÕë¶ÔÓû§½Ó¿ÚÖÐËùÓÐÁоÙÏîÄ¿µÄÒ»¸öÊõÓËü ¿ÉÒÔÓÃijÖÖ·½·¨À´µã»÷»ò²Ù×÷£»Èç°´Å¥£¬¸´Ñ¡¿ò£¬µ¥Ñ¡°´Å¥£¬Í¼±ê£¬Áбí¿òµÈµÈ¡£ Microsoft Windows °ÑÕâЩ½Ð×ö¡°¿Ø¼þ¡±¡£

¡¡¡¡Microsoft Windows ºÍÆ»¹û¹«Ë¾µÄ Mac OS ¶¼ÓÐÒ»¸öÑϸñµÄ´°¿Ú²¿¼þ²ßÂÔ¡£ Ó¦ÓóÌÐò¿ª·¢Õß±»½¨ÒéÈ·±£ËûÃǵÄÓ¦ÓóÌÐò¹²ÏíÒ»¸öÆÕͨµÄËù¼û¼´ËùµÃµÄÓû§½çÃæ¡£ ¶ÔÓÚ X£¬Ëü²¢²»ÒªÇóÒ»¸öÌØÊâµÄͼÐηç¸ñ»òÒ»Ì×Ïà½áºÏµÄ´°¿Ú²¿¼þ¼¯¡£

¡¡¡¡ÕâÑùµÄ½á¹ûÊÇÄú²»ÄÜÆÚÍû X Ó¦ÓóÌÐòÖ»ÓµÓÐÒ»¸öÆÕͨµÄËù¼û¼´ËùµÃµÄ½çÃæ¡£ ÓкܶàµÄÁ÷ÐеĴ°¿Ú²¿¼þ¼¯ÉèÖ㬰üÀ¨À´×ÔÓÚ MIT µÄ Athena£¬ Motif® (Ä£·Â Microsoft Windows µÄ´°¿Ú·ç¸ñ£¬ ËùÓв¿¼þ¶¼¾ßÓÐб±ßºÍ3ÖÖ»ÒÉ«¶È)£¬ OpenLook£¬ µÈµÈ¡£

¡¡¡¡Èç½ñ£¬ ¾ø´ó¶àÊý±È½ÏÐ嵀 X Ó¦ÓóÌÐò²ÉÓÃÒ»×éÐÂʽµÄ´°¿ÚÉè¼Æ£¬ Õâ°üÀ¨ KDE ËùʹÓÃµÄ Qt£¬ ÒÔ¼° GNOME ËùʹÓÃµÄ GTK+¡£ ÔÚÕâÑùÒ»ÖÖ´°¿ÚϵͳÏ£¬UNIX ×ÀÃæµÄһЩËù¼û¼´ËùµÃÌØÐÔ×÷ÁËһЩÊÕÁ²£¬ ÒÔʹ³õѧÕ߸е½¸üÈÝÒ×һЩ¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.