µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux×ÊѶ - £Ø £×£É£Î£Ä£Ï£×£Ó ϵͳʹÓÃÖ¸ÄÏ(תÔØ×ÔÇ廪BBS)Áù

£Ø £×£É£Î£Ä£Ï£×£Ó ϵͳʹÓÃÖ¸ÄÏ(תÔØ×ÔÇ廪BBS)Áù


¡¡¡¡<BTn5Motion> Button5 <Motion>
<BtnMotion> Èκΰ´Å¥µÄ <Motion>

×÷ÓõĸñʽºÍ×÷ÓõıíÁÐ

ÿһ¸öתÒëÔÚÒ»»ò¶à¸ö×÷ÓÃÖ®ÉÏϵ½áÒ»¸öÐòÁеÄÒ»»ò¶à¸öʼþ¡£ÔÚ±íÁÐÖеĸö
±ð×÷ÓÃÊÇÒÔ¿Õ°×·Ö¿ªµÄ¡£ (²»¿ÉÓöºµã·Ö¿ª£¬Äǽ«»áµ¼Ö´íÎó)¡£

¸ö±ðµÄ×÷ÓøñʽÈçÏ£º

action-name(parameters)

¼´Ê¹Ã»ÓвÎÊý±»Ö¸¶¨£¬ÔÚ×÷ÓÃÃû³Æ (action-name)ááµÄÀ¨»¡£¬ÈÔÈ»²»¿ÉÊ¡ÂÔ¡£
ÀýÈ磺

start-selection()

Èç¹ûÔÚ×÷ÓÃÃû³ÆºÍ×óÀ¨»¡ÖмäÁôÓпհף¬Ä㽫»áµÃµ½Ò»¸ö´íÎó¡£

×÷ÓÃÃû³ÆÖ»°üº¬ÁË×Öĸ¡¢Êý×Ö¡¢Ç®ºÅ($)¡¢µ×Ïß(_)ËÄÖÖ×ÖÔª¡£Ã¿Ò»¸öwidget
ÌṩËü×Ô¼ºµÄ×÷Óü¯ºÏ (Èç¹ûÓеĻ°) £¬ÇÒ×ÔÎÒ°üº¬ÕâЩ×÷ÓÃÃû³ÆµÄÓ²Âë
(hard-coded)±íÁС£

²ÎÊý(parameters)ÊÇÒ»¸öÁãµ½¶à¸ö×ÖÔª×Ö´®µÄ±íÁУ¬ÖмäÒÔ¶ºµã·Ö¿ª¡£²Î
ÊýµÄÒâÒåΪ¶ÔÌض¨µÄ×÷ÓÃ×÷Ö¸¶¨ (ÊÂʵÉÏ´ó¶àÊýµÄ×÷Óò¢Ã»ÓÐÈκβÎÊý) ¡£²Î
Êý×Ö´®¿ÉÒÔ²»¼ÓÒýºÅ£¬ÀýÈ磺

insert-selection(PRIMARY)

»òÕßÇ°áá¼ÓÉÏË«ÒýºÅ£¬ÕâÖÖÇéÐÎͨ³£Îª²ÎÊý×Ö´®ÄÚ°üº¬ÁË¿Õ°×»òÒ»¸ö¶ºµã£¬Àý
È磺

string("plot<x,y>")

ûÓÐÒ»¸öÒ»°ãÐԵķ½·¨£¬ÈÃÄãÔÚ²ÎÊý×Ö´®ÖеÄÈκÎλÖðüº¬Ò»¸öË«ÒýºÅ£¬ËäÈ»
ÏñÕâÑù string(ab"cd)'½«Ë«ÒýºÅ·ÅÔÚ×Ö´®ÖмäÊǿɱ»´¦ÀíµÄ¡£Ò²Ã»ÓÐÒ»°ãÐÔµÄ
·½·¨ÔÚͬһ¸ö²ÎÊý×Ö´®ÖÐͬʱ°üº¬×Ö´®ºÍË«ÒýºÅ¡£ÒòΪÈç´Ë£¬ÓÐЩwidgetÔÚ½â
ÊÍËüÃÇ×Ô¼ºµÄ²ÎÊýʱ£¬¿ÉÒÔ×ÔÐмÓÈëËüÃÇ×Ô¼ºµÄÓï·¨¹æÔò¡£ÀýÈ磺¶Ôxterm µÄ
VT100 widgetµÄ string()×÷Óã¬Èç¹ûÒ»¸ö²»´øË«ÒýºÅÇÒ¿ªÍ·Îª "0x"µÄ×Ö´®£¬
´Ë×Ö´®±»½âÊÍΪ´ú±íÒ»¸öASCII ×ÖÔªµÄÊ®Áù½øλÊý¡£

Ôڴ˽áÊøÎÒÃǶÔתÒë¹æ¸ñ¼°¸ñʽµÄÃèÊö¡£ÓÉ´Ë£¬ÄãÓ¦ÓÐÄÜÁ¦Á˽âÔÚ²»Í¬£Ø
ÊÖ²áÁгöµÄתÒ룬ÇÒ¿ÉдÄã×Ô¼ºµÄתÒ롣ΪÁË°ïÖúÄ㣬ϽÚÁгöÄã³£¼ûµÄÎÊÌâ
£¬ÒÔ¼°ÈçºÎ¿Ë·þËüÃÇ¡£

17.3 ÔÚתÒë¹æ¸ñÖг£¼ûµÄÎÊÌâ

תÒëÔÚ¹ÛÄîÉϼòµ¥£¬µ«Êµ¼ÊÉϺܻìÂÒ¡£¼´Ê¹Äã³£³£Ê¹Óã¬Óï·¨ÈÔÈ»¸´ÔÓ¶øÄѽ⡣
ÎÞÂÛÈçºÎ£¬Èç¹ûÄãÊdzõѧÕߣ¬×îºÃµÄ·½Ê½ÊÇÄãÒÔ±ðÈ˵ÄתÒëµ±×÷×Ô¼ºµÄתÒëµÄ
»ù´¡¡£ÔÚÖ¸ÄÏÒ³ÖÐÓм¸¸ö¶Ôxbiff¡¢xdm(Ä¿Ç°ÉÐδ½éÉܹý£¬½«ì¶µÚ£²£°Õ½éÉÜ
)¡¢xterm µÄתÒë·¶Àý£¬½«¶ÔÄãÓÐËù°ïÖú¡£

Èç¹ûÄã·¢ÏÖÄãµÄתÒëÓдíÎóµÄ»°£¬Óм¸µãÖµµÃÈ¥¼ì²é£º

£®×ªÒëÖ»ÄÜÓ¦ÓÃÔÚʹÓÃToolkitµÄ³ÌʽÉÏ¡£Èç¹ûÄãÊÔͼ¶Ô·ÇToolkitÓ¦ÓóÌ
ʽ¶¨ÒåתÒ룬¿´ÆðÀ´²»»áÓÐÈκÎÎÊÌ⣬ֻÊÇתÒë²»»á×÷ÓöøÒÑ¡£

ÈÃÎÒÃÇÀ´¿´Ò»ÏÂΪʲ÷ᣬÒÔ¶Ôxcalc (ÕâÊÇÒ»¸ö·ÇToolkit³Ìʽ)ʹÓÃתÒë
ΪÀý¡£Äã¶ÔÒ»¸öresourceÃû³ÆÏñ *xcalc*translations¶¨ÒåÒ»¸öתÒë±í£¬
ÇÒÓÃxrdbÔØÈëÖÁÄãµÄ×ÊÁÏ¿â¡£xrdb²¢²»»á±§Ô¹£¬ÒòΪËü²»ÖªµÀÊÇÄÇÒ»¸ö
Ó¦ÓóÌʽʹÓõ½resource£¬ËüÖ»»áÉ趨×ÊÁϿ⣬ÉÔáṩResource Manager
²éѯ¡£ÏÖÔÚÄãÖ´ÐÐxcalc £¬Ëü¶ÔתÒëÊÇÒ»ÎÞËùÖª£¬ËùÒÔ²»»áÏò×ÊÁÏ¿â²é
ѯתÒ룬µ±È»Ò²¾ø²»»á±àÒëËüÃÇÁË¡£

£®²»ÒªÊ¡ÂÔ #override£¬³ý·ÇÄãȷʵ֪µÀÄãÒª×öʲ÷á¡£Èç¹ûÄãÒò´íÎóÊ¡ÂÔ
Ëü£¬ÀýÈçÔÚxedit ÖУ¬Ä㽫·¢ÏÖûÓÐÈκεļü¿ÉÊäÈëÈκεĶ«Î÷ (ÒòΪ
Ô¤ÉèµÄתÒë "<Key>:insert-char()"±»È¥µôÁË)¡£

£®¼ì²éÄã¶ÔÿһÁоùÓÐÖսᡣÈç¹ûÄãÔÚתÒë±íÖеÄÒ»ÁкöÂÔÁË"\n"»ò"\n"
£¬ÔÚÆäááËùÓеÄתÒ붼»á±»ºöÂÔ¡£Èç¹ûÄãÔÚ×îááÒ»ÁеÄÄ©¶Ë¼ÓÉÏÒ»¸öµ¹
бÏß(\) £¬»òÊÇÊ¡ÂÔÁ˵µ°¸ÖÐ×îááÒ»¸öÐÂÁÐ×ÖÔª(newline)£¬Õû¸öתÒë±í
¶¼»á±»ºöÂÔ¡£(²»¹ýÕâÊÇxrdbµÄÎÊÌ⣬¶ø·ÇתÒë¹ÜÀíÆ÷µÄÎÊÌâ)¡£

ÕâÖÖ´íÎóÔÚÄã±à¼­Ò»¸öÏÖ´æµÄתÒë±íʱÌرðÈÝÒ×·¢Éú¡£

£®µ±Ä㶨ÒåµÄתÒëºÍÔ¤ÉèÓгåͻʱ£¬¿ÉÄܻᵼÖÂÆæ¹ÖµÄÐÐΪ£¬ÌرðÊǶԻ¬
Êó°´Å¥Ê¼þ£¬Ã¿Ò»´Î°´Ï»ò"Down"ʼþ£¬»áÏà¹Øµ½Ò»¸öËÉ¿ª»ò"Up"ʼþ
£¬µ±Äã¶Ô´Ë²¿·ÝûÓÐÃ÷È·¶¨Òåʱ£¬¿ÉÄÜ»áÓÐÒ»¸öÔ¤ÉèµÄϵ½áÈÔÈ»´æÔÚ£¬
(¼üÅ̵ݴϺÍËÉ¿ªÒ²ÊdzɶԵÄʼþ) £®ËùÒÔ£º

1.¼ì²éÔ¤Éèϵ½áµÄÎļþ¡£

2.Èç¹ûÄãÖ»¶Ô°´ÏÂ/ËÉ¿ªÅä¶ÔµÄÒ»°ëÖ¸¶¨Ò»¸öתÒ룬ȷ¶¨ÁíÒ»°ë²¢·ÇÔ¤Éè
תÒëµÄÒ»²¿·Ý£¬Èç¹ûÊǵĻ°£¬Ðè¶ÔËüÃ÷È·µØÖ¸¶¨Ò»¸öתÒë¡£

3.Èç¹ûÄãÈÔÈ»²»Äܽâ¾ö£¬ÔÝʱÓɱíÖÐÒÆÈ¥#override£¬Õ⽫ȥµôËùÓеÄÔ¤
ÉèתÒ룬ÈÃÄãÁ˽âÎÊÌâÊÇÓÉ춺ÍÔ¤ÉèתÒë³åÍ»ËùÔì³É£¬»¹ÊÇÒòΪÄãµÄ
תÒë±íÓдíÎó¡£

£®×ªÒë¹ÜÀíÆ÷¶ÔÓï·¨²»ÕýÈ·µÄÎÊÌ⣬ÎÞ·¨ºÜºÃµÄ¸æËßÄãÔ­ÒòºÎÔÚ¡£ÀýÈçÈç
¡¡¡¡¡¡¹ûÄãÓÐÒ»¸öתÒëÏñ£º

<Key>F6: string("abc""def")

²ÎÊýµÄÓï·¨²¢²»ÕýÈ·£¬F6¼ü½«Ã»ÓÐ×÷Ó㬵«ÄãÒ²¿´²»µ½´íÎóѶϢ¡£

£®Èç¹ûÄãתÒëÒ»ÐòÁеÄʼþ£¬ÇÒÐèÒª¶Ôÿһ¸ö¾ùÖ¸¶¨ÐÞÊμü£¬Äã±ØÐèÃ÷È·
µØ¶Ôÿһ¸ö¶¼Ö¸¶¨¡£ÀýÈçÈç¹ûÄãÐèÒªÒ»¸öתÒëʹÓÃctl-X ctl-K£º

Ctrl <Key>X, Ctrl <Key>K: ...

¶øÈç¹ûÄãʹÓãº

Ctrl <Key>X, <Key>K: ...

ÄãµÄÖ¸¶¨Îª ctl-X K

£®¼ì²éÄãËùÐèµÄwidgetÊÇ·ñÓÐÄãÖ¸¶¨µÄÃû³ÆºÍÀà±ð¡£ÀýÈç¶Ôxterm £¬Äã¿É
ÒÔÔÚÒ»¸ö±íµÄ¿ªÍ·Ö¸¶¨£º

xterm*Text*translations:

Õ⽫ʲ÷áÊÂҲû×÷£¬xterm Õý¹æÊÓ´°widgetµÄÀà±ðVT100¡£Í¨³££¬²»ÂÛ
xrdb»òתÒë¹ÜÀíÆ÷¾ù²»»áÓз´Ó¦£¬ÒòΪ¿´ÆðÀ´Ã»´í¡£

£®×ªÒë¿ÉÄÜÖ¸¶¨ÕýÈ·£¬Ò²¿ÉÒÔ¹¤×÷£¬µ«ËüµÄ×÷ÓúÍÄãÔ¤ÆڵIJ»·û¡£ÀýÈç¶Ô

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 

xterm µÄתÒ룺

Meta Ctrl <Key>m: mode-menu()

ÊÇÕýÈ·µÄ£¬ÇһṤ×÷¡£µ«mode-menu()ʵ¼ÊÉϼì²é»¬Êó×ó»òÖа´Å¥ÊÇ·ñÓÐ
Õл½Ëü£¬ÆäËü·½Ãæ²»×öÈκÎÊ¡£

£®ÔÚÒ»¸öתÒëÖв»Ö¸¶¨ÐÞÊμü£¬²¢²»ÒâζÖøµ±ÐÞÊμü°´ÏÂʱתÒë»áÎÞЧ¡£
ËüÕæÕýµÄÒâÒåΪ£º "ÎÒ²¢²»ÔÚºõÓÐûÓÐÐÞÊμü" ¡£Èç¹ûÐèÒªµÄ»°£¬Ê¹ÓÃ
"None"£¬""»ò!·ûºÅ¡£Ê¹ÓÃʱҪСÐÄÔ¤ÉèµÄתÒëÊÇ·ñ»á·Á°­µ½Äã¡£

£®×ªÒëÊÇÕë¶Ôwidget¶øÖ¸¶¨µÄ£¬ËùÓÐÔÚתÒëÖеÄ×÷ÓñØÐèÓÉwidgetÌṩ¡£
ÔÚÄãÖ¸¶¨×ªÒëresourceÃû³ÆµÄµØ·½ºÜÈÝÒ×ÍüµôÕâÒ»µã¡£ÀýÈ磺

xman*translations: \
<EnterWindow>: reset()\n\
<LeaveWindow>: set()

½«µ¼ÖÂÐí¶à´íÎó£ºset()ºÍreset()×÷ÓÃÖ»Óб»Command widget¶¨Ò壬µ«
xmanÓÐÊýÖÖÆäËüÐÍ̬µÄwidget¿É½ÓÊÜתÒ룬ÇÒתÒë¹ÜÀíÆ÷»á±§Ô¹ÕâЩ
widget²¢Î´Ìṩset()ºÍreset()¡£½â¾öÖ®µÀΪ¸üÍêÕûЩµÄÖ¸¶¨resource
Ãû³Æ£¬ÀýÈçÔÚ±¾ÀýΪ xman*Command*translations ¡£

£®¶ÔÈκθø¶¨µÄresource£¬µ±resource×ÊÁϿⱻѯÎÊʱ£¬Resource Manager
»á´«»ØÒ»¸öÖµ¸øwidget£¬Õâ¸ö´«»ØµÄÖµµÄ "ÌØáçÖµ" (characteristic)
(resourceÃû³Æ)´ó¶àÓëwidgetµÄºÍÊôÐÔµÄÍêÕûÀà±ð/³ÉÔ±Ãû³ÆÏà·û¡£Ëù
ÒÔÄã¶ÔËùÓеÄText widgetÖ¸¶¨Ò»¸öÒ»°ãÐÔµÄתÒëáᣬÓÖ¶ÔxeditÖ¸¶¨Ò»
¸öתÒ룬ϣÍûËüÃDz¢´æÊDz»¿ÉÄܵģ¬Ö»ÓÐÒ»¸öתÒë±í»á´«¸øwidget¡£Àý
È磺

*Text*Translation: #override\
(¶ÔTextÒ»°ãÐÔµÄתÒë)
...
xedit*Text*Translation: #override\
(¶Ôxedit µÄTextÌض¨µÄתÒë)
...

ÄãÖ»Äܵõ½ÔÚxedit ÖÐÌض¨µÄתÒ룬»òÊÇÔڱ𴦵õ½Ò»°ãÐÔµÄתÒë¡£

#override »áÓÐËù»ìÏý£¬ËüµÄÒâÒåΪ "°ÑתÒë¼ÓÈëÏÖ´æµÄÖ®ÖÐ" ¡£µ«Õâ
ÍêÈ«ÓÉתÒë¹ÜÀíÆ÷´¦Àí£¬µ±Ê±ºòµ½Ê±£¬×ªÒë¹ÜÀíÆ÷»á¾ö¶¨´«µÝÄĸöÖµ¸ø
ÓÉResource ManagerËùÔìµÄwidget¡£¶ÔResource Manager¶øÑÔ£¬#override
Ö»ÊÇ´«µÝ¸øwidgetÖµµÄ²¿·ÝÖеÄÒ»¸öÎÄ×Ö×Ö´®¶øÒÑ¡£

ÒòΪÄãʹÓÃresourceÀ´Ö¸¶¨×ªÒ룬ËùÒÔ´íÎó¿ÉÄÜÔÚÁ½¸öÁìÓò¾ù»á·¢Éú¡£Îª
Á˼õÉÙ´íÎóµÄ·¶Î§£¬µ±Äã¶ÔתÒëÆÄÓо­Ñéʱ£¬ÔÚÄãÒÑÔØÈëתÒëresourceÖ®áᣬ
×îºÃÄÜÃ÷È·µØÁÐÓ¡³öÄãµÄresource×ÊÁÏ¿â¡£ÀýÈ磺Èç¹ûÄã¶ÔXProg дÈëתÒ룬
ÇÒתÒëÔÚµµ°¸mytrans ÖУ¬ÒÔÏÂÁÐÃüÁîÀ´Ö´ÐгÌʽ£º

xrdb mytrans ; xrdb -q ; xprog ...

17.4 ½áÂÛ

ÕâÂþ³¤µÄÒ»Õº­¸ÇÁ˱»£Ø Toolkit ËùʹÓõıê׼תÒë½á¹¹£¬ËüÈÃÄãÖ¸¶¨
°´ÏÂÒ»¸ö¼ü»ò°´Å¥»áÓÐʲ÷áÓ°Ïì¡£ÕâЩתÒëÖ¸¶¨µ½Ã¿Ò»¸öwidget£¬ÇÒÄã½åÖøʹ
Óñê×¼resource½á¹¹´«ËÍתÒë±í¸øwidget¡£Äã¿´µ½ÈçºÎ¶ÔÒ»¸ö¼üÅ̵ļü¡¢»¬Êó
°´Å¥ºÍÆäËüÏñÒƶ¯Ò»¸öÖ¸±ê½øÈëÊÓ´°µÄʼþ×÷Ö¸¶¨×ªÒ롣ȻááÎÒÃǽåÖøÖ¸¶¨²»
ͬ״̬µÄÐÞÊμüËùÔì³ÉµÄÓ°Ï죬±È½ÏÑϽ÷µØ¶¨ÒåÎÒÃÇÐèҪתÒëµÄʼþ¡£

±¾Õµĵڶþ¸ö²¿·Ýº­¸ÇÏàͬµÄÁìÓò£¬µ«½ÏΪÕýʽ£¬ÇÒÏêϸ½âÊÍÔÚתÒë¹æ¸ñ
ÖУ¬¿ÉÓõ½µÄÓï·¨£¬ÌرðÊÇÐÞÊμü¡£

×îáᣬÎÒÃǼòÁÐʹÓÃתÒë³£¼ûµÄÎÊÌ⣬¼°Ò»Ð©ÈçºÎ½â¾öËüÃǵĽ¨Òé¡£

±¾Õ°üº¬ÁËÐí¶à²ÄÁÏ¡£ËüÃÇÔËÓÃÁ˼«ÉٵĹÛÄµ«Óï·¨¸´ÔÓ£¬Ò×Éú´íÎó£¬
ÇÒ²»ÏÔ¶øÒ×¼û¡£Èç¹ûÒ»¿ªÊ¼¾õµÃÀ§ÄÑ£¬²»±Øµ£ÐÄ¡£´ÓһЩ¼òµ¥µÄתÒëÖøÊÖ (Ò²
ÐíÊÇxterm)£¬ÇÒÒÔÖ¸ÄÏÒ³Öеķ¶Àý»ò±ðÈ˵ÄתÒë±íΪ»ù´¡À´·¢Õ¹Ð޸ġ£µ±ÄãÓÐ
¾­ÑéÖ®áá»á½øÕ¹¿ìËÙ£»Ä㽫¶´Ï¤Óï·¨ÇÒÄÜ¿´³öÆäáá»á·¢Éúʲ÷á×´¿ö¡£

=====

µÚ£±£¸Õ ¼üÅ̺ͻ¬Êó -- ¶ÔÓ¦ºÍ²ÎÊý

ÔÚÇ°ÕÂÎÒÃÇ¿´µ½ÁËToolkit ËùÌṩµÄתÒë½á¹¹£¬ËüÈÃÄã¶ÔÒ»¸öÓ¦ÓóÌʽµÄ¸ö±ð
³ÉÔ±£¬¶¨ÖÆÄãµÄ¼üÅ̺ͻ¬Êó¡£ÔÚ±¾Õ£¬ÎÒÃÇÀ´¿´ÁíÒ»ÖֽϵͲã´ÎµÄ¶¨ÖÆ£¬ËüÊÇ
ÓÉserverËù¹ÜÀí£¬³Æ֮Ϊ¶ÔÓ¦(mapping) £¬ÄãÖ»ÐèÒª¸æËßserverÄãµÄ¼üÅÌËùÐè
µÄ²»Í¬µÄÅäÖã¬Ëü¾Í»á±»Ã¿Ò»¸öÁ¬½Óµ½ÄãserverÉϵÄÓ¦ÓóÌʽӦÓõ½¡£ÀýÈ磺
È¡´úͨ³£µÄQWERTY¼üÅÌ£¬Äã¿ÉÄÜÏ£ÍûÖØа²ÅżüÅÌÒÔÊÊÓ¦ÄÇЩ¶Ô¼üÅ̲¢²»ÊìϤ
µÄʹÓÃÕß (Äã¿ÉÄܰѼüÅÌ°´ABCDEF... ÖØÐÂÅŹý£¬µ±È»¼üÅÌ°´Å¥ÉÏËùÓ¡µÄ×ÖÒ²
Ðè¸ü¸Ä³ÉÏà·û)¡£ÄãÒ²ÄܶÔһЩControl£¬ShiftµÈµÈµÄÐÞÊμü×÷Ö¸¶¨¡£¶Ô»¬Êó
°´Å¥£¬Ò»ÑùÓÐÒ»¸öÏà¹ØµÄ¶ÔÓ¦£¬¿É½« "Âß¼­µÄ" °´Å¥¶ÔÓ¦µ½Êµ¼Ê¶¯×÷¡£ÕûÌå¶ø
ÑÔ£¬ÄãʹÓÃÕâЩ¼üÅ̺ͻ¬ÊóµÄ¶ÔÓ¦µÄƵÂÊ£¬½«Ð¡ì¶×ªÒë¡£

´ËÍ⣬ÉÐÓзdz£³£ÓõĵÚÈýÖÖÐÍ̬µÄ¶¨ÖÆ¿ÉÓãºÄã¿ÉÒÔÉ趨ÓйØÄã¼üÅ̺Í
»¬Êó¸÷ÖÖ²»Í¬µÄ²ÎÊý¡£ÀýÈçÏìÁåÉùÒôµÄ´óС£¬°´Ï¼üʱÊÇ·ñÓеδðÉùµÈµÈ¡£

ÔÚ±¾Õ£¬ÎÒÃÇÏÈÃèÊö¼üÅÌ¡¢»¬ÊóºÍÐÞÊμüµÄ¶ÔÓ¦£¬½ÓÏÂÀ´ÃèÊöÄãÈçºÎʹÓÃ
xset³Ìʽ£¬À´¶¨ÒåÀàËÆÏñ¼üÅÌÓÐÎ޵δðÉùµÄ²ÎÊýÉ趨¡£

18.1 ¼üÅ̺ͻ¬Êó¶ÔÓ¦ -- xmodmap

server±¾Éí´¦ÀíÒ»¸ö²ã´ÎµÄ¶¨ÖÆ£¬Ëü¶Ôì¶ËùÓÐʹÓõ½´Ëserver»òÏÔʾÆ÷µÄÓ¦ÓóÌ
ʽ¾ù·¢ÉúЧÓãºÕâ¾ÍÊǼüÅ̶ÔÓ¦ (keyboard mapping)¡£

ÿһ¸ö¼ü£¬ÓÐÒ»¸öµ¥¶ÀµÄÂë¶ÔÓ¦Ëü£¬³Æ֮Ϊ¼üÂë(keycode)¡£¼üºÍ¼üÂëÖ®¼ä
µÄ¹ØϵÊǾø¶Ô¹Ì¶¨µÄ¡£ (´ÖÂÔÀ´Ëµ£¬Äã¿ÉÒÔ˵ "¼üÂë¾ÍÊǼü")¡£

Á¬½Óµ½Ã¿Ò»¸ö¼üÂë (»ò¼ü)µÄÊÇÒ»¸ökeysymµÄ±íÁС£Ò»¸ökeysymÊÇÒ»¸ö´ú±í
Ó¡ÔÚ¼üÅÌ·ûºÅÉϵÄÊý×Ö³£Êý¡£ÔÚÔ¤ÉèµÄÇé¿ö£¬´ó¶àÊýµÄ¼üÖ»ÓÐÒ»¸ökeysym ÓëÖ®
¶ÔÓ¦£¬ÀýÈç SHIFT£¬A£¬B£¬Delete£¬LinefeedµÈµÈ¡£keysym¼È·ÇASCII»òEBCDIC
×ÖÔª£¬Ò²·ÇserverÓÃÒÔά³ÖkeysymºÍ×ÖÔªµÄ¹Øϵ¡£Äã¿ÉÒÔ¶Ôÿһ¸ö¼üÓÐÁ½¸ö
keysym¡£ÔÚÔ¤Éè¶ÔÓ¦ÖУ¬ÓкܶàÁ¬½Óµ½Á½¸ökeysymµÄ¼ü£¬ÀýÈçðºÅ( ºÍ·ÖºÅ(

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 

£¬7 ºÍ &µÈµÈ¡£¶ÔÒ»¸ö¼ü¸½ÊôµÄkeysym±íÁÐÖУ¬µÚÒ»¸ökeysymÊÇδ°´ÏÂÐÞÊμü
µÄ×´¿öϵļü¡£µÚ¶þ¸ökeysymÊÇÖ¸µ±SHIFT (»òLock)Òѱ»Í¬Ê±°´ÏÂʱµÄ¼ü£¬Èç
¹ûÔÚ±íÁÐÖÐÖ»ÓÐÒ»ÏÇÒΪ×Öĸ£¬Ôòϵͳ×Ô¶¯¼ÙÉèµÚ¶þÏîΪÏà¶ÔµÄ´óд×Öĸ¡£
³¬¹ýÁ½ÏîµÄkeysym²¢Ã»ÓÐÌرðµÄÒâÒ壬¼üÅ̺ÍkeysymÖ®¼äµÄ¹Øϵ±»³Æ֮Ϊ¼üÅÌ
¶ÔÓ¦¡£

¾¡Á¿µØÒÔserver´¦ÀíÒ»°ãµÄ¼üºÍkeysyms ¡£Ëü¶Ô¼üÂëûÓи½ÊôÒâÒ壬ÇÒËü
×Ô¼º±¾Éí²»»áʹÓöÔÓ¦´Ó¼üÂë¶ÔÓ¦ÖÁkeysyms £ºËüÖ»ÊÇ´«µÝ×ÊѶ¸øclientÓ¦ÓÃ
³Ìʽ¡£ÌرðµÄÊÇ£¬server¶ÔASCII »òÆäËüµÄ×ÖÔª¼¯ºÏ (character sets) ºÁÎÞ
¸ÅÄËüÖ»ÊÇ˵Ã÷ "ij¼ü±»°´Ï£¬Ä³ÐÞÊμüҲͬʱ±»°´Ï£¬keysym±íÁÐÖÐij
keysymºÍij¼üÏà¹Ø" ¡£ËüÊÇclient (µäÐ͵ÄʹÓñê×¼µÄ£Ø Library) ¶Ôkeysym
ºÍÐÞÊμü¸½ÊôµÄÒâÒ壺ÀýÈ磬Ëü¾ö¶¨Èç¹ûkeysym²úÉúʱctrlÒ²±»°´Ï£¬Ëü±ØÐè
±»½âÊÍΪASCII ×ÖÔª hex 0x1£¬Ò²¾ÍÊÇ˵ctl-A¡£ Ìض¨µÄclient¿ÉÒÔ¾ö¶¨ÌØÊâ
µÄÐÞÊμüµÄÒâÒ壻ÀýÈçÔÚxterm ÖУ¬µ±ÄãºÍMTEA¼üͬʱ°´ÏÂÒ»¸ö¼ü£¬³Ìʽ½«´Ë
ת»»ÎªESC ááÃæ¸úËæÖø±»°´ÏµÄ×ÖÔª¡£ (Ò²¾ÍÊÇ˵£¬Èç¹ûÄã°´ÏÂmeta-A£¬Êµ¼Ê
ÉÏ»á²úÉúÁ½¸ö×ÖÔª ASCII 0x1b, ASCII 0x41)¡£

serverÔÚ´ËÁìÓòÄÚÌṩһ¸ö¶îÍâµÄÉèÊ©¡£Äã¿ÉÒÔ¶¨ÒåÈÃserver½«¼üÂë½âÊÍ
³ÉÐÞÊμü£¬ÀýÈç "µ±¼üÂëΪÈô¸ÉµÄ¼ü±»°´ÏÂʱ£¬ËüÏàͬì¶CONTROLÐÞÊμü±»Êµ¼Ê
°´ÏÂ"¡£ÕâÖÖ¶¨Òå²¢²»»¥³â£ºÈç¹ûÄ㶨Òå¼üF7ΪShift ÐÞÊμü£¬Ëü²¢²»»áÓ°ÏìÈÎ
ºÎÏÖ´æµÄÐÞÊμü¡£´ËÖÖÉèÊ©³Æ֮ΪÐÞÊμü¶ÔÓ¦ (modifier mapping)¡££ØÌṩ°Ë
¸öÐÞÊμü£ºShift¡¢Lock(caps-lock)¡¢Control¡¢Mod1µ½Mod5¡£Ï°¹ßÉÏ£¬Mod1±»
½âÊÍΪMeta¡£

×îáᣬ¶Ô»¬Êó°´Å¥ÓÐÒ»¸öÀàËƵÄÖ¸±ê¶ÔÓ¦ (pointer mapping)¡£¶Ôÿһ¸ö
ʵ¼ÊµÄ°´Å¥£¬Äã¿ÉÒÔ¶ÔËüÃÇÖ¸¶¨Ò»¸öÏà¹ØµÄÂß¼­°´Å¥Êý×Ö¡£

ʵ¼ÊÉÏ£¬Èç¹ûÄã¸Ä±äÄãµÄ¼üÅÌ»ò»¬ÊóµÄ¶ÔÓ¦£¬ÄãÏ൱ì¶ÊÇ˵ÖÆÔ쳧É̶ÔÄã
µÄÊäÈë×°ÖÃÅäÖò»µ±£¬Ä㽫°ÑËüÐÞÕýΪÊʺÏÄãËùÐèÒªµÄ¡£µ±È»£¬Èç¹ûÄã¸Ä±äÁË
¶ÔÓ¦£¬ÄãÓ¦¸Ã°Ñ¶ÔÓ¦¼üÉÏÃæËùÓ¡µÄ·ûºÅÒ²ËæÖ®Ð޸ģ»²»¹ý£¬Í¨³£¸ü¸ÄµÄ¶¼ÊÇÒ»
Щ¿ØÖƺÍÐÞÊμü£¬ËùÒԾͲ»ÊÇÄÇ÷áÐèÒªÁË¡£»»¾ä»°Ëµ£¬Èç¹ûÄã¸Ä±äÁ˶ÔÓ¦£¬Ê¹
µÃ¼üÅÌÅäÖúÍÒ»¸öÌض¨¹ú¼Ò±ê×¼ (ÀýÈ磺·¨¹ú»òµÂ¹ú) Ïà·û£¬Äã±ØÐè¸ü»»Êµ¼Ê
¼üÅÌÉϵķûºÅ¡£

Äã¿ÉÒÔÔ¤Æڵõ½£¬¸Ä±ä¼üÅ̶ÔÓ¦ÊÇÒ»¼þÏ൱ϡº±µÄÊ£¬Äã¿ÉÄÜÉ趨ËüÒ»´Î
Ö®áá¾Í²»ÔٸıäËü¡£ÔÚÒÔϼ¸½Ú£¬ÎÒÃǽ«ºÜ¿ìµÄ¿´Ò»¿´ÈçºÎʹÓóÌʽxmodmap
£¬²é¿´ÏÖÓеĶÔÓ¦ºÍÐÞ¸ÄËüÃÇ¡£

18.1.1 ²é¿´ÏÖÓеĶÔÓ¦

ÄãʹÓÃxmodmap À´ÁгöÏÖÓеĶÔÓ¦£¬¾ÍÈçͬ¸Ä±äËüÃÇÒ»Ñù¡£Äã¿ÉÒÔÖ¸¶¨²»Í¬µÄ
ÃüÁîÁÐÑ¡ÏÀ´Ñ¡ÔñÏëÒªÓ¡³öµÄ²»Í¬µÄ¶ÔÓ¦£º

ÁгöÏÖÓмüµÄ¶ÔÓ¦£ºÖ¸¶¨ -pkÑ¡Ïî¡£

ÁгöÏÖÓÐÐÞÊμüµÄ¶ÔÓ¦£ºÖ¸¶¨ -pmÑ¡Ïî (»òÊÇʲ÷áÑ¡ÏîÒ²²»Ñ¡£¬ÒòΪÕâÊÇ
xmodmapµÄÔ¤Éè×÷ÓÃ)¡£

ÁгöÏÖÓÐÖ¸±ê (°´Å¥)µÄ¶ÔÓ¦£ºÖ¸¶¨ -ppÑ¡Ïî¡£

ÀýÈ磬½«ËùÓеĶÔÓ¦Ò»ÆðÓ¡³ö£¬Ê¹ÓÃÃüÁ

xmodmap -pm -pk -pp

Áгö¼ü¡¢ÐÞÊμü¡¢Ö¸±êµÄ¶ÔÓ¦Ö®·¶ÀýÈçͼ18 - 1£¬18 - 2£¬18 - 3¡£(¼ü¶ÔÓ¦Ö»
ÓÐÁгöÒ»²¿·Ý£¬ÒòΪÍêÕûµÄ¶ÔӦʵÔÚÌ«³¤ÁË¡£)

©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´
©¦ p228 fig 18.1 ©¦
©¦ ©¦
©¦ ͼ18-1 Áгö¼üÅ̶ÔÓ¦µÄ·¶Àý ©¦
©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼

©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´
©¦ p229 fig 18.2 ©¦
©¦ ©¦
©¦ ͼ18-2 ÁгöÐÞÊμü¶ÔÓ¦µÄ·¶Àý ©¦
©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼

©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´
©¦ p229 fig 18.3 ©¦
©¦ ©¦
©¦ ͼ18-3 ÁгöÖ¸±ê¶ÔÓ¦µÄ·¶Àý ©¦
©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼

18.1.2 Ö´ÐÐ xmodmap ¸Ä±ä¶ÔÓ¦ -- Ò»°ãÐÔÑ¡Ïî

µ±xmodmap ÓÃÀ´¸Ä±ä»òÉ趨¶ÔÓ¦£¬Ëü¿ÉÒÔ´¦ÀíÒ»»ò¶à¸ö±íʽ (expression) µÄ
×÷Óá£Äã¿ÉÒÔ°ÑÕâЩÊäÈëÔÚÒ»¸öµµ°¸ÖУ¬¼ÙÉè´Ëµµ°¸Ãû³Æ½Ðmyfile£¬¿ÉÓÃÏÂÁÐ
ÃüÁîÁ½ÕßÖ®Ò»£º

xmodmap myfile
xmodmap - <myfile

µÚ¶þÁеĶ̺áÏßÊDZØÐèµÄ£¬Èç¹ûÉÙÁËËü£¬³Ìʽ½«Ö»Íê³ÉÔ¤ÉèµÄ×÷Óà (ÁгöÐÞÊÎ
¼üµÄ¶ÔÓ¦) ¡£³ýÁËÔÚµµ°¸ÖÐÊäÈë¹æ¸ñÖ®Í⣬ÄãÒ²¿ÉÒÔÔÚÃüÁîÁÐÖÐÓà -e Ñ¡ÏîÖ±
½ÓÖ¸¶¨ËüÃÇ£º

xmodmap -e expression
xmodmap -e expression-1 -e expression-2

ΪÁ˵õ½¸ü¶àÓйØxmodmap ×÷ÓõÄ×ÊѶ£¬¿ÉÒÔÖ¸¶¨Èß׸ (verbose)Ñ¡Ï-v »ò
-verbose¡£Äã¿ÉÒÔ½åÖøʹÓà -n Ñ¡Ïʵ¼ÊµÄ¸Ä±ä¶ÔÓ¦¶ø»ñµÃÏàͬµÄÁÐÓ¡Êä³ö
(printout) ¡£ (´Ë¹¦ÄܺÍUnixÖÐmakeÃüÁîµÄ -n Ñ¡ÏîÏàͬ£¬ÆäÒâΪ "¼Ù×°Ö´
ÐÐÎÒÒªÇóÄã×öµÄÊ£¬ÕýÈ·µÄ¸æËßÎÒÄ㽫ÈçºÎ½øÐУ¬µ«²¢²»Êµ¼ÊµØÍê³É×÷ÓÃ")¡£
Õâ¸öÑ¡Ïî¶ÔÐÂÊÖ»ò²»È·¶¨×Ô¼ºÊÇ·ñ×öµÄÕýÈ·µÄÇé¿ö·Ç³£ÓÐÓá£

ÿһ¸ö±íʽµÄÓï·¨²¢²»Ïàͬ£¬µ«Ò»°ãÐԵĸñʽΪ£º

keyWord target = value(s)

(µÈºÅµÄÁ½±ß¾ùÐèΪ¿Õ°×)¡£

18.1.3 ¸Ä±äÖ¸±ê¶ÔÓ¦

Ö¸±ê¶ÔÓ¦ÊÇÒ»¸öÂß¼­°´Å¥Êý×ֵıíÁС£ (Âß¼­µÄbutton-1ÎÒÃdzÆΪLEFT£¬Âß¼­
µÄ button-2 ³ÆΪMIDDLEµÈµÈ£¬Êµ¼ÊµÄ button-1 ÊÇ»¬Êó×ó±ßµÄ°´Å¥£¬button-2
ÊǸô±ÚµÄ°´Å¥µÈµÈ£¬ËùÒÔÔ¤ÉèµÄÂß¼­µÄ°´Å¥ºÍʵ¼ÊµÄÒ»ÖÂ)¡£ÔÚ±íÁÐÖеĵÚÒ»¸ö
ÏîÄ¿ÊÇÂß¼­µÄ°´Å¥ºÍʵ¼ÊµÄ button-1 µÄ¹Øϵ£¬ÏÂÒ»¸öÔòÊǶÔʵ¼ÊµÄ button-2
µÄ¹Øϵ£¬ÒÔ´ËÀàÍÆ¡£ÀýÈ磬µßµ¹°´Å¥µÄ´ÎÐò£¬Ê¹ÓÃÃüÁ

xmodmap -e "pointer = 3 2 1 "

½á¹û°´Ï»¬ÊóÓұߵİ´Å¥£¬»á±»½âÊͳÉLEFT¡£


ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 

18.1.4 ¸Ä±ä¼ü¶ÔÓ¦

xmodmap ÈÃÄ㽫һ¸ö¼ü (Ò²¾ÍÊÇ˵¼üÂë) Á¬½áµ½Ò»¸öеÄkeysym±íÁУ¬Ê¹Óñí
ʽ£º

keycode keycode = keysym-1 [keysym-2 ...]

°²ÅÅkeysym-1Á¬½áµ½¼üʱûÓÐÐÞÊμü£¬µ±SHIFT °´ÏÂʱkeysym-2Á¬½áµ½¼ü£¬Èç¹û
»¹ÓÐÏÂÒ»¸ökeysymµÄ»°£¬¶Ôkeycode ¶øÑÔÊǵÚÈý˳λµÈµÈ¡£ (Çë¼Çס£¬ÔÚÇ°Á½¸ö
Ö®ááµÄkeysym£¬ÏµÍ³²¢Î´¸½ÊôÌرðµÄÒâÒ壬ӦÓóÌʽÈç¹ûÐèÒªµÄ»°¿ÉÒÔ¸½ÊôÒâÒå
)¡£

ÈÃÎÒÃǾÙʵ¼ÊµÄÀý×Ó¡£Ò»Ð©¼üÅÌ°ÑһЩ·Ç×ÖĸÊý×Ö (alphanumeric)¼ü·ÅÔÚ
²»±ê×¼µÄµØ·½£¬ËùÒÔÎÒÃǼÙÉèÄãÒª½«F6¼üÖض¨Ò嵱ûÓÐÐÞÊμü°´ÏÂʱΪ "9"£¬
µ±SHIFT °´ÏÂʱΪ "("¡£ÒªÐ´ÈëÕâ¸öxmodmap µÄ±íʽ£¬ÄãÐèÒªÖªµÀÈý¼þÊ£ºF6
µÄ¼üÂ룬ºÍ "9"Óë "("µÄkeysym¡£ÎÒÃÇÔÚµÚ£±£²ÕÂÌáµ½¹ý£¬Ö´ÐÐxev ±ã¿É»ñµÃ
ÕâЩ£º·Ö±ð°´ÏÂ"F6", "9", "("Èý¸ö¼ü£¬Äã±ã¿ÉµÃµ½ËüÃǵļüÂëºÍkeysym¡£È»
áὫËüÃÇ·ÅÈëÄãµÄ±íʽÖС£ÀýÈçÔÚÎÒÃǵÄϵͳÖÐÎÒÃÇʹÓÃÃüÁ

xmodmap -e "keycode 21 = 9 parenleft"

ΪÁËÈÝÒ×һЩ£¬Äãͨ³£²»ÐèÒª²éÎʼüÂ룬xmodmap ÔÊÐíÄãʹÓÃÏÂÁиñʽ£º

keysym target-keysym = keysym-1 [keysym-2 ...]

ËüµÄÒâÒåΪ "¸½ÊôÔڴ˼üµÄkeysym±íÁÐÏÖÔÚ¸ÄÓÉtarget-keysymÀ´¸½Êô"¡£ÀýÈç
Õë¶ÔÎÒÃÇ·½²ÅµÄ·¶Àý£¬ÎÒÃÇ¿ÉÒÔÓãº

xmodmap -e "keysym F6 = 9 parenleft"

Èç¹ûÄ㽫ÏàͬµÄkeysym¸½Êôµ½Êý¸ö¼ü£¬xmodmap »á¸ã»ìµô£¬ÏñÕâÖÖÇé¿öÄãÓ¦¼á
³ÖʹÓÃkeycode ... ÕâÖÖ·ûºÅ±íʾ·¨¡£

18.1.5 ¸Ä±äÐÞÊμü¶ÔÓ¦

ÔÚserverÖÐÐÞÊμü¶ÔÓ¦ÊÇÒ»¸ö±íÁеļ¯ºÏ£¬Ã¿¸öÐÞÊμüÓÐÒ»¸ö±íÁС£¶ÔÒ»¸öÐÞ
ÊμüµÄ±íÁÐÖУ¬°üº¬ÁËËùÓе±´ËÐÞÊμü±»°´ÏÂʱ»áÓÐÒâÒåµÄ¼ü (¼üÂë) ¡£xmodmap
ÔÊÐíÄãÔÚÒ»¸ö±íÁÐÖÐÔö¼ÓÏîÄ¿£¬È¥³ýÏîÄ¿£¬»òÍêÈ«Çå³ýÒ»¸ö±íÁС£¶Ô´ËÈý¸ö²Ù
×÷µÄ¸ñʽΪ£º

add modifier = list-of-keysyms
remove modifier = list-of-keysyms
clear modifier

²»ÐÒµÄÊÇ£¬Óï·¨Óеã¶ù»ìÏý£¬ÒòΪȡ´úÄãËùÐèµÄ¼üÂ룬Äã±ØÐèÖ¸¶¨keysym¸½Êô
µ½¼üÂë¡£

¾ÙÒ»¸öÀý×Ó£º¼ÙÈçÄãÐèÒªÔÚÄã¼üÅ̵ÄÓÒ±ßÓÐÒ»¸öµÚ¶þ¸öµÄCtrl¼ü¡£ÔÚÎÒÃÇ
µÄ¼üÅÌÉÏÓÐÒ»¸öAlternate ¼üûÓб»ÓÃÀ´×öÈκÎÊ£¬ËùÒÔÎÒÃǽ«ÐÞ¸ÄËü£¬ÃüÁî
Ϊ£º

xmodmap -e "add Control = Alt_R"

ΪÁ˶à½âÊÍһЩÇé¿ö£¬ÈÃÎÒÃǼÙÉèÄãûÓÐÒ»¸ö¶àâŵļü£¬µ«ÓÐÒ»¸öµÚ¶þ¸öµÄ
Meta¼üÔÚ¼üÅ̵ÄÓÒÊֱߣ¬¶øÎÒÃÇÒªÓÃËü¡£ÎÒÃÇÊ×ÏȱØÐèÈ¥³ýËüµÄMod1¶ÔÓ¦ (Äã
±ØÐëʹÓà "Mod1" £¬"Meta"ûÓÐÓÃ) £¬¶øáὫËü¼ÓÈëControl ¶ÔÓ¦¡£ (Èç¹ûÓÐ
ÐèÒªµÄ»°£¬ÎÒÃÇ¿ÉÒÔÓµÓÐË«ÖصĶÔÓ¦£¬ËùÒÔÔÚControl-Meta×éºÏ¼üʱ²Å»áÓÐ×÷
Óã¬ÔÚһЩ±à¼­Æ÷Öг£»áÓõ½)¡£ÃüÁîΪ£º

remove Mod1 = Meta_r
add Control = Meta_r

½«ÉÏÊöÃüÁîÁзÅÈëÒ»¸ö±È·½Ëµ½ÐmymapsµÄµµ°¸ÖУ¬Ö´ÐÐÃüÁîxmodmap mymaps¡£
Ëü¿ÉÒÔ¹¤×÷£¬µ«Èç¹ûÄãÓÃxmodmap -pm È¥²é¿´£¬Äã»á·¢¾õControl ºÍMeta»ìºÏ
ÔÚÒ»Æð£¬ËùÒÔ×îºÃ¸Ä±ä¼üÉϵÄkeysymΪ£º

remove Mod1 = Meta_R
add Control = Meta_R
keysym Meta_R = Control_R

ÔÚxmodmap µÄÖ¸ÄÏÒ³ÖУ¬Óм¸¸ö¸ü¶àµÄ½»»»ÐÞÊμüµÄ·¶Àý¡£

×¢Ò⣺µ±Ôö¼ÓÒ»¸ö¼üµ½ÐÞÊμü¶ÔÓ¦£¬keysymÖ»ÊÇÓÃÀ´Ö¸¶¨xmodmap Öеļü
¡£ËüÍêÈ«ÊÇxmodmap ±¾µØµÄ£¬ÇÒÖ»ÊÇÒ»¸ö·ûºÅ¶øÒÑ£ºÖ»Óе±Ïà¹ØµÄ¼üÂë´«µÝµ½
server£¬²Åʵ¼ÊÉϵĸıä¶ÔÓ¦¡£Í¬ÑùµØ£¬keysym ºÍ keycode ±íʽ¶ÔÐÞÊμü¶Ô
Ó¦¾ø¶ÔûÓÐÓ°Ïì¡£Ò»¸ö³£¼ûµÄ´íÎóÊÇÖ´ÐÐÏÂÃæÕâ¸öÃüÁ

xmodmap -e "keysym F1 = Contrl_R"

ÆÚÍûF1¼üÄÜÏñÒ»¸öcontrol ¼ü°ã×÷Óá£Ëü²»»á -- ÒòΪÄãÏ൱춸æËßϵͳ "ÎÒ
ÒѾ­°ÑÕâ¸ö·ûºÅÓ¡ÔÚF1¼üÉÏÃæ" ¶øÒÑ¡£ÄãÓ¦¸ÃÕâÑù×÷£º

xmodmap -e "add Control = F1"

Èç¹ûÄãºÏ²¢ÉÏÒ»ÁеÄÃüÁî»áʹµÃ¶ÔÓ¦±íÁп´ÆðÀ´Çå³þЩ¡£

ÎÒÃǶԲ»Í¬¶ÔÓ¦µÄ´¦ÀíµÄÃèÊöµ½´Ë¸æÒ»½áÊø¡£



18.2 ¼üÅ̺ͻ¬Êó²ÎÊýÉ趨 -- xset

×îááÎÒÃÇÀ´¿´Ò»¿´×îƽ³£µÄÉèÊ©£¬¶ÔÄãµÄ¼üÅÌ¡¢»¬ÊóºÍÓ©Ä»É趨²»Í¬µÄ²ÎÊýµÄ
ÉèÊ©¡£ÕâЩ²ÎÊýʹÓÃxset³Ìʽ (ÎÒÃÇÔø¾­ÓÃÀ´¿ØÖÆserverµÄ×ÖÐÍËÑѰ·¾¶) À´
É趨¡£ÔÚÒÔϵÄÐðÊö£¬ÎÒÃÇÖ»ÓÃÒ»×éÒýÊýÀ´Õ¹Ê¾xset£¬µ«Äã¿ÉÒÔͬʱָ¶¨¶à×é
ÄãËùÒªµÄ²»Í¬¶¨ÒåµÄÉ趨¡£

¿ØÖÆÖն˻úÏìÁå

ÓÃxsetÄã¿ÉÒÔÈÃÁåÉùÏì»ò²»Ï죬É趨ËüµÄÒôµ÷ (pitch)£¬ºÍËü³ÖÐøµÄʱ¼ä (¼Ù
ÉèÄãµÄ»úÆ÷ÌṩÕâЩ²Ù×÷)£º

ÈÃÁåÉù²»Ïì xset -b
xset b off

ÈÃÁåÉùÄÜÏì xset b
xset b on

É趨ÁåÉùµÄÒôÁ¿ xset b vol
(×î´óÒôÁ¿Ö®vol%) Àý£ºxset b 50

É趨ÁåÉùµÄÒôÁ¿£¬ºÍ xset b vol p
Òôµ÷(µ¥Î»Hertz(ºÕ)) Àý£ºxset b 50 300

É趨ÁåÉùµÄÒôÁ¿£¬Òôµ÷£¬ xset b vol p d
ºÍ³ÖÐøµÄʱ¼ä(µ¥Î»°ÙÍò Àý£ºxset b 50 300 100
·ÖÖ®Ò»Ãë)

¿ØÖƼüµÄµÎ´ð(click)

ÈüüµÄµÎ´ð²»×÷Óà xset -c
xset c off

ÈüüµÄµÎ´ð×÷Óà xset c
xset c on

É趨µÎ´ðÉùµÄÒôÁ¿ xset c vol
(×î´óÒôÁ¿Ö®vol%) Àý£ºxset c 50

¿ØÖƼüµÄ×Ô¶¯Öظ´(auto-repeat)

ÈüüµÄ×Ô¶¯Öظ´²»×÷Óà xset -r
xset r off

ÈüüµÄ×Ô¶¯Öظ´×÷Óà xset r
xset r on

»¬Êó²ÎÊý -- ¼ÓËÙºÍÃż÷

Ö¸±êÔÚÓ©Ä»ÉϵÄÒƶ¯ºÍ»¬ÊóµÄÒƶ¯ÊdzɱÈÀýµÄ¡£¼ÓËÙ (multiplier) ÊÇÓ¦ÓÃÔÚ

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 

Ö¸±êÒƶ¯ÉϵÄÒ»¸ö³ËÊý£¬ÀýÈçÄãµÄ¼ÓËÙÊÇËÄ£¬µ±ÄãÒƶ¯»¬Êóʱ£¬Ö¸±ê½«ÒÔÕý³£
Ëı¶µÄËÙ¶ÈÒƶ¯¡£ (Èç¹ûÖ¸±êÕý³£Ê±Òƶ¯n ¸öÏñËØ£¬ÏÖÔÚÔò»áÒƶ¯ 4 X n¸öÏñ
ËØ)¡£

µ±ÄãÏ£ÍûÔÚÓ©Ä»ÉϽ«Ö¸±êÒƶ¯Ò»¶Î³¤¾àÀëʱ£¬Ï൱¸ßµÄ¼ÓËÙÊǺܷ½±ã£¬µ«
µ±ÄãÒª×÷һЩϸ²¿µÄÖ¸Òýʱ£¬Ëü¿´ÆðÀ´¾ÍºÜ±¿×¾ -- Ö¸±ê¿´ÆðÀ´ÔÚÀ´»ØÌø¶¯¡£
ΪÁË¿Ë·þ´Ëµã£¬serverÌṩÁËÒ»¸öÃż÷ (threshold)£ºÈç¹ûµ±Ö¸±êÒ»´ÎÒƶ¯³¬
¹ýÃż÷¸öÏñËØ£¬¼ÓËÙÒ²»á±»´ø½øÀ´Ö´ÐС£

É趨»¬ÊóµÄ¼ÓËÙµ½a xset m a
Àý£ºxset m 5

É趨¼ÓËÙ£¬É趨Ãż÷µ½t xset m a t
Àý£ºxset m 5 10

¿ØÖÆÓ©Ä»½ÚÔ¼Æ÷½á¹¹

Ó©Ä»½ÚÔ¼Æ÷ (screen saver)ÊÇÒ»ÖÖÉèÊ©£¬ËüÒâͼ½µµÍÒ»¸ö¹Ì¶¨µÄͼÑù(pattern)
ÀÏÊÇȼÉÕÄãÓ©Ä»µÄÓ©¹âÌåµÄ»úÂÊ¡£ËüµÄÀíÄîΪөĻË𺦴ó¶¼ÆðÒòì¶ÈÃϵͳÏÐÖÃ
(idle)Ò»³¤¶Îʱ¼ä£¬ËùÒÔÓ©Ä»½ÚÔ¼Æ÷ÔÚÒ»¶ÎÌض¨µÄʱ¼äÄÚÈç¹ûûÓÐÊäÈ붯×÷áá
£¬²»ÊÇÕûÌåÐÔµÄÉÁ¶¯Ó©Ä»£¬±ãÊÇÏÔʾһ¸ö²»Í¬µÄͼÑù¡£

Èç¹ûÄãÑ¡ÔñµÄÊÇÏÔʾһ¸ö²»Í¬µÄͼÑù£¬¸ùÊÓ´°µÄ±³¾°º­¸ÇÕû¸öÓ©Ä»£¬Ò»¸ö
´óX µÄÓαê³öÏÖÔÚÓ©Ä»ÉÏ£¬ÇÒ»áÖÜÆÚÐÔµÄÒƶ¯¡£µ±´óX ÓαêÔÚÒƶ¯Ê±£¬»á¸Ä±ä
´óС£¬¶øÇÒ±³¾°Ò²»áËæ»úµÄ±ä¶¯¡£ (ÔÚ±³¾°Í¼Ñù½ÏСʱÄã¿ÉÄܲ»»á×¢Òâµ½£¬µ«
Èô±È½Ï´óʱ£¬Äã¿ÉÒÔ¿´µ½ËüÔÚÌø¶¯)¡£

µ±Ó©Ä»½ÚÔ¼Æ÷½áÊø×÷ÓÃáᣬÈç¹ûÒª»¨Ðí¶àµÄʱ¼ä²ÅÄÜÖØ»­Ó¦ÓÃÊÓ´°£¬Äã¿É
ÒÔÖ¸¶¨Ö»ÓÐÔÚÖØ»­Ó©Ä»¶ø²»Ðè²úÉúÈκÎÆعâ(exposure)ʼþ (Ò²¾ÍÊDz»±ØÒªÇó
Ó¦ÓóÌʽÖØ»­ËüÃÇ×Ô¼ºµÄÊÓ´°) µÄÇé¿öÏ£¬Ó©Ä»½ÚÔ¼Æ÷²Å»á×÷ÓᣠÕâÖ»Ó¦ÓÃ
ì¶ÏÔʾ²»Í¬µÄͼÑùµÄÇé¿ö£¬ÕûÌåÐÔµÄÉÁ¶¯Ó©Ä»´¿ÎªÓ²Ìå×÷Ó㬲»»áÓ°Ïìµ½Ó¦ÓÃ
³Ìʽ¡£

ÈÃÓ©Ä»½ÚÔ¼Æ÷ÄÜ×÷Óà xset s

ÈÃÓ©Ä»½ÚÔ¼Æ÷²»ÄÜ×÷Óà xset s off

ÓÃÓ©Ä»ÉÁ¶¯µÄ·½Ê½ xset s blank

Ö»ÓÐÔÚÎÞÆعâʼþϲÅ×÷Óà xset s noexpose

ÔÊÐíÓÐÆعâʼþÏÂÈÔÈ»×÷Óà xset s expose

Óò»Í¬Í¼ÑùµÄ·½Ê½ xset s noblank

µ±ÏµÍ³ÏÐÖÃt Ãëáá×÷Óà xset s t
Àý£ºxset s 600

ÿp ÃëÖ®áá¸Ä±äͼÑù xset s t p
Àý£ºxset s 600 10

ÈÃÎÒÃǽ«ÕâЩ×éºÏÆðÀ´£¬¼ÙÉèÎÒÃÇÏ£ÍûÓ©Ä»½ÚÔ¼Æ÷ÔÚϵͳÏÐÖÃ80ÃëáῪʼ×÷ÓÃ
£¬Óò»Í¬µÄͼÑùµÄ·½Ê½£¬ÖÜÆÚΪ3 Ã룬²»½éÒâÆعâʼþÊÇ·ñ·¢Éú£º

xset s noblank s 80 3 s expose

×¢Ò⣺xset s ²¢²»Ìṩ on Õâ¸öÖµ¡£



18.3 ½áÂÛ

±¾ÕµĵÚÒ»¸ö²¿·Ý£¬¸æËßÄãÈçºÎ¸Ä±ä´Óʵ¼ÊµÄµ½Âß¼­µÄ¼üºÍ°´Å¥µÄ¶ÔÓ¦£¬ÕâЩ
¶ÔÓ¦¿É±»clientÓ¦ÓóÌʽ½âÊÍ¡£Äã¿´µ½ÈçºÎʹÓÃxmodmap À´Áгö»ò¸Ä±äÿһ¸ö
¼üÅ̵ļü¡¢ÐÞÊμüºÍ»¬Êó°´Å¥µÄ¶ÔÓ¦¡£ÕâЩ¶ÔÓ¦ÓÉserverά»¤£¬ËùÒÔ¿ÉÒÔ±»Ã¿
Ò»¸öʹÓõ½´ËserverµÄÓ¦ÓóÌʽӦÓõ½¡£ÕâÖֽṹÈÃÄãÓиıä¼üÅÌÅäÖõÄ×ÔÓÉ
£¬²»ÂÛÊǸöÈ˵ÄϲºÃ»òÊÇÒ»¸ö¶îÍâµÄ±ê×¼¡£

ÔÚ±¾Õµĵڶþ¸ö²¿·Ý£¬Äã¿´µ½ÈçºÎʹÓÃxset¶ÔһЩ³£¼ûµÄÌØÐÔ×÷É趨£¬Èç
¼üµÄµÎ´ðÉù¡¢Öն˻úµÄÏìÁå¡¢Ó©Ä»½ÚÔ¼Æ÷ºÍ»¬ÊóµÄËÙ¶È ("¼ÓËÙ")¡£

=====

µÚ£±£¹Õ ½øÒ»²½½éÉÜ uwm ºÍÈçºÎ¶¨ÖÆËü

ÔÚµÚ£¶Õ£¬Äãѧµ½ÈçºÎʹÓÃuwm À´Íê³É»ù´¡µÄÊÓ´°½¨¹¹¹¤×÷ÐèÇ󣬶øÄÜÒÔÒ»¸ö
Êæ·þµÄ·½Ê½Ê¹ÓÃÊÓ´°¡£ÏÖÔÚÎÒÃǼÌÐø̸ÊÓ´°£¬¼¯ÖÐì¶Á½¸öÖ÷ÒªµÄ·¶Î§£º

1.´Ë³ÌʽËùÌṩµÄһЩÌرðµÄÌØÉ«£¬ÌرðÊÇ£º

£®²»Ê¹ÓÃÑ¡µ¥£¬Ö±½ÓʹÓû¬Ê󽨹¹ÊÓ´°¡£

£®ÎÒÃÇÉÐδÃèÊö¹ýµÄһЩѡµ¥Ñ¡Ôñ¡£

£®±à¼­ÏÖ´æ±íáçͼµÄ±êÌâ¡£

2.ÈçºÎ¶¨ÖÆuwm £¬°üº¬£º

£®¶ÔÈκÎÄãËùÐèµÄÃüÁÒåÄã×Ô¼ºµÄÑ¡µ¥¡£

£®½«¸÷ÖÖ²»Í¬µÄÊÓ´°¹ÜÀíÆ÷¹¦ÄÜϵ½áµ½»¬Êó°´Å¥ºÍÐÞÊμü (SHIFT£¬
CONTROL µÈµÈ)¡£

19.1 uwm µÄÐÂÌØÉ«

ÏÖÔÚÎÒÃÇÀ´ÌÖÂÛһЩÔÚÏÈÇ°½éÉÜÊÓ´°¹ÜÀíÆ÷ʱ£¬ÎªÁ˱£³Ö¾¡Á¿µØ¼òµ¥£¬¶øÊ¡ÂÔ
µÄ±ê×¼µÄuwm ¹¦ÄÜ¡£

19.1.1 ²»Ê¹ÓÃuwm µÄÑ¡µ¥À´¹ÜÀíÊÓ´°

Ö±µ½Ä¿Ç°£¬ÄãÈÔÈ»ÒÀÀµÖøuwm µÄÑ¡µ¥À´½¨¹¹ÄãµÄÊÓ´° -- Òƶ¯ËüÃÇ¡¢¶ÔËüÃÇÖØ
¶¨´óСµÈµÈ¡£Èç¹ûËùÓеÄÇé¿ö¶¼Ê¹ÓÃÑ¡µ¥£¬ÊÇÏ൱ÂýµÄ£¬ËùÒÔuwm ÌṩÄã¿ÉÖ±
½ÓÍê³ÉËüÈκÎÃüÁîµÄÑ¡Ïî¡£

Äã¿ÉÒÔʹÓû¬Êó°´Å¥ºÍÐÞÊμü£¬À´Ö¸¶¨ÄãÒªÖ´ÐеŦÄÜ£¬ºÍËùÒª²Ù×÷µÄÊÓ
´°¡£ÄãÏÖÔÚÓ¦¸ÃÒѷdz£ÊìϤ¸÷ÖÖ²»Í¬µÄÊÓ´°¹ÜÀíÆ÷¹¦ÄܺÍËüÃÇÈçºÎ¹¤×÷£¬ËùÒÔ
ÎÒÃǽ«ºÜ¿ìµØ˵Ã÷ÈçºÎ²»Ê¹ÓÃÑ¡µ¥À´Ñ¡ÔñÕâЩ¹¦ÄÜ¡£

Move£ºÒƶ¯Ò»¸öÊÓ´°

1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.Ö¸±êλÖÃËùÔÚµÄÊÓ´°½«±»Òƶ¯¡£
3.ÓÃÓÒ°´Å¥£¬ÍÏקÊÓ´°µ½ÐµÄλÖá£

Resize£ºÖض¨Ò»¸öÊÓ´°µÄ´óС
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.Ö¸±êλÖÃËùÔÚµÄÊÓ´°½«±»Öض¨´óС¡£
3.ÓÃÖа´Å¥£¬ÍÏקÊÓ´°µÄÍâ¿òµ½ÐµĴóС¡£

Lower£º½«Ò»¸öÊÓ´°Ë͵½¶ÑµþµÄµ×²¿
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Óû±»Ë͵½¶ÑµþµÄµ×²¿µÄÊÓ´°£¬Åö´¥Ò»ÏÂ×ó°´Å¥¡£

Raise£º½«Ò»¸öÊÓ´°Éýµ½¶ÑµþµÄ¶¥¶Ë¡£
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Óû±»Ë͵½¶ÑµþµÄ¶¥¶ËµÄÊÓ´°£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£

Circulate up£º½«×îµ×²ã±»ÕڱεÄÊÓ´°Éýµ½×îÉϲ㣬ÄãÓÐÁ½ÖÖÑ¡Ôñ£º
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.ÔÚ¸ùÊÓ´°ÉÏ£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£
»ò
1.ͬʱ°´ÏÂMETAºÍSHIFT ¼ü£¬±£³Ö°´×¡¡£
2.ÔÚÓ©Ä»ÉϵÄÈκεط½£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£

Circulate Down£º½«×îÉϲãµÄÊÓ´°ÒƵ½×îµ×²ã£¬×÷·¨Í¬Circulate Up£¬µ«
¸ÄΪ×ó°´Å¥¡£

Iconify£ºÖ®Ç°ÎÒÃÇÔøÌá¹ýÁ½ÖÖÐÎʽµÄ±íáçͼ»¯£¬Ò»ÖÖÊÇÊÓ´°Ôø¾­±íáçͼ
»¯¹ý(ÒѶ¨Òå¹ý±íáçͼµÄλÖÃ) £¬ÁíÒ»ÖÖΪ¶Ô "ÐÂ" µÄÊÓ´°±íáçͼ»¯
¡£

±íáçͼ»¯Ò»¸öеÄÊÓ´°£º

1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Ö¸±êλÖÃÒÆÖÁÓû±»±íáçͼ»¯µÄÊÓ´°¡£
3.°´ÏÂLEFT°´Å¥£¬±£³Ö°´×¡...
4. ... ÍÏק±íáçͼµÄÍâ¿òµ½ÄãËùÐèµÄλÖá£
5.ËÉ¿ª°´Å¥ºÍMETA¼ü¡£

×¢ÒâËüºÍLower ²Ù×÷³ÌÐòµÄ²»Í¬µã£¬ÔÚ´ËÄãÊÇ°´ÏÂ... ÍÏק... ËÉ¿ª»¬
Êó°´Å¥£¬¶ø¶ÔLower £¬ÄãÖ»ÊÇÅö´¥Ò»Ï°´Å¥¡£

±íáçͼ»¯Ò»¸öÔø¾­±íáçͼ»¯¹ýµÄµÄÊÓ´°£º


ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 

1.ͬʱ°´ÏÂMETAºÍCTRL¼ü£¬±£³Ö°´×¡¡£
2.ÔÚÄãÓû±íáçͼ»¯µÄÊÓ´°ÉÏ£¬Åö´¥Ò»ÏÂ×ó°´Å¥¡£

(Èç¹ûÄã¶ÔÏÈÇ°²¢Î´±íáçͼ»¯µÄÊÓ´°×÷Õâ¸ö²Ù×÷£¬»ò¾­ÓÉresource½á¹¹
ÎÞ·¨È¡µÃ±íáçͼµÄλÖ㬱íáçͼ½«³öÏÖÔÚÖ¸±êËùÔÚµÄλÖÃ)¡£

De-Iconify£º½«±íáçͼ»¹Ô­ÎªËüµÄÊÓ´° (ÔÚÊÓ´°Ô­À´µÄλÖÃ)£º

1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.ÔÚ±íáçͼÉÏ£¬Åö´¥Ò»ÏÂÖа´Å¥¡£

Èç¹ûÄã¾õµÃÕâЩ¶Ô»¬Êó°´Å¥¹¦ÄܵĽáºÏÊ®·Ö±¿×¾ÇÒ²»Ò×¼ÇÒ䣬±ðµ£ÐÄ£¬ºÜ
¶àÈ˶¼ÊÇÈç´Ë¡£ÓиüºÃµÄ·¨×Ó£¬¸Õ²ÅÄÇЩֻÊÇÔ¤ÉèµÄÉ趨£¬Äã¿ÉÒÔÍêÈ«ÓÉ×Ô¼º
À´½¨¹¹¡£ÔÚ±¾ÕµÄáá°ë²¿£¬ÎÒÃǽ«¸æËßÄãÈçºÎ×ö¡£ÏÖÔÚÎÒÃÇÏÈÀ´¿´Ò»¿´£¬ÔÚ±ê
׼ѡµ¥µÄһЩ¹¦ÄܺÍËüÃÇÄÜ×öЩʲ÷á¡£

19.1.2 һЩ¸ü¶àµÄÑ¡µ¥Ñ¡Ôñ

ÕâÊÇһЩÎÒÃÇÔÚµÚ£¶ÕÂÖÐûÓнâÊ͵ıê×¼µÄÑ¡µ¥Ñ¡Ôñ¡£

Focus£ºÈÃÄãÉ趨¼üÅ̵Ľ¹µã(focus)£¬Ò²¾ÍÊÇ˵£¬½«¼üÅ̸½Êôì¶Ò»¸öÊÓ´°
£¬ËùÒÔ²»ÂÛÓ©Ä»ÉϵÄÖ¸±êÔں䦣¬¼üÅ̵ÄÊäÈë×ÜÊÇÔÚͬһ¸öÊÓ´°¡£Ò»
°ã¼üÅ̵ÄÊäÈë×ÜÊÇÖ¸ÏòÄ¿Ç°Ö¸±êËùÔÚµÄÊÓ´°¡£

É趨½¹µãµ½Ò»¸öÌض¨µÄÊÓ´°£ºÑ¡Ôñfocus £¬³öÏÖÊÖÖ¸ÐÎÓα꣬ÔÚÄãËù
ÓûÖ¸¶¨µÄÊÓ´°Åö´¥Ò»Ï°´Å¥¡£

»Ö¸´Õý³££ºÑ¡Ôñfocus £¬ÔÚ±³¾°ÊÓ´°ÉÏÅö´¥Ò»Ï¡£

Restart£ºÍ£Ö¹uwm £¬ÖØÐÂÆô¶¯Ëü£¬ÖØжÁÈ뽨¹¹µµ (ϽÚ˵Ã÷) ÇÒÖ´ÐÐËü
¡£ÔÚÄã¸Ä±ä½¨¹¹µµÇÒÏ£ÍûÂíÉÏÖ´ÐÐеÄÉ趨ʱ (·ñÔò½«µÈµ½ÄãÖØÐÂÆô
¶¯Ò»¸öеÄÖÜÆÚ) ʹÓôËÑ¡Ôñ¡£

Freeze£ºÔÝÍ£Ó©Ä»ÉÏËùÓеÄÏÔʾ£¬µ±ÄãÒª¶ÔÄãµÄÓ©Ä»ÉãӰʱ¿ÉÒÔʹÓÃÕâ¸ö
Ñ¡Ôñ¡£ÓûÖØлָ´ÏÔʾ£¬Ê¹Óà ...

Unfreeze£ºÖØлָ´ÏÔʾ£¬ËùÓеÄÊÓ´°»áÁ¢¼´¸üС£

Exit£ºÖÐÖ¹uwm ¡£µ±ÄãҪɱµôuwm ʱʹÓã¬ÀýÈçÔÚÆô¶¯Ò»¸ö²»Í¬µÄÊÓ´°¹Ü
ÀíÆ÷֮ǰ¡£

Perferences Ñ¡µ¥

ÎÒÃÇÔÚµÚ£¶ÕÂÌá¹ý£¬ÓÐÁ½ÖÖ·½·¨½ÐÓÃuwm µÄWindowOpsÑ¡µ¥ -- ÔÚ±³¾°ÊÓ
´°ÉÏ°´ÏÂÖа´Å¥£¬»òÔÚ°´×¡METAºÍSHIFT Á½¸ö¼üµÄÇé¿öÏ£¬ÔÚÈκεط½Åö´¥Ò»
ÏÂÖа´Å¥¡£ÓõڶþÖÖ·½·¨ÈÃÄãºô½Ð³öµÚ¶þ¸öÑ¡µ¥£¬Ö»Òª½«Ö¸±êÒƵ½WindowOps
Ñ¡µ¥µÄÍâ±ß£¬±êͷΪPreferences µÄÊÓ´°¾Í»á³öÏÖ¡£

ÔÚPreferenceÖеÄÑ¡Ôñ£¬Ö»ÊÇһЩxset³ÌʽÖÐÉ趨»¬ÊóºÍ¼üÅ̵ÄÑ¡Ïî¶øÒÑ¡£

×¢Ò⣺Lock On ºÍ Lock OffÑ¡ÔñÊǺͼǼÓйصģ¬¿ÉÄܻᵼÖÂÒ»¸ö´íÎó
µÄѶϢÔÚÄãµÄÖ÷¿Ø̨ÊÓ´°Ó¡³ö¡£

19.1.3 ¸Ä±äÏÖ´æ±íáçͼÉϵıêÌâ

uwm µÄÔ¤Éè±íáçͼ -- »ÒÉ«µÄºÐÖÐÓÐÒ»¸öÃû³Æ -- Èç¹ûÄã¶Ôͬһ¸öÓ¦ÓóÌʽִ
ÐÐÊý´Î¿½±´áá»áÓÐȱµã£¬ÀýÈçÓÐÈý¸öxterm µÄ±íáçͼ£¬ÄãÎÞ·¨Ã÷È·µÄÇø·ÖËüÃÇ
¡£ÎªÁË¿Ë·þÕâµã£¬uwm ÔÊÐíÄã¿ÉÒԱ༭±íáçͼÖеÄ×Ö´®ÎªÄãËùÐèµÄÈκÎ×Ö´®¡£
(ÕâÖ»ÄÜÔÚuwm ×Ô¼ºÔ¤ÉèµÄ±íáçͼʹÓã¬ÀýÈçÄãÎÞ·¨±à¼­ÔÚxclockµÄÌض¨±íáç
ͼÖеÄ×Ö´®)¡£

Óû±à¼­ÔÚÒ»¸ö±íáçͼÖеÄÃû³Æ£º

1.½«Ö¸±êÒÆÖÁËùÓû±à¼­µÄ±íáçͼ¡£
2.¼üÈëÄãËùÏ£ÍûµÄÈκÎÎÄ×Ö¡£
3.Äã¿ÉÒÔÈ¥µôÎÄ×Ö£¬²»ÂÛÊÇÏÈÇ°´æÔÚ»ò·½²Å²ÅÊäÈëµÄ£¬·½·¨ÈçÏ£º

È¥µôÇ°Ò»¸ö×ÖÔª£º°´DELETE¡£
È¥µôÕû¸öÃû³Æ£º°´ctl-U¡£

19.2 ¶¨ÖÆuwm

uwm ¾ßÓи߶ȵĿɽ¨¹¹ÐÔ¡£Äã¿ÉÒÔ½«Õû¸ö·¶Î§µÄ²ÎÊýºÍ¶¨Òå´¢´æÔÚÒ»¸ö½¨¹¹µµ
ÖУ¬µ±uwm Æôʼʱ»á½«Ö®¶ÁÈë¡£ÎÒÃÇÇ°½ÚÔø¾­Ìá¹ý£¬Äã¿ÉÒÔÔÚÖÐ;¸Ä±ä½¨¹¹µµ
£¬½åÖøÔÚWindowOpsÑ¡µ¥ÖÐRestartÑ¡Ï¸æËßuwm ÖØжÁÈëËü¡£

uwm µÄ½¨¹¹µµ

Ô¤Éèuwm ÓÐÁ½¸ö½¨¹¹µµ£¬ÆäÖÐ֮һΪ

/usr/lib/X11/uwm/system.uwmrc

ͨ³£ÓÉϵͳ¹ÜÀíÕßÉ趨£¬ÇÒµÚÒ»¸ö±»¶ÁÈë¡£ÁíÒ»¸ö

$HOME/.uwmrc

ÊÇÄã×Ô¼ºµÄ½¨¹¹µµ¡£Á½¸öµµ°¸¾ùÐèÒª´æÔÚ£¬uwm Ó²ÐԹ涨ÁËÔ¤ÉèÉ趨¡£

×¢Ò⣺Èç¹ûÄãÓò»ÕýÈ·µÄÓï·¨É趨һ¸ö½¨¹¹µµ£¬µ±uwm ¶ÁÈëʱ£¬Äã»áµÃµ½
Ò»¸ö´íÎóѶϢÏñ£º

uwm: /usr/nmm/.uwmrc: 38: syntax error
uwm: Bad .uwmrc file...aborting

uwm ½«²»»áÆô¶¯¡£µ±ÔÚÒ»¸öеÄÖÜÆÚÆô¶¯Ê±£¬ÕâûÓÐʲ÷á´óÎÊÌ⡣Ȼ¶ø£¬Èç¹û
ÄãÊÇÔÚÖÐ;ÖØÐÂÉ趨uwm £¬Äã¿ÉÒÔ½áÊøµ«Ã»ÓÐÊÓ´°¹ÜÀíÆ÷£¬ÇÒûÓÐxterm £¬Ã»
Óб༭ÊÓ´°À´±à¼­Õâ¸ö´íÎóµÄµµ°¸£¬ÎÞ·¨ÆôʼÆäËüµÄÊÓ´°¡£Èç¹û´ËÖÖÇé¿ö·¢Éú
£¬Äã±ØÐè´ÓÆäËüµÄÖն˻ú»ò»úÆ÷¹Ø±Õ£Ø£¬»ò»Ù»µ (crash)ÄãµÄϵͳ¡£

uwm µÄÃüÁîÁÐÑ¡Ïî

Èç¹ûÄã²»ÐèҪϵͳ½¨¹¹µµ°¸£¬Ò²²»ÐèÒªÈκÎÔ¤ÉèµÄÉ趨£¬Äã¿ÉÒÔ½åÖøuwm µÄÃü
ÁîÁÐÑ¡Ïî -b ÒÖÖÆËüÃÇ¡£

Èç¹ûÄãҪʹÓÃÆäËüµÄµµ°¸£¬¾ÍÏñÁ½¸öÔ¤ÉèµÄ½¨¹¹µµÒ»°ã£¬Äã¿ÉÒÔÓÃ
-f filename À´Ö¸¶¨Ëü¡£

19.2.1 ϵ½á¹¦Äܵ½¼üºÍ°´Å¥

uwm ÈÃÄ㶨Òåµ±Ò»¸öÌض¨µÄ»¬Êó°´Å¥°´ÏÂʱ£¬ÓÐij¸ö¹¦ÄÜ»á×÷Óã¬ÀýÈçµ±ÄãÔÚ
Ò»¸öÊÓ´°ÖÐÅö´¥Ò»ÏÂÖа´Å¥£¬Ëü½«±»Éýµ½¶ÑµþµÄ¶¥²ã¡£ÕâÖÖϵ½á½á¹¹ºÍToolkit
תÒ벢ûÓÐÇ£Á¬£¬ËüÍêÈ«ÓÉuwm ±¾ÉíÀ´Íê³É¡£

ΪÁËÈÃÕâЩ½á¹¹¸üÓÐÓã¬Äã¿ÉÒÔÖ¸¶¨ÆäËüµÄÌõ¼þÀ´ÔËÓøü¶àµÄ¹¦ÄÜ£¬»òÐíÒ»¸ö
ÐÞÊμü (ÏñMETA) Ðè±»°´Ï£¬»òÐí×÷ÓÃÖ»·¢ÉúÔÚÖ¸±êλì¶Ò»¸ö±íáçͼÉ϶ø·ÇÓ¦
ÓóÌʽÊÓ´°»ò±³¾°ÊÓ´°¡£ÎÒÃÇÒÑʵ¼ÊµÄ¿´¹ýÕâЩÀý×Ó£º

´Ë¹¦ÄÜ·¢Éú ... Ö»ÓÐÔÚÕâЩ ... Ö»ÓÐÖ¸±êÔÚ ... µ±Õâ¸ö
ì¶... ÐÞÊμü±»°´Ï£¬ ´ËÖÖÐÍ̬µÄÊÓ´° »¬Êóʼþ·¢
¶øÇÒ... £¬¶øÇÒ... Éúʱ

Resize META Ò»°ãÊÓ´° °´×¡Öа´Å¥
ÇÒÒƶ¯

WindowOps ûÓÐ ±³¾°ÊÓ´° °´×¡Öа´Å¥
Ñ¡µ¥

WindowOps META ºÍ ûÓйØϵ °´×¡Öа´Å¥
Ñ¡µ¥ SHIFT

Äã½åÖøÄãµÄ .uwmrc(»òÆäËüµÄ½¨¹¹µµ)Ëù°üº¬µÄϵ½á¹æ¸ñÀ´Ö¸¶¨Ïµ½á¡£¹æ¸ñ
µÄ¸ñʽºÍÉÏÃæµÄ±í¸ñÀàËÆ£¬¾ÍÏñ£º

uwm-function = modifiers : window context : mouse events
( uwm ¹¦ÄÜ = ÐÞÊμü : ÊÓ´°µÄ»·¾³ : »¬Êóʼþ )

ÕâЩԪËØΪ£º

uwm ¹¦ÄÜ£ºuwm µÄÄÚ½¨¹¦ÄÜÖ®Ò»µÄÃû³Æ¡£ÀýÈ繦ÄÜf.move¼´ÊÇÄãÓÃÒÔÒƶ¯ÊÓ
´°µÄ¹¦ÄÜ£¬f.lower ½«ÊÓ´°½µµÍÒ»²ãµÈµÈ¡£ÕâЩ¹¦Äܽ«ì¶Ï¸üÍêÕûµØÃè
Êö¡£

¹¦ÄÜÃû³Æ±ØÐè¸úËæÖøÒ»¸öµÈºÅ(=)¡£

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 


ÐÞÊμü£ºÔÚÔËÓÃÉÏÊö¹¦ÄÜʱ£¬µ±Ö¸¶¨µÄ»¬Êóʼþ·¢Éúʱ£¬±ØÐè±»°´ÏµÄÐÞÊμü
±íÁС£ÕýÈ·µÄÐÞÊμüÃû³ÆΪ£º

ctrl(»òc)£¬¶ÔCONTROL¼ü¡£

meta(»òm»òmod1)£¬¶ÔMETA¼ü¡£

shift(»òs)£¬¶ÔSHIFT¼ü¡£

lock(»òl)£¬¶ÔCAPSLOCK¼ü¡£

ÕâЩÃû³Æ±ØÐèÕýÈ·µÄÁгö¡£Äã¿ÉÒÔʹÓÃÒ»»ò¶þ¸öÐÞÊμü£¬Èç¹ûÄãʹÓÃÁ½¸ö
¼ü£¬ÓÃÒ»¸ö ""·ûºÅÀ´·Ö¿ªËüÃÇ¡£

Äã¿ÉÒÔÊ¡ÂÔÕû¸öÐÞÊμü±íÁÐ (¼´´Ë¹¦ÄܶÔӦ춻¬Êóʼþ·¢Éúʱ²¢Ã»ÓÐÐÞÊÎ
¼ü±»°´ÏÂ)£¬µ«Î²¶ËµÄðºÅ ":" ²»¿ÉÊ¡ÂÔ¡£

ÊÓ´°µÄ»·¾³£ºÏÞÖÆÖ»ÓÐÖ¸±êÔÚÓ©Ä»ÉÏÖ¸¶¨Î»ÖõÄÐÍ̬·ûºÏÌض¨Ìõ¼þʱ£¬¹¦ÄÜ
²Å»á·¢Éú¡£ÕýÈ·µÄ»·¾³ÈçÏ£º

window(»òw)£ºÖ¸±ê±ØÐèλì¶Ò»¸öÓ¦ÓÃÊÓ´°ÖС£

icon(»òi)£ºÖ¸±ê±ØÐèλì¶Ò»¸ö±íáçͼÖС£

root(»òr)£ºÖ¸±ê±ØÐèλ춸ùÊÓ´°»ò±³¾°ÊÓ´°ÖС£

Äã¿ÉÒÔÖ¸¶¨ÈκÎÊýÄ¿µÄ»·¾³£¬Óà "" À´Çø¸ôËüÃÇ¡£Èç¹ûÄãûÓÐÖ¸¶¨£¬Ôò¹¦ÄÜ
µÄ·¢ÉúÓëÖ¸±êλÖÃÎ޹ء£

»¬Êóʼþ£ººÎÖÖ»¬Êóʼþ¶ÔÓ¦µ½´Ë¹¦ÄÜ¡£Ö¸¶¨µÄʼþΪһ¸ö°´Å¥Ãû³Æ -- ÈκεÄ

left(»òl)

middle(»òm)

right(»òr)

¸úËæÖøÒ»¸ö¶¯×÷£º

down : µ±°´Å¥±»°´ÏÂʱ»á·ûºÏ¡£
up : µ±°´Å¥±»ËÉ¿ªÊ±»á·ûºÏ¡£
delta : µ±°´Å¥±»°´ÏÂÇÒÒƶ¯³¬¹ýÒ»¶¨ÊýÄ¿µÄÏñËØʱ»á·ûºÏ¡£

ËùÓеÄÕâЩÄãÒÑʵ¼ÊʹÓùýËüÃÇ£¬ÔÚ±¾Õ¿ªÍ·ËùÃèÊöµÄһЩ×÷ÓõÄϵ½áΪ£º

f.resize = meta : window : middle delta
f.iconify = meta : icon : middle up
f.raise = meta : windowicon : right down

uwm µÄÔ¤Éèϵ½áÔÚµµ°¸ $TOP/clients/uwm/default.uwmrc£¬¼ûͼ19 - 1¡£

©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´
©¦ p242-243 fig 19.1 ©¦
©¦ ©¦
©¦ ͼ19-1 Ô¤ÉèµÄ .uwmrc ½¨¹¹µµ ©¦
©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼

uwm µÄÄÚ½¨¹¦ÄÜ

uwm µÄÖ¸ÄÏÒ³Áгö¿ÉÓ¦ÓõŦÄÜ¡£ÄãÒѾ­´Óͼ19 - 1¼û¹ýÆäÖд󲿷ݣ¬Äã¿ÉÒÔ
¿´³ö£¬¹¦ÄÜÊǺÍWindowOps¼°PreferencesÖеÄÑ¡ÏîÏà¹Ø¡£

È»¶ø£¬ÓÐÒ»¸öÓйØpushingÊÓ´°(f.pushleft, f.pushupµÈµÈ)µÄ¹¦Äܼ¯ºÏÄã
´Óδ¼û¹ý¡£pushingµÄÒâ˼Ϊ£ºÄ㳯һ¸öÌض¨µÄ·½ÏòÒƶ¯Ò»¸öÊÓ´°£¬Òƶ¯µÄ¾àÀë
¹Ì¶¨¡£ÕâºÍf.move²»Í¬µÄÊÇ£¬ááÕßÒÔ½»Ì¸µÄ·½Ê½£¬Ö¸¶¨ÊÓ´°Òƶ¯µÄ·½ÏòºÍ¾àÀë¡£

Ô¤Éèf.pushdownϵ½áµ½Í¬Ê±°´ÏÂCONTROLºÍMETA¼ü£¬ÇÒ°´×¡Öа´Å¥¡£ÊÔËü¼¸
´Î£¬Ä㽫·¢ÏÖÄãµÄÊÓ´°ÉÔ΢Òƶ¯ÁËÒ»µã -- push ¹¦ÄܶÔϸ²¿Òƶ¯ÊÓ´°·Ç³£ÓÐÓá£

ÁíÒ»¸ö¹¦ÄÜΪf.moveopaque¡£ËüÒ²Òƶ¯Ò»¸öÊÓ´°£¬µ«²»Ïñf.move£¬Ëü²¢²»»á
¸øÄãÒ»¸öָʾÊÓ´°ÐµÄλÖõķ½¸ñ£¬ÄãÖ±½ÓÍÏקÕû¸öÊÓ´°±¾Éí¡£Õâ¿ÉÒÔÈÃÕû¸öÓ©
Ä»ÇåˬЩ£¬µ«±È½ÏÂý£¬ÇÒÒ»°ãÊÓ´°Òƶ¯Ê±»áÓ涶¯µÄÏÖÏñ¡£

19.2.2 ¶¨ÒåÄã×Ô¼ºµÄÑ¡µ¥

f.menuÊÇÒ»¸ö·Ç³£Ç¿´óµÄuwm µÄ¹¦ÄÜ£ºËüÈÃÄ㶨ÒåÄã×Ô¼ºµÄÑ¡µ¥¡£´ËÑ¡µ¥¿ÉÑ¡
Óõ½uwm ±¾ÉíµÄ¹¦ÄÜ£¬»òÈκεÄshell ÃüÁ»òÒ»¸öÌض¨µÄ¶¯×÷£¬ÏñÊÇÔÚÒ»¸ö
¼ô»º³åÇø²åÈë±¾ÎÄ¡£

ÔÚÄãµÄ½¨¹¹µµÖж¨ÒåÒ»¸öÑ¡µ¥¹²ÓÐÁ½¸ö²½Öè¡£Ê×ÏÈÄ㶨ÒåÑ¡µ¥ÉÏËùÐèµÄ
ϵ½á£¬Æä´ÎÄ㶨ÒåÑ¡µ¥±¾ÉíµÄÄÚÈÝ¡£Ïµ½áµÄ²¿·ÝÏñÎÒÃÇÏÈÇ°ËùÓùýµÄ£¬µ«ÔÚβ
¶ËÔö¼ÓÁËÒ»À¸Ñ¡µ¥Ãû³Æ¡£ÀýÈçWindowOps Ñ¡µ¥ (½åÖøÔÚ±³¾°ÊÓ´°Öа´ÏÂÖа´Å¥
À´ºô½Ð)µÄϵ½áÊÇ£º

f.menu = : root : middle down : "WindowOps"

ÔÚ´Ë£¬Ñ¡µ¥Ãû³Æ¼ÈÊÇÓÃÒÔÏÔʾѡµ¥³öÏÖʱµÄÃû³Æ£¬Ò²Á¬½áµ½½¨¹¹µµÖеÄÑ¡µ¥ÄÚ
Èݹæ¸ñ¡£

Ñ¡µ¥ÄÚÈݵĸñʽºÜ¼òµ¥£º¶Ôÿһ¸öÑ¡ÔñÏ°üº¬ÁËÒ»Áе±Ñ¡ÔñÏî³öÏÖÔÚÑ¡
µ¥µÄ "Ãû³Æ" £¬ºÍµ±Ëü±»Ñ¡Ôñµ½Ê±Ëù×öµÄ¶¯×÷¡£ÈÃÎÒÃǹ۲ìÒ»¸öËõË®µÄWindowOps
¶¨Ò壺

menu = "WindowOps" {
New Window : !"xterm &"
RefreshScreen : f.refresh
Redraw : f.redraw
Move : f.move
}

´ÓÕâÀÎÒÃÇ¿ÉÒÔ¿´µ½ÆäÓ﷨Ϊ£º

menu = "menu name" {
...
selection lines
...
}

Ñ¡µ¥Ãû³ÆºÍϵ½áËùÖ¸¶¨µÄÏàͬ¡£Ñ¡ÔñÏîÁаüº¬ÁËÑ¡ÔñÏîÃû³Æ£¬·Ö¸ôµÄðºÅ£¬ºÍ
¸ºÔðµÄ¶¯×÷¡£ÕâЩ¶¯×÷ΪÏÂÁÐÈýÕßÖ®Ò»£º

1.Ò»¸öuwm µÄ¹¦ÄÜ£ºÖ»Óõ½ËüÃǵÄÃû³Æ£¬ÔÚÉÏÀýΪmoveÄÇÒ»ÁС£

2.Ò»¸öshell ÃüÁÃüÁî°üº¬ÔÚË«ÒýºÅÖмä (ÓÃshell µÄ& Ó﷨ʹÆäÔÚ±³
¾°ÊÓ´°ÖÐÖ´ÐÐ) ÇÒÔÚÇ°Ãæ¼ÓÒ»¸ö¾ªÌ¾ºÅ¡£ÔÚÉÏÀýΪxterm ÄÇÒ»ÁС£ (Èç
¹ûÄãÊ¡& £¬uwm ½«±»ÐüÖà (hang) ÆðÀ´£¬µÈ´ýÃüÁîµÄÍê³É£¬Èç¹û´Ë³Ìʽ
Ϊ£ØµÄÓ¦ÓóÌʽ£¬ËüÐèÒªuwm À´°²ÅÅËüµÄÊÓ´°£¬Õ⽫»áÕÐÖÂÂé·³)¡£

3.Ò»¸ö±¾ÎÄ×Ö´®£ºÕ⽫²åÈëµ½Ò»¸ö "¼ô" µÄ»º³åÇø£¬¶øááÄã¿ÉÒÔÏñƽ³£Ò»
ÑùµÄ "Ìù" Ëü¡£

¶àÖÖµÄÑ¡µ¥Á¬½áµ½Í¬Ò»¸ö¼üϵ½á

ͨ³£Äã¶ÔÒ»¸öÌض¨µÄ¼ü/°´Å¥µÄ×éºÏ£¬Ö»»áϵ½áµ½Ò»¸öÑ¡µ¥£¬µ«Äã¿ÉÒÔ¶Ôͬһ¸ö
ϵ½áÓжàÖÖÑ¡µ¥£ºÈç¹ûÄãÔÚÒ»¸öÑ¡µ¥Öв»Ñ¡ÔñÈκÎÏîÄ¿ÇÒ°ÑÖ¸±êÒƶ¯µ½Ñ¡µ¥µÄ
±ßÉÏ£¬Ä㽫µÃµ½ÏÂÒ»¸öÑ¡µ¥¡£ÄãÒѾ­Êµ¼ÊµØ¿´¹ýÕâÖÖÀý×Ó£ºÔÚͬʱ°´ÏÂMETAºÍ
SHIFT ¼üµÄÇé¿öÏ°´ÏÂÖа´Å¥£¬Äã¿ÉÒԵõ½WindowOps Ñ¡µ¥£¬È»ááÊÇPreferences
Ñ¡µ¥¡£

ϵ½á¶àÖÖÑ¡µ¥·Ç³£µÄÈÝÒ×£¬Ö»ÒªÔÚ¶¨Òåÿһ¸öϵ½áʱµ±×÷ÆäËüµÄϵ½á²¢²»
´æÔÚ£¬¶øÔÚ¶¨ÒåÑ¡µ¥µÄÄÚÈÝʱÓñê×¼µÄ·½Ê½¼´¿É¡£ÀýÈçuwm µÄÔ¤ÉèÉ趨°üº¬ÁË
ϵ½á£º

f.menu = meta shift : : middle down : "WindowOps"
f.menu = meta shift : : middle down : "Preferences"

×¢ÒâÒ»¸öÑ¡µ¥Ö»Äܶ¨ÒåÒ»´Î£¬µ«Äã¿ÉÒÔÓÃËüÀ´×öÈÎÒâ¶à´ÎµÄϵ½á¡£ (²é¿´Ô¤Éè
É趨£¬Ä㽫¿´µ½WindowOps Ñ¡µ¥±»¶¨ÒåÁËÒ»´Îµ«Ê¹Óõ½Á½´Î)¡£

Ö¸¶¨Ñ¡µ¥µÄÑÕÉ«

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 


Äã¿ÉÒÔÖ¸¶¨ÔÚÒ»¸öÑ¡µ¥ÖÐËùÓõÄÉ«²Ê¡£¶ÔÑ¡µ¥Ãû³Æ±êÌ⡢ÿһ¸öÑ¡ÔñÏî¡¢Ö¸±ê
ËùÔڵĸßÁÁ¶ÈÑ¡ÔñÏÄ㶼¿ÉÒÔÖ¸¶¨Ò»¸öÇ°¾°ºÍ±³¾°É«²Ê¡£Ò»¸öÓÐÉ«²ÊµÄÑ¡µ¥
µÄ¸ñʽÈçÏ£º

menu = "menu name" (head-fg : head-bg : hilite-bg : hilite-fg) {
...
selection-name : (item-fg : item-bg) : action
...
}

ÒÔÏÂΪһ¸ö»ìºÏµÄ·¶Àý£¬Ê¹ÄãµÄWindowOps ÄÜÓµÓиü¶àµÄÉ«²Ê£º

menu = "WindowOps" (yellow : blue : red : green) {
New Window : !"xterm &"
RefreshScreen : f.refresh
Redraw : (navy : magenta) : f.redraw
Move : f.move
}

´ËÑ¡µ¥±êÌâΪÀ¶µ×»Æ×Ö£¬´ó¶àÊýµÄÑ¡ÔñÏîΪ°×µ×ºÚ×Ö (Ô¤ÉèÖµ)£¬Ö»ÓÐ "Move"
Ñ¡ÔñÏîΪ×ϺìÉ«µ×º£À¶É«×Ö£¬¶øÄ¿Ç°Ö¸±êËùÔÚµÄÑ¡ÔñÏîΪÂ̵׺ì×Ö¡£

19.2.3 ¿ØÖÆuwm µÄ²ÎÊý±äÊý

µ½Ä¿Ç°ÎªÖ¹£¬Äã¿ÉÒÔÓÃÖ¸¶¨»¬ÊóºÍ¼üµÄÇ°áá¹Øϵ£¬À´¸Ä±äËùÖ¸¶¨µÄ¹¦ÄÜ¡£ÔÚ´Ë
ÓÐÒ»¸öÁíÒ»ÖÖÐÍ̬µÄuwm µÄ¶¨ÖÆ£ºÄã¿ÉÒÔ½å´Ë¸Ä±äÐí¶àÄÚ½¨¹¦ÄܲÙ×÷µÄ×÷·¨ (
mode) ºÍ·ç¸ñ (style)£¬ÀýÈçÄã¿ÉÒÔÖ¸¶¨ÔÚresize»òmove²Ù×÷Ï£¬Ö¸Ê¾ÊÓ´°ÐÂ
µÄλÖõľŹ¬¸ñ£¬¸Ä±äΪֻÊÇÒ»¸öÍâ¿ò¶øÒÑ¡£ÔÚÖ¸ÄÏÒ³ÖÐÓÐÁгöËùÓеıäÊýºÍ
ËüµÄÒâÒ壬ÔÚ´ËÎÒÃÇÖ»ÌáһЩÌرðÓÐÓõģ¬ºÍ½âÊÍһЩ±È½ÏÄ£ºýµÄ¡£

ÈÃÔ¤É轨¹¹µµÖеÄÉ趨ÎÞЧ£ºuwm ²¢Ã»ÓнṹÒÖÖƶÁȡϵͳºÍʹÓÃÕß½¨¹¹
µµ¡£(-b ²»»áÓ°Ïì $HOME/.uwmrc)¡£ÓûÈ¡ÏûÔçÏȵµ°¸ÖеÄÉ趨£¬¿ÉÒÔº¬Èëuwm
µÄ±äÊýresetbinding¡¢resetmenusºÍresetvariables£¬½«»á·Ö±ðµÄÈ¡ÏûÔçÏȶ¨
ÒåµÄϵ½á¡¢Ñ¡µ¥ºÍ±äÊý¡£ (È·¶¨Ä㽫ÕâЩ±äÊý·ÅÔÚµµ°¸µÄ¶¥¶Ë£¬·ñÔòËü½«È¡Ïû
ÔÚµµ°¸ÖÐËùÓÐÔÚËü֮ǰµÄ¶¨Òå)¡£

ÏÞÖÆÊÓ´°ºÍ±íáçͼÔÚÓ©Ä»µÄ·¶Î§ÒÔÄÚ£º£ØÔÊÐíÄãÖ¸¶¨ÄãµÄÊÓ´°Î»ì¶Ó©Ä»µÄ
ÈκÎλÖã¬ÉõÖÁ²¿·Ý»òÈ«²¿ÔÚөĻ֮Í⣬ÕâÑùÓÐʱ»áÒýÆðÂé·³¡£µ±Ä㽨Á¢Ò»¸ö
ÊÓ´°£¬uwm ²¢Î´ÌṩÈκεİïÖú¡£µ«µ±ÄãʹÓÃf.newiconify¶ÔÒ»¸ö±íáçͼ×÷½â
³ý±íáçͼ»¯£¬Èç¹û±äÊýnormalw ±»É趨£¬ÔòÊÓ´°»á±»ÍêÕûµÄ·ÅÔÚÓ©Ä»ÖУ¬ÇÒ¾¡
Á¿½Ó½üÄãÓÃÖ¸±êÖ¸¶¨µÄλÖᣠ(Èç¹ûÄã°üº¬ÁËnormali ±äÊý£¬Í¬Ñù¿ÉÓÃ춱íáç
ͼ)¡£

¿ØÖÆpush×÷ÓãºÔ¤Éèf.pushxxx ¹¦Äܽ«Ò»¸öÊÓ´°ÍùÊʵ±µÄ·½ÏòÍƶ¯Ò»¸öÏñ
ËصľàÀë¡£Äã¿ÉÒÔ½åÖøÖ¸¶¨ push=num À´Íƶ¯num ¸öÏñËØ¡£ÄãÒ²¿ÉÒÔÍêÈ«µØ¸Ä
±ä²Ù×÷µÄ×÷·¨£ºÈ¡´úͨ³£µÄÍƶ¯¹Ì¶¨ÊýÄ¿µÄÏñËصÄ×÷·¨ (½Ð×öpushabsolute)
£¬Äã¿ÉÒÔÖ¸¶¨pushrelative£ºÕâÖÖÇé¿öÊÓ´°»á±»Íƶ¯num ·ÖÖ®Ò»´óСµÄÊÓ´°¡£
ÀýÈçÈç¹ûÄãÖ¸¶¨

push=5
pushrelative

ÔòÒ»¸öf.pushup½«°ÑÊÓ´°ÏòÉÏÍƶ¯ÊÓ´°±¾Éí¸ß¶ÈÎå·ÖÖ®Ò»µÄ¾àÀë¡£

·ÀÖ¹uwm ¹¦ÄÜËø¶¨Ó¦ÓóÌʽ£ºÔ¤ÉèһЩuwm µÄ²Ù×÷£¬ÏñresizeºÍmove»áµ¼
ÖÂËùÓÐÆäËüµÄclientÓ¦ÓóÌʽ±»¶³½á£¬Ò²¾ÍÊÇ˵£¬·ÀÖ¹ËüÃÇÊä³öµ½ËüÃǵÄÊÓ´°
¡£Äã¿ÉÒÔ½åÖøÖ¸¶¨nofreezeÈ¡ÏûËü¡£

Èç¹ûÄãÐèÒª»ñµÃһЩuwm ËùÊô¶ÌÔÝÊÓ´°µÄÊÓ´°ÇãÓ¡£¬ÔòÕâÊDZØÐèµÄ (ÈçÔÚ
ͼ6 - 6 µÄresizeºÐ)¡£ ËüµÄ¸±×÷ÓÃΪµ±Ê¹ÓÃresizeºÍmoveʱ£¬Íâ¿ò¸ñ»á´óÁ¿
µÄÉÁ¶¯£¬ÒÔÖÂÄÑÒÔ¿´µ½¡£

19.3 ½áÂÛ


±¾Õ¸æËßÄãÈçºÎʹÓÃһЩ¸ü¶àµÄuwm µÄ¹¦ÄÜ£¬ÏÖÔÚÄã¶ÔϵͳÓиü¶àµÄ¾­ÑéÇÒ¿É
ÒÔÀûÓÃËüÃÇ¡£ÌرðÊÇ¿´µ½²»ÓÃÔ¤ÉèÑ¡µ¥ÈçºÎ½¨¹¹ÊÓ´°£¬ËüʹÄ㹤×÷µÄ¸üѸËÙ¡£

±¾Õµĵڶþ¸ö²¿·Ý£¬ÁгöÄãÈçºÎÄܶ¨ÖÆuwm £ºÈçºÎ¸½Êôuwm µÄÄÚ½¨¹¦Äܵ½
Ö¸¶¨ÐÞÊμüºÍ»¬Êó¶¯×÷µÄ×éºÏ£¬ÈçºÎ¶¨ÒåÒ»°ãÐÔµÄÑ¡µ¥£¬ÈçºÎʹÓÃuwm µÄ²ÎÊý
±äÊýÐ޸IJÙ×÷µÄ×÷·¨¡£

ÔÚ½áÊø֮ǰ˵һµãÌâÍâ»°£¬uwm ºÍ xterm¡¢xclock¡¢xeditµÈÒ»Ñù£¬Ö»ÊÇserver
µÄÒ»¸öclient³Ìʽ¶øÒÑ¡£ËùÒÔ£¬Ô¶¶ËµØÖ´ÐÐuwm ÊÇ¿ÉÄܵģ¬ÀýÈçÔÚsaturnÖ´ÐÐ
uwm £¬µ«ÊÇÖ¸¶¨ -display venus:0£¬ËùÒÔËüÊÇvenus µÄÊÓ´°¹ÜÀíÆ÷¡£Õâ½âÊÍ
ÁËÍø·ԪËØÉîÖ³ì¶ÏµÍ³£¬ÔÚÒ»°ã¹¤×÷Õ¾£¬ÕâÖ»ÊǺÃÆ棬µ«ÔÚ£ØÖն˻ú (Ëü²»Ìá
¹©Ò»°ãÐÔÄ¿µÄµÄ´¦Àí (processes)) Ëüʵ¼ÊµØÐèÒª¡£

ÎÒÃÇÏÖÔÚ½Ó½üβÉù£ºÄãÒÑÓÐËùÓÐÄãÖ´ÐÐÊÓ´°ÏµÍ³µÄËùÐèµÄ¹¦ÄÜ¡£ÄãÓÐÊÓ´°¹ÜÀí
Æ÷¡¢Ó¦ÓóÌʽ¡¢±ãÀûµÄ¹¤¾ß¡¢ÊÓ´°ÓйصĹ«ÓóÌʽ¡¢´ó·¶Î§µÄÉèÊ©ËùÒÔ¿ÉÒÔÐÞ
¸ÄÒÔÊʺÏÄãµÄÏÔʾÆ÷¡¢ÄãÍø·ÉϵĽ¨¹¹ºÍÄã±È½Ïϲ»¶µÄ¹¤×÷¡£ÏÂÒ»Õ£¬ÎÒÃǽ«
»á°ÑÄ¿Ç°ËùѧµÄ·ÅÔÚÒ»Æ𣬸æËßÄãÈçºÎ¹ÜÀíÄãÍêÕûµÄ¹¤×÷ÖÜÆÚ£¬ÇÒÎÒÃǽ«°üº¬
¶¨Òåuwm Ñ¡µ¥ºÍperferencesµÄʵ¼ÊµÄ·¶Àý¡£

=====

µÚ£²£°Õ ȫ²¿·ÅÔÚÒ»Æð -- xdm

ÏÖÔÚÎÒÃÇÒѺ­¸ÇÁËÄãÐèÒªÓõ½£ØµÄËùÓиö±ðµÄÏîÄ¿£¬ÄãÖªµÀÈçºÎÆô¶¯ÏµÍ³£¬
ÈçºÎÉ趨һ¸öÊÓ´°¹ÜÀíÆ÷µÄÖ´ÐУ¬ÈçºÎÖ´ÐÐÓ¦ÓóÌʽ£¬ÈçºÎ´Ó²»Í¬µÄ½Ç¶È¶¨ÖÆ
ϵͳ£¬×îáᣬÈçºÎÍ˳öϵͳ¡£

±¾ÕÂÖУ¬ÎÒÃÇ°ÑÕâЩ·Ö¿ªµÄ²¿·Ý·ÅÔÚÒ»Æð£¬ÇÒÃèÊöÒ»¸öÍêÕûµÄµµ°¸É趨£¬
ÓÃÀ´¶¨Öƺ­¸ÇËùÓеķ¶Àý¹¦ÄÜϵͳ»úÆ÷»·¾³¡£ÔÚ±¾ÕÂÎÒÃǽ«¿´µ½ÎÒÃÇËùÒª½éÉÜ
¸øÄãµÄ×îááÒ»¸ö£ØµÄ¹¤¾ß£ºÏÔʾ¹ÜÀíÆ÷(display manager) -- xdm£¬ËüÌṩһ
¸ö¾«ÇɺÍÇå³þµÄ·½·¨ÔÚÄãµÄ»úÆ÷ÉÏÆô¶¯£Ø¡£


20.1 ÎÒÃÇÐèÒª×öЩʲ÷á

µ±ÎÒÃÇÆô¶¯Ö®áᣬÎÒÃÇÐèÒª°²ÅÅÓ©Ä»£¬ÈÃһЩÎÒÃÇÔÚÕû¸öÖ´ÐÐÆÚ¼äÖж¼»á
ʹÓõÄÓ¦ÓóÌʽÊʵÃÆäËù£¬ÈÃһЩżȻÓõ½µÄÔòÒÔ±íáçͼΪ¿ªÊ¼Ê±µÄ±íʾ·½Ê½¡£
ÎÒÃÇÐèÒªÖ´ÐÐÊÓ´°¹ÜÀíÆ÷£¬¶ÔijЩÖÖÀàµÄ¹¦ÄÜ×öһЩÉ趨¡£ÏêϸÀ´Ëµ£¬ÎÒÃÇÐè
ÒªÏÂÁеijÌʽ£º

£®Ò»¸öxterm µÄÖ÷¿Ø̨£¬ÔÚÓ©Ä»×óÉϽǡ£

£®uwm ÔÚ±³¾°ÏÂÖ´ÐС£

£®Ò»¸öÎÒÃǵģ¨Õý³££©±à¼­Æ÷µÄÈ«Ó©Ä»xterm ÊÓ´°£¬ÒÔ±íáçͼÆôʼ¡£

£®ÔÚÓÒÉϽÇÒ»¸ö£¨½ÏÒ»°ãΪС£©µÄʱÖÓ¡£

£®xbiff ÔÚʱÖÓ֮ϡ£

£®Ò»¸ö¼ÆËãÆ÷ÔÚÓÒϽǡ£

£®Ò»¸öÓõ½ÎÒÃÇËùÓÐ×îСµÄ×ÖÐ͵ıíáçͼ»¯µÄxterm £¬ËüµÄ¸ß¶ÈΪscreen¸ß¡£

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³ 


£®ÔÚxbiff ֮ϣ¬ÅÅÁÐÎÒÃÇʹÓÃÔ¶·½»úÆ÷µÄƵÂÊͼ¡£

³ýÁ˳Ìʽ֮ÍâµÄÏîÄ¿£º

£®É趨±³¾°ÊÓ´°ÎªÁÁ»ÒÉ«¡£

£®Æô¶¯¼üÅ̵δð(key-click) µÄ¹¦ÄÜ¡£

£®´ÓÎÒÃdz£ÓõÄÍø·Ö÷»ú´æÈ¡µ½ÎÒÃǵÄserver¡£

£®ÔØÈëÎÒÃǶÔËùÓÐclientÓõ½µÄserverÉ趨µÄresource£¬ÔÚ£±£¶ÕÂÎÒÃǶ¨Òå
µÄ$HOME/.Xresources µµ°¸ÖУ¬¸ùÊÓ´°RESOURCE_MANAGERÐÔÖÊÖ®ÉÏ¡£

£®Æô¶¯Ò»¸öscreen saver¡£

²¢ÇÒÎÒÃÇÐèÒªuwm ÓÐÑ¡µ¥ÈÃÎÒÃÇÄܹ»£º

£®ÈÝÒ׵شæÈ¡ÔÚÍø·ÉÏÆäËüµÄÖ÷»ú¡£

£®±ä¸üһЩ¼üÅ̺ͻ¬ÊóµÄÉ趨£¬ÇÒÉ趨±³¾°ÊÓ´°µÄÑÕÉ«¡£

£®Æô¶¯ÄÇЩÎÒÃÇż¶ø»áÓõ½µÄÓ¦ÓóÌʽ¡£

£®Æô¶¯Ò»Ð©±»Ñ¡¶¨µÄʾ·¶³Ìʽ¡£

¶ÔÕâЩÎÒÃÇ×Ô¼ºµÄÉ趨£¬ÔÚÎÒÃÇÍø·ÉÏÆäËüµÄʹÓÃÕßÐèÒª²»Í¬µÄ³õʼÉ趨£¬
ËùÒÔÎÒÃÇÐèÒª°²ÅÅÿһ¸öʹÓÃÕßÒÀËûÃÇ×Ô¼ºµÄϲºÃÉ趨£¬ÀíÏëÉÏ£¬Ê¹ÓÃÕßÓ¦ÄÜ
×ÔÐÐÉ趨¶øÎãÐè½åϵͳ¹ÜÀíÕߵİïÖú£¬ÏÂÒ»½ÚÎÒÃÇÀ´¿´³Ìʽxdm ÈçºÎÄÜ°ïÖúÎÒ
ÃÇ´ï³ÉÕâЩĿµÄ¡£


20.2 xdm -- £ØÏÔʾ¹ÜÀíÆ÷£¨£Ø Display Manager£©µÄ¸Å¹Û

xdm ¹ÜÀíÒ»»ò¶à¸öÏÔʾÆ÷£¬xdm ¿ÉÔÚͬһ»úÆ÷»òÔ¶·½µÄ»úÆ÷ÉÏÖ´ÐС£Ëü¿É
ÒÔ×öµ½ËùÓÐxinit ÄÜ×öµ½µÄ£¬¶øÇÒ¸ü¶à¡£ËüËùÒþº¬µÄ¸ÅÄîΪËüÓ¦¿ØÖƵ±ÄãÔÚ£Ø
¹¤×÷ʱµÄÍêÕûÖÜÆÚ (session)£¬Òâ¼´´ÓÄã½øÈëÖ±µ½½áÊøÊÓ´°ÏµÍ³µÄÖÜÆÚ¡£(ÓÃ
xinit £¬ÓÐЧÖÜÆÚΪµ±ÄãÖ´ÐÐxinit ¿ªÊ¼£¬µ½Äã½áÊø(logout)×î³õµÄxterm
ÊÓ´°ºÍ¹Ø±Õserver¡£)

xdm ½ÏÕâ¸ü½øÒ»²½£ºÄã¿ÉÒÔÓÃËüÖ´ÐÐÒ»¸ö²»È·¶¨µÄÖÜÆÚ¡£µ±Ò»¸ö½áÊø£¬ÏÂ
Ò»¸ö±ã×¼±¸¿ªÊ¼¡£Êµ¼ÊÉÏ£¬Èç¹ûÄãÓÐÐèÒª£¬ËüÈÃÄã²»±äµØÖ¸¶¨Ò»¸öÏÔʾÆ÷¡£

xdm ÍêÈ«È¡´úxinit ¡£´ÓÏÖÔÚÆðÄã¿ÉÍüµôxinit £¬¶øÇÒ²»ÔÙÐèҪʹÓÃËü£¬
ÎÒÃÇÔÚ×î³õʹÓÃxinit µÄÔ­ÒòΪËü½ÏÒ×¹Û²ìºÍÁ˽âϵͳµÄÔË×÷¡£

xdm ÊÇÒ»¸ö·Ç³£Áé»îµÄ³Ìʽ£¬Ä㼸ºõ¿ÉÓÃËü½¨¹¹ÈκÎÄãËùÐèÒªµÄ£¬ÔÚ½øÒ»
²½ÉîÈë֮ǰ£¬ÈÃÎÒÃǹ۲ìÒ»¸ö·¶ÀýÖÜÆÚµÄÔ¤ÉèÐÐΪ£¬È»ááÎÒÃÇÀ´¿´Ò»¿´ÄãÈç
ºÎ¸Ä½øµ±Ò»¸öʹÓÃÕß½øÈë£ØϵͳËù¿´µ½µÄ³õʼ½éÃæ¡£


20.2.1 Ò»¸öÓÃxdm µÄ·¶ÀýÖÜÆÚ

ÎÒÃǽ«Ê¹ÓÃxdm À´É趨ÔÚÎÒÃÇ»úÆ÷ÉÏÖ´Ðеģء£ÄãµÄ»úÆ÷ÒѾ­Æô¶¯£¬µ«ÉÐ
δÓÐÊÓ´°ÏµÍ³ÔÚÆäÉÏÖ´ÐС£ÓÃÏÂÁеÄÃüÁîÆôʼxdm

xdm

xdm ¿ªÊ¼Ö´ÐУ¬Ä㼸ºõÁ¢¿ÌÓÖ¿´µ½ÄãµÄshell Ìáʾ¡£È»ááÓ©Ä»±³¾°±ä¸üΪ
ͨ³£»ÒÉ«ÐÎʽ£¬ÇÒÄã¿´µ½Ò»¸ö´óµÄ£ØÓα꣬ËùÒÔÄãÖªµÀserverÒѾ­Æôʼ¡£

½ÓÏÂÀ´ÊÇÒ»³¤¶ÎÐÞֹ״̬ -- ´óÔ¼½ÓÐø15Ãë»ò¸ü¾Ã -- ¶øááͻȻ¼äÒ»¸ö´ø
Öø»¶Ó­±êÌâµÄÊÓ´°³öÏÖÁË£¬ÒªÇóÄãµÄµÇ¼Ãû³Æ(login name)ºÍÃÜÂë(password)£¬
Èçͼ20-1£¨ÕâÊÇxdm µÄauthentication widget £©¡£ÊäÈëÄãµÄʹÓÃÕßÃû³ÆºÍÃÜ
Â룬ÓÖ¹ýÁËÒ»»á¶ù£¬Äã¿ÉÒÔ¿´µ½Ò»¸öxterm ÊÓ´°ÔÚ×óÉϽdzöÏÖ£¬¾ÍÈçͬͼ5-3
Ò»°ã£¬´ÓÏÖÔÚÆð£¬Ä㹤×÷µÄ·½Ê½ºÍÒÔÇ°Ïàͬ -- Æô¶¯ÄãµÄÊÓ´°¹ÜÀíÆ÷£¬Ö´ÐÐÓ¦
ÓóÌʽµÈµÈ¡£

©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´
©¦ FIG 20.1 P.251 ©¦
©¦ ©¦
©¦ ͼ20-1 xdm µÄ authentication widget ©¦
©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼


µ±ÄãÐèÒª½áÊøʱ£¬ÄãÒ²¿ÉÓÃÏñÒÔÇ°ÏàͬµÄ·½Ê½½áÊø£ºlogout×î³õʼµÄxterm
ÊÓ´°¡£µ«ÕâÀïxdm ºÍxinit Óв»ÏàͬµÄµØ·½£¬´úÖ®¹ØµôserverµÄÊÇ£¬»Øµ½·Ç£Ø
µÄ»·¾³£¬Ó©Ä»»Øµ½×î³õʼ»ÒÉ«µÄ±³¾°£¬¹ýÒ»ÏÂ×ÓÖ®áᣬÄãÓÖÔٶȿ´µ½£ØµÄµÇ¼
ÊÓ´°¡£ÊÂʵÉÏ£¬xdm ÊÇÖ´ÐÐÒ»¸öÑ­»·µÄÖÜÆÚ¡£

×¢Ò⣺¾ÍÏñÐí¶àµÄUnix³Ìʽ£¬×î´óµÄµÇ¼Ãû³Æ³¤¶ÈΪ8 ¸ö×ÖÔª -- Èç¹û³¬
¹ýÕâ¸ö³¤¶È£¬login ½«»áʧ°Ü¡££¨Èç¹ûÄãµÄʵ¼Êlogin ³ÌʽÔÊÐíÄãʹÓýϳ¤µÄ
Ãû³Æ£¬ÕâÖÖÏÞÖÆÒ²ÐíÈÃÄã¸Ðµ½Ææ¹Ö¡££©

¹Ø±Õxdm

ÓÐʱÄã¿ÉÄÜÐèÒªÍêÈ«µØ¹Ø±Õ£Ø¡£ÎªÁË×öµ½Õâµã£¬ÄãÐèÒª¹Ø±Õxdm ¡£

ÔÚMIT °æÖеÄserver£¬»áÒÀÑ­Èç¹ûÊÕµ½UnixѶºÅSIGTERM £¬±ã»áÖ´ÐÐÖÐÖ¹
³ÌÐò¡£xdm ÀûÓõ½Õâµã£ºÈç¹ûÄãË͸øËüÒ»¸öSIGTERM £¬Ëü½«ÖÐÖ¹ËùÓÐËüËù¿ØÖÆ
µÄserverááÀ뿪¡£Õâ¾ÍÊÇÄãÖÐֹϵͳµÄ·½·¨¡£

Óûʵ¼ÊµØÖÐÖ¹xdm £¬¿ÉÒÔÔÚÒ»¸öxterm ÊÓ´°£¨ÔÚÄãµÄ»úÆ÷ÉÏ£©ÓÃpsÀ´ÕÒ³ö
xdm µÄprocess-id£¬¶øááÓÃkillË͸øËüSIGTERM £¨Ä㽫¿´µ½Êý¸öxdm ´¦ÀíµÄÖ´
ÐУºÄǸö×îÄêÇáµÄ±ãÊÇÄãÒªµÄ£¬Ò²¾ÍÊÇ˵£¬×îµÍµÄprocess-id£©¡£ÀýÈ磬ÔÚÎÒ
ÃǵĻúÆ÷ÉÏÖ´ÐÐÖÐÖ¹µÄ¶¯×÷£º

venus% ps ax 1 grep xdm
1997 ? IW 0:00 xdm
1998 ? IW 0:00 xdm
2000 ? IW 0:00 xdm
2078 p0 S 0:00 grep xdm
venus% kill -TERM 1997

ÄãËùÓеÄÓ¦ÓóÌʽ½«±»Ç¿ÆÈÖÐÖ¹£¬serverÒ²ËæÖ®¹Ø±Õ¡£

×¢Ò⣺µ±Ïà¹Ø춣صÄÿһ¼þʶ¼½áÊøáᣬÄãµÄÓ©Ä»¿ÉÄÜÖ»ÏÔʾͨ³££Ø±³¾°
µÄ»ÒÉ«ÐÎʽ£¬Ã»ÓÐÈκεÄshell Ìáʾ»òÈκÎÊ¡£²»Òª±»ÓÞŪÁË£ºÄãµÄshell ÒÑ
×¼±¸ºÃ½ÓÊÜÄãµÄÃüÁî -- °´ÏÂRETURN¼üÄ㽫»á¿´µ½¡££¨ÒòΪÔÚÄãÒÔ½»Ì¸Ê½ÏÂ
xdm ÃüÁîÖ®áᣬshell Òѽ«ÌáʾºÅËͳö£¬ËùÒÔ²»ÔÙÖظ² -- ³ý·ÇÄã°´ÏÂRETURN£©¡£


20.3 ÓйØxdm µÄ¸ü¶à

ÎÒÃÇÔÚÇ°ËùÊöΪxdm µÄÔ¤ÉèģʽµÄ²Ù×÷£¬ËùÒÔ¿´ÆðÀ´²¢Ã»ÓбÈxinit Ìṩ
µÃ¸ü¶à£¬Èç¹ûÄãʹÓÃÒ»¸öÕý³£µÄ¹¤×÷Õ¾»òÏÔʾÆ÷£¬Ò»Ð©Íâò½«²»ÊǺÜÓÐȤ¡£ÎÞ
ÂÛÈçºÎ£¬£ØÖն˻ú(x-terminal)ÊÇÒ»¸öÈÕ½¥Ôö¼ÓµÄ´óÖÚ»¯É豸£¬¶øxdm ¿É´óÁ¿
µØ¼ò»¯¹ÜÀíÀàËƵÄϵͳ¡££ØÖն˻úͨ³£Ã»ÓÐËü×Ô¼ºµÄµµ°¸ÏµÍ³£¬ÇÒ²»ÄÜÖ§Ô®Ò»
°ãÄ¿µÄµÄ³Ìʽ£¬±ØÐèÔÚÍø·µÄij´¦Ö´Ðаüº¬ÊÓ´°¹ÜÀíÆ÷ºÍÏÔʾ¹ÜÀíÆ÷µÄ¿ØÖÆÖÕ
¶Ë»úÈíÌ壬xdm ÕýÊÇ·ûºÏ´ËÐèÒªµÄÈíÌå¡£

xdm ÔÚÏÂÁÐÕâЩ³¡ºÏ½Ïxinit ΪÓÅ£º

£®Ëü¿É¿ØÖÆÊý¸öserver£¬Ò²°µÊ¾Ëµ£¬ÆäÖÐÓÐһЩΪԶ·½µÄserver£¬Ò²ÐíÊÇ
ÔÚ£ØÖն˻ú»òÏ൱СµÄ¹¤×÷Õ¾ÉÏ¡£

£®ËüÌṩÃÜÂëÀ´´æȡϵͳ£¬Í¬ÑùµØ£¬ÔÚ£ØÖն˻úÉϷdz£ÓÐÓ㨵«ÔÚÒ»¸öÄã
ÒѾ­login µÄ¹¤×÷Õ¾»áÓÐÒ»µãÀ§ÈÅ¡££©

£®ËüÌṩÎÞÏÞÆڵģصÄÖÜÆÚ¡£Äã¿ÉÒÔ½¨¹¹ÏÔʾÆ÷¾­³£ÐÔµØÒԣزÙ×÷£¬ËùÒÔ

ÉÏÒ»Ò³ [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ÏÂÒ»Ò³