¸®´ª½º Å°º¸µå, ÄÜ¼Ö ÇÏ¿ìÅõ <author>Andries Brouwer, <tt/aeb@cwi.nl/ <date>v2.8, 25 February 1998 <trans>³ë ÇÑÁø, <tt/ffnhj@mail.hitel.net/ <abstract>ÀÌ ¹®¼­¿¡´Â ¸®´ª½º¿¡¼­ »ç¿ëÇÏ´Â Å°º¸µå¿Í Äֿܼ¡ ´ëÇÑ Á¤º¸¿Í ¾Æ½ºÅ° ÀÌ¿ÜÀÇ ¹®ÀÚ¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÏ¿© ¼³¸íµÇ¾î ÀÖ´Ù. ÀÌ°ÍÀº ¸®´ª½º 2.0¿¡ ´ëÇÏ¿© Àû¿ëµÇ´Â ³»¿ëÀÌ´Ù. <nidx>HOWTOs!keyboard and console</nidx> <nidx>HOWTOs!console and keyboard</nidx> </abstract> <toc> <sect>À¯¿ëÇÑ ÇÁ·Î±×·¥<p> <nidx>programs!keyboard-related</nidx> <nidx>programs!console-related</nidx> <nidx>keyboard!programs related to</nidx> <nidx>console!programs related to</nidx> ¾Æ·¡¿¡ ³ª¿­µÈ ÆÐÅ°Áö´Â Å°º¸µå, Äְܼú °ü°èµÈ ÇÁ·Î±×·¥µéÀÌ´Ù. <p> <tt/kbd-0.95.tar.gz/ contains <tt/loadkeys/, <tt/dumpkeys/, <tt/showkey/, <tt/setmetamode/, <tt/setleds/, <tt/setfont/, <tt/showfont/, <tt/mapscrn/, <tt/kbd_mode/, <tt/loadunimap/, <tt/chvt/, <tt/resizecons/, <tt/deallocvt/, <tt/getkeycodes/, <tt/setkeycodes/. <p> <tt/util-linux-2.6/¿¡´Â <tt/setterm/, <tt/kbdrate/°¡ ÀÖ´Ù. (¾Ë´Ù½ÃÇÇ <tt/util-linux-2.6/¿¡ ÀÖ´Â <tt/more/´Â À̸§ÀÌ Ãæµ¹ÇÏ´Â °ü°è·Î ÄÚ¾î ´ýÇÁÇÑ´Ù. ¿¾ ¹öÀüÀ» º¸Á¸ÇØ µÎ°Å³ª <tt/util-linux-2.5/¸¦ »ç¿ëÇϵçÁö, <tt/more.c/ ³»ÀÇ `savetty'¸¦ `my_savetty'·Î ¹Ù²Ù¸é µÈ´Ù..) <p> <tt/sh-utils-1.12/¿¡´Â <tt/stty/°¡ ÀÖ´Ù. <p> <tt/open-1.4.tgz/¿¡´Â <tt/open/ÀÌ ÀÖ´Ù. (ÀÌ°ÍÀº <tt/openvt/·Î À̸§À» ¹Ù²Ù¾î¾ß ÇÑ´Ù). (<tt/dynamic-vc-1.1.tar.gz/¸¦ ÂüÁ¶ÇÒ °Í.) <tt/SVGATextMode-1.8.tar.gz/¿¡´Â <tt/SVGATextMode/°¡ Àִµ¥ ÇöÀç´Â ÀÌ°ÍÀÌ <tt/resizecons/¸¦ ´ë½ÅÇÑ´Ù. X ¹èÆ÷º»¿¡´Â <tt/xmodmap/, <tt/xset/, <tt/kbd_mode/°¡ ÀÖ´Ù. (XFree86 1.3¿¡¼­ »ý±â´Â ÀÏÀº X386keybd(1)¸¦ ÂüÁ¶ÇÏ°í X11R6ÀÇ XKEYBORAD extension¿¡ ´ëÇؼ­´Â Xserver(1)¸¦ º¼ °Í.) <tt/termcap-2.0.8.tar.gz/¿¡´Â <tt/termcap/ÀÌ Àִµ¥, ÀÌ°ÍÀº ±¸Çü Å͹̳Π»ç¿ëÀ» À§ÇÑ µ¥ÀÌŸº£À̽ºÀÌ´Ù. <tt/ncurses-1.9.9e.tar.gz/¿¡´Â <tt/termlib/¶ó´Â µ¥ÀÌŸº£À̽º°¡ Àִµ¥ ÀÌ°ÍÀº ¿¾³¯ ¾²ÀÌ´ø <tt/termcap/À» ´ë½ÅÇÑ´Ù. (ÇÏÁö¸¸ ¾ÆÁ÷µµ <tt/termcap/À» ¾²´Â ¸¹Àº ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù.) X ȯ°æÀÌ ¾Æ´Ñ »óÅ¿¡¼­ Å°º¸µåÀÇ È¯°æ ¼³Á¤°ú Å°¸¦ ´©¸¦ ¶§ ¹ß»ýÇÏ´Â Äڵ忡 ´ëÇؼ­´Â loadkeys(1), setleds(1), setmetamode(1)¸¦ ÂüÁ¶ÇÒ °Í. X ȯ°æ¿¡¼­´Â xmodmap(1), xset(1)¸¦ ÂüÁ¶Ç϶ó. ÄÜ¼Ö ÆùÆ® ·Îµù¿¡ ´ëÇؼ­´Â setfont(8)¸¦ ÂüÁ¶Ç϶ó. ¸®´ª½º¿¡¼­ µðÆúÆ® ÆùÆ®´Â ºñµð¿À Ä«µå¿¡ ÀÖ´Â Çϵå¿þ¾î ÆùÆ®ÀÌ°í, Á¾Á¾ ¾×¼¾Æ® ±âÈ£³ª Latin-1 ±âÈ£°¡ ¾ø´Â `Code Page 437'·Î ¼³Á¤µÇ¾î À־ <tt/iso01.f16/ °°Àº ÆùÆ®¸¦ ·ÎµùÇÏ°í ½Í¾îÇÏ´Â »ç¶÷µéÀÌ ¸¹´Ù. X ȯ°æÀÌ ¾Æ´Ñ °÷¿¡¼­ ±ÛÀÚ»öÀ̳ª ¹è°æ»ö, ½ºÅ©¸° Á¤¸®, ±ÛÀÚ °»½ÅÀ² µî°ú °°Àº ¼Ó¼º¿¡ ´ëÇؼ­´Â setterm(1), kbdrate(8)¸¦ ÂüÁ¶ÇÏ¸é µÈ´Ù. X ȯ°æ¿¡¼­´Â xset(1)¸¦ ÂüÁ¶Ç϶ó. ¿©±â¿¡´Â Å° Ŭ¸¯°ú º§¼Ò¸® Å©±â¿¡ ´ëÇÑ Á¤º¸µµ ÀÖ´Ù. <tt>/etc/termcap</tt> È­ÀÏ¿¡´Â ÄܼÖ(¶Ç´Â Å͹̳Πµî)¿¡ ÀÔÃâ·ÂÀ» ÇÏ´Â ¸¹Àº ÇÁ·Î±×·¥µéÀÌ »ç¿ëÇÏ´Â À̽ºÄÉÀÌÇÁ ½ÃÄö½º°¡ Á¤ÀǵǾî ÀÖ´Ù. termcap(5)À» ÂüÁ¶Ç϶ó. <tt>/usr/lib/terminfo</tt>¿¡ Á» ´õ ÃÖ½ÅÀÇ ¹öÀüÀÌ ÀÖ´Ù. terminfo(5)¸¦ ±ÇÇÑ´Ù. Terminfo ÆÄÀϵéÀº terminfo ÄÄÆÄÀÏ·¯ÀÎ <tt>/usr/lib/terminfo/tic</tt>À¸·Î ÄÄÆÄÀϵȴÙ, tic(1)À» ÂüÁ¶Ç϶ó. ±× ³»¿ëÀº <tt/infocmp/ ÇÁ·Î±×·¥À¸·Î °Ë»çÇÒ ¼ö ÀÖÀ¸´Ï, infocmp(1)¸¦ º¼ °Í. ¸®´ª½º ÄÜ¼Ö ½ÃÄö½º´Â console_codes(4)¿¡ ¹®¼­È­µÇ¾î ÀÖ´Ù. <sect>Å°º¸µå °³¿ä<p> <nidx>keyboard!theory of operation</nidx> »ç¿ëÀÚ°¡ Å°º¸µå¸¦ ´©¸£¸é Å°º¸µå ÄÜÆ®·Ñ·¯´Â Ä¿³Î Å°º¸µå µå¶óÀ̹ö·Î ½ºÄµÄڵ带 º¸³»°Ô µÈ´Ù. Äڵ尪À» ¹Ù²Ü ¼ö ÀÖ´Â Å°º¸µåµµ ÀÖÁö¸¸ º¸ÅëÀº °¢ Å°¿¡ °íÁ¤µÇ¾î ÇÒ´çµÈ ½ºÄµÄڵ尡 ÀÖ´Ù. <tt/X/°¡ ½ÇÇàµÇ¾î ÀÖ´Â °æ¿ìó·³ ½Ã½ºÅÛÀÌ <em>½ºÄµ¸ðµå</em>¿¡ ÀÖÀ» ¶§´Â Ä¿³Î Å°º¸µå µå¶óÀ̹ö°¡ ÇÏ´Â ÀÏÀ̶ó°ï ±×³É ½ºÄµÄڵ带 Àü´Þ¹Þ¾Æ ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥¿¡ Àü´ÞÇØÁÖ´Â °Í »ÓÀÌ´Ù. ½ºÄµ¸ðµå°¡ ¾Æ´Ñ °æ¿ì¿¡´Â Å°°¡ ´­¸®°Å³ª Ç®¸®´Â °¢°¢ÀÇ À̺¥Æ®¿¡ µû¶ó ½ºÅÄÄÚµåÀÇ Á¶ÇÕÀ» ºÐ¼®ÇÏ¿© Å°Äڵ带 ¸¸µç´Ù. (ÇϳªÀÇ Å°°¡ ´­·Áµµ ÃÖ´ë 6°³ÀÇ ½ºÄµÄڵ尡 ¹ß»ýÇÒ ¼ö ÀÖ´Ù.) ÀÌ·¸°Ô ¸¸µé¾îÁø Å°Äڵ尡 (¿¹¸¦ µé¾î <tt/showkey/¿Í °°Àº ÇÁ·Î±×·¥¿¡¼­ »ç¿ëµÇ´Â) <em>Å°ÄÚµå ¸ðµå</em>¿¡¼­´Â ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥¿¡ Àü´ÞµÈ´Ù. Å°ÄÚµå ¸ðµåµµ ¾Æ´Ñ °æ¿ì¿¡´Â ÀÌ Å°Äڵ带 keymap¿¡¼­ ã¾Æº¸°í, ¿©±â¼­ ¹ß°ßµÈ ¹®ÀÚ³ª ¹®ÀÚ¿­À» ¾îÇø®ÄÉÀ̼ǿ¡ Àü´ÞÇϰųª ÇØ´çµÇ´Â µ¿ÀÛÀ» ¼öÇàÇÑ´Ù. (¿¹¸¦ µé¾îº¸ÀÚ. <tt/a/ Å°¸¦ ´­·¶´Ù ¶¼¸é Å°º¸µå´Â ½ºÄµÄÚµå 0x1e¿Í 0x9e¸¦ ¹ß»ý½ÃŲ´Ù. ÀÌ°ÍÀº Å°ÄÚµå 30°ú 158·Î º¯È¯µÇ¾î ¾Æ½ºÅ° ÄÚµå Áï, latin-1 ÄÚµå `a'¿¡ ÇØ´çÇÏ´Â 0141·Î Àü´ÞµÈ´Ù. <tt/Delete/Å°ÀÇ °æ¿ì¿¡´Â ½ºÄµÄÚµå 0xe0 0x53 0xe0 0xd3°¡ ¹ß»ýÇÏ°í ÀÌ°ÍÀº Å°ÄÚµå 111°ú 239·Î º¯È¯µÇ¾î 4-½Éº¼ ½ÃÄö½ºÀÎ ESC [ 3 &tilde·Î Àü´ÞµÈ´Ù. ¹°·Ð ÀÌ°ÍÀº US Å°º¸µå¿¡ µðÆúÆ® Å°¸ÊÀÇ °æ¿ì¿¡ ÇØ´çµÇ´Â À̾߱â´Ù. ÇϳªÀÇ µ¿ÀÛ¿¡ ´ëÀÀÇÏ´Â Å° Á¶ÇÕÀÇ ¿¹·Î´Â Ctrl-Alt-DelÀÌ ÀÖ´Ù.) <P> ½ºÄµÄÚµå¿Í Å°Äڵ尣ÀÇ º¯È¯Àº <tt/setkeycodes/ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¾Æ¸¶µµ ÀÌ ±â´ÉÀÌ ÇÊ¿äÇÑ »ç¶÷Àº ±ØÈ÷ µå¹° °ÍÀÌ´Ù. Å°Äڵ带 ¹®ÀÚ, ¹®ÀÚ¿­, µ¿ÀÛ µî Å°¸ÊÀ¸·Î º¯È¯ÇÏ´Â °ÍÀº <tt/loadkeys/¿Í <tt/setmetamode/ À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1), setmetamode(1)¸¦ ÂüÁ¶ÇÒ °Í. <tt/dumpkeys/ÀÇ È­ÀÏ Ãâ·Â Çü½Ä°ú <tt/loadkeys/¸¦ »ç¿ëÇÑ È­ÀÏ Àбâ´Â keytables(5)¿¡ ¼³¸íµÇ¾î ÀÖ´Ù. <P> À§¿¡¼­ `¾îÇø®ÄÉÀ̼ÇÀ¸·Î º¸³½´Ù'¶ó°í ¸»ÇÑ °ÍÀÇ Á¤È®ÇÑ Àǹ̴ Å͹̳Πµå¶óÀ̹ö·Î º¸³½´Ù´Â ¶æÀÌ´Ù. Áï, ÀÌ ÀÌÈÄÀÇ Ã³¸® °úÁ¤Àº ½Ã¸®¾ó ¶óÀÎÀ» ÅëÇØ ¿À°¡´Â ÅؽºÆ®¿Í ¶È°°´Ù. ÀÌ Ã³¸® °úÁ¤¿¡ ´ëÇÑ ¼¼ºÎ »çÇ×Àº <tt/stty/ ÇÁ·Î±×·¥À¸·Î ¼³Á¤ÇÑ´Ù. <sect>ÄÜ¼Ö °³¿ä<p> <nidx>console!theory of operation</nidx> Áö±Ý±îÁö¿Í´Â ¹Ý´ëÀÇ À̾߱â·Î, »ç¿ëÀÚ°¡ ÄַܼΠ¹º°¡¸¦ º¸³»¸é, ±×°ÍÀº ¿ì¼± Ç¥ÁØ tty 󸮸¦ °ÅÃļ­ ÄÜ¼Ö µå¶óÀ̹ö·Î ³Ñ°ÜÁø´Ù. ÄÜ¼Ö µå¶óÀ̹ö´Â VT100À» Èä³»³»¾î (Ä¿¼­ À̵¿À̳ª ½ºÅ©¸° Á¤¸®¿Í °°Àº) VT100 À̽ºÄÉÀÌÇÁ ½ÃÄö½º¸¦ ÀνÄÇÒ ¼ö ÀÖµµ·Ï ºÐ¼®(parse)ÇÑ´Ù. À̽ºÄÉÀÌÇÁ ½ÃÄö½º¿¡ ÇØ´çÇÏÁö ¾Ê´Â ¹®ÀÚµéÀº ÄܼÖÀÌ UTF-8 ¸ðµå°¡ ¾Æ´ÑÇÑ, ³×°³ÀÇ ¸Ê Å×À̺íÁß Çϳª¸¦ »ç¿ëÇÏ¿© Á¦ÀÏ ¸ÕÀú À¯´ÏÄÚµå·Î º¯È¯µÈ´Ù. ±× ÈÄ À¯´ÏÄÚµå °ª°ú ÆùÆ® À§Ä¡°£ÀÇ ´ëÀÀ°ü°è°¡ ÀûÇôÀÖ´Â Å×ÀÌºí¿¡¼­ ã¾Æ ¾ò¾îÁø 8- ¶Ç´Â 9-ºñÆ® ÆùÆ® À妽º¸¦ ºñµð¿À ¸Þ¸ð¸®¿¡ ¾²°Ô µÇ´Âµ¥, ÀÌ °úÁ¤ÀÌ ºñµð¿À Ä«µåÀÇ ¹®ÀÚ ROM¿¡ ÀÖ´Â ¹®ÀÚÀÇ ¸ð¾çÀ» Ç¥½ÃÇÏ°Ô ÇÑ´Ù. <tt/setfont/¸¦ »ç¿ëÇÏ¸é »ç¿ëÀÚ ÀÔ¸À¿¡ ¸Â´Â ÆùÆ®¸¦ ¹®ÀÚ ROM¿¡ ·ÎµåÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ <tt/loadunimap/À¸·Î´Â ÇØ´çÇÏ´Â À¯´ÏÄÚµå ¸ÊÀ» ·ÎµåÇÏ°í, <tt/mapscrn/À¸·Î´Â »ç¿ëÀÚ ¸Ê Å×À̺íÀ» ·ÎµåÇÒ ¼ö ÀÖ´Ù. ÀÚ¼¼ÇÑ À̾߱â´Â µÚ¿¡ ³ª¿Â´Ù. ¸®´ª½º¿¡´Â µ¿ÀÏÇÑ ½ºÅ©¸°À» »ç¿ëÇÏ´Â ¿©·¯°³ÀÇ ÄܼÖÀ» Á¦°øÇÑ´Ù. (º¸Åë <it/°¡»ó ÄܼÖ/ ¶Ç´Â <it/°¡»ó Å͹̳Î/À̶ó°í ºÎ¸¥´Ù. ¾à¾î·Î VC ¶Ç´Â VT.) »ç¿ëÀÚ´Â ÀÌ°ÍÀ» µ¶¸³ÀûÀÎ ·Î±×ÀÎ ¼¼¼Ç, ½Ã½ºÅÛ ·Î±× »óȲÀ» º¸´Â <tt/top/°°Àº ÇÁ·Î±×·¥ÀÌ º¸³»´Â ¿©·¯°¡Áö Ãâ·ÂÀ» º¸³»´Â µî µ¶¸³ÀûÀÎ µð¹ÙÀ̽º·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °¡»ó ÄܼÖÀ» »ç¿ëÇÏ´Â ¹æ¹ý°ú °¡»ó Äְܼ£ À̵¿¿¡ ´ëÇؼ­´Â ¾Æ·¡ `Äְܼ£ À̵¿'À» ÂüÁ¶Ç϶ó. <sect>Å͹̳ΠÀç¼³Á¤<p> <nidx>terminal!resetting</nidx> <nidx>screen!clearing</nidx> <nidx>console!clearing</nidx> È­¸é¿¡ ÀÌ»óÇÑ ¹®ÀÚµéÀÌ °¡µæ Â÷°Å³ª Å°º¸µå¸¦ µÎµå·Áµµ ÀÌ»óÇÑ ¼±¹®ÀÚµéÀÌ Ãâ·ÂµÈ´Ù¸é ¾î¶»°Ô ÇØ¾ß Çϳª? ´ëºÎºÐÀÇ ÇÁ·Î±×·¥¿¡¼­ ˆLÀ» ´©¸£¸é È­¸éÀ» ´Ù½Ã ±×¸°´Ù. ¸ðµ©ÀÇ ÀâÀ½À̳ª À½¼º ¸Þ½ÃÁö°¡ È­¸é¿¡ »Ñ·ÁÁú ¶§ ÀÌ ±â´ÉÀÌ Á¦¹ý À¯¿ëÇÏ´Ù. <tt/clear/ ¸í·ÉÀº È­¸éÀ» ±ú²ýÀÌ Ã»¼ÒÇÑ´Ù. <tt/reset/ ¸í·ÉÀº ÄÜ¼Ö µå¶óÀ̹ö¸¦ Àç¼³Á¤ÇÑ´Ù. ÀÌ ¸í·ÉÀº È­¸éÀÌ ÀÌ»óÇÑ ±×¸² ¹®ÀÚ·Î °¡µæ Â÷°Å³ª È­¸éÀÇ ¶óÀÎ ¼ö°¡ ÁÙ¾îµé¾úÀ» ¶§ ¾ÆÁÖ À¯¿ëÇÏ´Ù. ½Ã½ºÅÛ¿¡ ÀÌ ¸í·É¾î°¡ ¾ø°Å³ª ¸í·ÉÀ» ³»·Áµµ ¹º°¡ ´Ù¸¥ µ¿ÀÛÀ» ¼öÇàÇÑ´Ù¸é PATH°¡ °É·ÁÀÖ´Â µð·ºÅ丮¿¡ ¾Æ·¡¿Í °°Àº ³»¿ëÀ¸·Î ½ÇÇàÈ­ÀÏÀ» ¸¸µé¾î »ç¿ëÇÏ¸é µÈ´Ù. <tscreen><verb> #!/bin/sh echo -e \\033c </verb></tscreen> µ¿ÀÛ ³»¿ëÀº Äֿܼ¡ ESC c ¹®ÀÚ¸¦ º¸³»´Â °ÍÀÌ´Ù. ¾î°¼­ È­¸éÀÌ ¶§¶§·Î ¸ÀÀÌ °¡¼­ 25ÁÙÀÌ ¾Æ´Ï¶ó 24ÁÙÂ¥¸® ¶Ç´Â 1ÁÙÂ¥¸® È­¸éÀ¸·Î µÇ´Â°¡? ÀÌ ¹®Á¦ÀÇ ÁÖ¹üÀº ¿ø°ÝÀ¸·Î ·Î±×ÇÒ ¶§ <tt/TERM=linux/¸¦ »ç¿ëÇÏÁö ¾Ê°í <tt/TERM=vt100/(¶Ç´Â ÀÌ¿Í ºñ½ÁÇÑ 24ÁÙÂ¥¸® Å͹̳Î)À» »ç¿ëÇϱ⠶§¹®ÀÌ´Ù. ÀÌ ¹®Á¦°¡ <tt>/dev/tty2</tt>¿¡¼­ ¹ß»ýÇß´Ù¸é ´Ù¸¥ VT¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ¸é µÈ´Ù. <tscreen><verb> % cat > /dev/tty2 ^[c ^D </verb></tscreen> (ÀÌ ³»¿ëÀº <tt/cat/¿¡ 4 ½Éº¼ÀÎ ESC, c, ENTER, Ctrl-D¸¦ ´©¸£´Â °ÍÀ» ÀǹÌÇÑ´Ù.) ±× ÈÄ¿¡ <tt>/dev/tty2</tt>¿¡¼­ (ˆLÀ» ´­·¯) È­¸éÀ» Á¤¸®ÇÏ¸é ¹®Á¦°¡ ÇØ°áµÉ °ÍÀÌ´Ù. ¹°·Ð ±Ùº»ÀûÀÎ ÇØ°á¹ýÀº ¿Ã¹Ù¸¥ termcapÀ̳ª terminfo¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¿Ö È­¸é¿¡ ¹ÙÀ̳ʸ® È­ÀÏÀ» (cat µîÀ» »ç¿ëÇؼ­) »Ñ¸®¸é ÀÌ»óÇÑ ¼±¹®ÀÚµéÀÌ ³ªÅ¸³ª´Â°¡? ±×°ÍÀº À̽ºÄÉÀÌÇÁ ½ÃÄö½º¸¦ ¹Ù²Ù´Â ¹®ÀÚµéÀÌ ¸î°¡Áö Àִµ¥, ¿ì¿¬È÷ ¹ÙÀ̳ʸ®¿¡ ±×·± ½ÃÄö½º°¡ Æ÷ÇԵǾî ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. ESC c´Â ¸ðµç °æ¿ì¿¡ ÇØ°áÃ¥ÀÌ µÇ´Â ÀϹÝÀûÀÎ Àç¼³Á¤ ½ÃÄö½ºÀÌ´Ù. ÇÏÁö¸¸ À߸øµÈ °ÍÀÌ ¾î¶² °ÍÀÎÁö Á¤È®È÷ ¾Ë°í ÀÖ´Â °æ¿ì¿¡´Â ´Ù¸¥ ÄÜ¼Ö Æ¯¼º±îÁö Àç¼³Á¤ÇÏÁö ¾Ê°íµµ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î º¸ÀÚ. ¾Æ·¡¿Í °°ÀÌ <tscreen><verb> % cat ^N ^D </verb></tscreen> ÀÔ·ÂÇÏ¸é ¼¿ ÇÁ·ÒÇÁÆ®´Â ¿ÂÅë ¼±¹®ÀڷΠǥ½ÃµÉ °ÍÀÌ´Ù. ÀÌÁ¦ (¹ºÁö ¾Ë ¼ö ¾ø´Â »óÅ¿¡¼­¶óµµ) <tscreen><verb> % cat ^O ^D </verb></tscreen> ¶ó°í Ä¡¸é ¸ðµç °ÍÀÌ ¿ø·¡´ë·Î µ¹¾Æ¿Ã °ÍÀÌ´Ù. (3°³ÀÇ ½Éº¼ ˆN (¶Ç´Â ˆO), ENTER, Ctrl-D°¡ <tt/cat/À» »ç¿ëÇÏ¿© º¸³»Á³´Ù.) ÀÌ ³»ºÎ »çÁ¤À» ÀÌÇØÇÏ°í ½ÍÀ¸¸é ¾Æ·¡ `ÄÜ¼Ö ¹®ÀÚ¼Â'À» ÀÐ¾î º¸¶ó. ÀÌ»óÇÑ ÆùÆ®°¡ ·ÎµåµÇ¾î µðÆúÆ® °ªÀ¸·Î µ¹¾Æ°¡°í ½ÍÀ¸¸é <tscreen><verb> % setfont </verb></tscreen> ¶ó°í ÇÏ¸é µÈ´Ù. (ÀÌ°ÍÀº µðÆúÆ® Àå¼Ò¿¡ µðÆúÆ® ÆùÆ®°¡ ÀúÀåµÇ¾î ÀÖÀ» °æ¿ì¿¡¸¸ È¿·ÂÀÌ ÀÖ´Ù.) ÀÌ µðÆúÆ® ÆùÆ®¿¡ À¯´ÏÄÚµå ¸ÊÀÌ µé¾îÀÖÁö ¾Ê´Ù¸é (±×·¡¼­ ¾×»÷Æ®°¡ ÀÖ´Â ¹®ÀÚ¿¡ À߸øµÈ ½Éº¼À» Áشٸé) <tscreen><verb> % loadunimap </verb></tscreen> ¶ó°í ÇÏ¸é µÈ´Ù. ¿¹¸¦ µé¾î <tscreen><verb> % loadkeys de-latin1 </verb></tscreen> ¶ó°í Ä¡¸é, German Å°º¸µå°¡ µÇ´Âµ¥, ÀÌ Å°º¸µå¿¡¼­´Â Enter Å°ÀÇ ¿ÞÂÊ¿¡ ÀÖ´Â Å°´Â a-¿ò¶ó¿ìÆ®¿¡ ÇØ´çÇÑ´Ù. a-¿ò¶ó¿ìÆ®´Â CP437 ÄÚµå ÆäÀÌÁö¿¡¼­ ¹ß»ýÇÏ°í ºñµð¿À Ä«µå¿¡ ³»ÀåµÈ CP437 ÆùÆ®°¡ ÀÖ´Ù¸é ÀÛµ¿À» ÇÒ °ÍÀÌ´Ù. ´Ù¸¥ ¿¹·Î ¸¸¾à <tscreen><verb> % setfont iso01.f16 </verb></tscreen> ¶ó°í Çؼ­ ISO 8859-1 ÆùÆ®¸¦ ·ÎµåÇϸé, (ÆùÆ®¿¡ ºÙ¾îÀÖ´Â À¯´ÏÄÚµå ¸ÊÀÌ ¾ø´Ù¸é) <tt/setfont/´Â Ä¿³Î À¯´ÏÄÚµå ¸ÊÀ» ¹«È¿È­½ÃÅ°°í, ¸Ê ¾øÀÌ Ä¿³ÎÀº ¹Ù·Î ÆùÆ®·Î °¡°Ô µÇ¾î <tt/sio01.f16/ ÆùÆ®¸¦ °¡Áø ISO 8859-1 ½Ã½ºÅÛ¿¡ ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÏ°Ô µÈ´Ù. ÇÏÁö¸¸ <tscreen><verb> % setfont </verb></tscreen> ¸í·ÉÀ¸·Î ÀÌÀü ÆùÆ®·Î µ¹¾Æ°¡¸é a-¿ò¶ó¿ìÆ® ´ë½Å¿¡ ´ë¹®ÀÚ ½Ã±×¸¶°¡ ³ªÅ¸³­´Ù. ÀÌ ÆùÆ®¿¡´Â À¯´ÏÄÚµå ¸ÊÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê¾Æ ¸ðµç ¾×¼¾Æ® ¹®ÀÚ°¡ ¼¯À̱⠶§¹®ÀÌ´Ù. <tscreen><verb> % loadunimap </verb></tscreen> À¸·Î µðÆúÆ® À¯´ÏÄÚµå ¸ÊÀ» ·ÎµåÇϸé (ÀÌ°ÍÀº µðÆúÆ® ÆùÆ®·Î Àû´çÇѵ¥) ¸ðµç °ÍÀÌ ´Ù½Ã Àß µÉ °ÍÀÌ´Ù. ´ë°³ÀÇ °æ¿ì, <tt/loadunimap/Àº Á÷Á¢ È£ÃâµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó <tt/setfont/¸¦ ÅëÇÏ¿© È£ÃâµÈ´Ù. µû¶ó¼­ ÀÌÀüÀÇ µÎ ¸í·ÉÀº ´ÙÀ½°ú °°ÀÌ <tscreen><verb> % setfont -u def </verb></tscreen> ·Î Çصµ µÈ´Ù. Ethiopian ÆùÆ®¿Í <tt/lat1u*.psf/ ÆùÆ®¿¡´Â À¯´ÏÄÚµå ÄÚµå ¸ÊÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ÇÏÁö¸¸ ´ëºÎºÐÀÇ ´Ù¸¥ ÆùÆ®¿¡´Â ÀÌ°ÍÀÌ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. ±¸Çü Å͹̳ο¡¼­´Â ÅÇ°ú °ü°èµÈ Ãâ·ÂÀº ¾à°£ÀÇ ½Ã°£ Áö¿¬ÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ °æ¿ì <tscreen><verb> % stty tab3 </verb></tscreen> ¶ó°í ÇÏ¸é µÈ´Ù. (stty(1) ÂüÁ¶) <tt/resizecons/³ª <tt/SVGATextMode/¸¦ »ç¿ëÇÏ¸é ºñµð¿À ¸ðµå¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù. ÀÌ°ÍÀº º¸Åë Ãâ·ÂÂÊÀ» ¼³Á¤ÇÑ´Ù. ÀÔ·ÂÂÊÀº À߸øµÉ °¡´É¼ºÀÌ ÀÖ´Â °æ¿ì°¡ ¸¹´Ù. <tt/X/³ª <tt/DOOM/ ¶Ç´Â raw ¸ðµå¸¦ »ç¿ëÇÏ´Â ¿©·¯ ÇÁ·Î±×·¥ÀÌ ´Ù¿îµÇ¸é Å°º¸µå´Â °è¼ÓÇؼ­ raw ¸ðµå (¶Ç´Â ÁØ raw ¸ðµå) »óÅ¿¡ ÀÖ°Ô µÈ´Ù. ÀÌ °æ¿ì ¸í·ÉÀ» ½Ã½ºÅÛ¿¡ ³»¸®±â°¡ °ï¶õÇØÁø´Ù. (¾Æ·¡ `raw ¸ðµå¿¡¼­ ºüÁ®³ª°¡´Â ¹ý' ÂüÁ¶) ºÎÀûÀýÇÑ Å°¸ÊÀÌ ·ÎµåµÇ¾ú´Ù¸é <tscreen><verb> % loadkeys -d </verb></tscreen> ·Î ´Ù½Ã µðÆúÆ® ¸ÊÀ» ·ÎµåÇÏ¸é µÈ´Ù. ÇÏÁö¸¸ ¾Æ¸¶µµ `-'¸¦ ÃÄ ³Ö±â°¡ ¾î·Á¿ï °ÍÀÌ´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î <tscreen><verb> % loadkeys defkeymap </verb></tscreen> ¶ó°í ÀÔ·ÂÇÏ¸é µÈ´Ù. ¶§¶§·Î ±ÛÀÚ ¹è¿­ÀÌ µÚ¹Ù²î´Â °æ¿ìµµ ÀÖ´Ù. ¾ËÆĺª±Ç Áö¿ª¿¡¼­´Â Å©°Ô ³× Á¾·ùÀÇ ÀÚÆǹ迭ÀÌ ÀÖ´Ù : QWERTY, QWERTZ, AZERTY, DVORAK. ¾ÕÀÇ ¼¼°¡Áö´Â ÀÚÆÇ ¹è¿­ÀÇ Ã¹ ¿©¼¸ ±ÛÀÚ¸¦ µû¼­ ºÙÀÎ À̸§ÀÌ°í ´ëÃæ ¸»Çؼ­ °¢°¢ ¿µ¾î, µ¶ÀϾî, ÇÁ¶û½º¾î±Ç ¹è¿­À» ³ªÅ¸³½´Ù°í º¸¸é µÈ´Ù. QWERTY¿Í ºñ±³ÇØ º¸¸é, QWERTZ´Â Y¿Í Z°¡ ¹Ù²î¾îÀÖ°í, AZERTY´Â Q¿Í A, W¿Í Z°¡ ¹Ù²î¾î ÀÖ°í, MÀÌ L ¿À¸¥ÂÊ(¼¼¹ÌÄÝ·Ð ÀÚ¸®)¿¡ ÀÖ´Ù. DVORAKÀº ¿ÏÀüÈ÷ ´Ù¸¥ ÀÚÆÇ ¹è¿­ÀÌ´Ù. <sect1>Å°º¸µå Çϵå¿þ¾î Àç¼³Á¤<p> <nidx>keyboard!resetting</nidx> ¹º°¡°¡ À߸øµÇ´Â °æ¿ì´Â ´ë°Ô ¸®´ª½º°¡ ¾Ë°í ÀÖ´Â °Íº¸´Ù ´õ ³·Àº ·¹º§¿¡¼­ ÀÛ¾÷À» ÇÒ °æ¿ìÀÌ´Ù. Àû¾îµµ µÎ °³ÀÇ (Å°º¸µå¿Í Å°º¸µå ÄÜÆ®·Ñ·¯) Àú¼öÁØÀÌ Á¸ÀçÇϴµ¥, ÀÌ ¼öÁØ¿¡¼­ »ç¿ëÀÚ´Â "keyboard disable" ¸í·ÉÀ» Å°º¸µå Çϵå¿þ¾î¿¡ ³»¸± ¼ö ÀÖ´Ù. ¾î¶² Å°º¸µå´Â ¼¼°¡Áö Á¾·ùÀÇ ½ºÄµÄÚµåÁß Çϳª¸¦ °í¸¦ ¼ö ÀÖµµ·Ï ÇÁ·Î±×·¥µÈ °Íµµ ÀÖ´Ù. <p> ÇÏÁö¸¸ ÀÌ°ÍÀÌ ¹®Á¦°¡ µÈ °æ¿ì¿¡ ´ëÇؼ­´Â ¾Æ´Â ¹Ù ¾ø´Ù. <p> ¾î¶² Å°º¸µå¿¡´Â ¸Ê Àç¼³Á¤ ±â´ÉÀÌ ³»ÀåµÈ °Íµµ ÀÖ´Ù. Stormy Henderson (<tt/stormy@Ghost.Net/)¿¡ ÀÇÇϸé `Àç¼ö¾ø°Ôµµ ´ç½ÅÀÇ Å°º¸µå°¡ ´Ù½Ã ÇÁ·Î±×·¥µÇ¾ú´Ù¸é (Gateway AnyKey Å°º¸µå»ó¿¡¼­) control-alt-suspend_macro¸¦ ´©¸£¸é Á¤»ó »óÅ·ΠµÇµ¹¸± ¼ö ÀÖ´Ù°í ÇÑ´Ù. <sect>Delete¿Í Backspace<p> <nidx>delete key!problems with</nidx> <nidx>backspace key!problems with</nidx> Delete¿Í Backspace Å°°¡ Á¦´ë·Î µ¿ÀÛÇϵµ·Ï ÇÏ´Â °ÍÀÌ ±×¸® °£´ÜÇÑ ¹®Á¦´Â ¾Æ´Ï´Ù. ƯÈ÷ ÄܼÖ, <tt/X/, <tt/bash/, <tt/emacs/, ¿ø°Ý ·Î±×ÀÎ µî ¿©·¯°¡Áö°¡ È¥ÇÕµÈ È¯°æ¿¡¼­´Â ´õ´õ¿í ±×·¯ÇÏ´Ù. ¾Æ¸¶µµ »ç¿ëÀÚ°¡ ¿øÇÏ´Â ¹Ù¸¦ Á¤È®È÷ ¼öÇàÇϵµ·Ï °ü°èµÈ ÇÁ·Î±×·¥ ¸ðµÎ¿¡°Ô Àü´ÞÇÏ·Á¸é ¿©·¯°³ÀÇ È¯°æ¼³Á¤È­ÀÏÀ» ÆíÁýÇØ¾ß µÉÁöµµ ¸ð¸¥´Ù. ÇÑÆíÀ¸·Î´Â Å°°¡ ¹ß»ý½ÃÅ°´Â Äڵ尡 ¹«¾ùÀÎÁöµµ (±×¸®°í <tt/kermit/À̳ª <tt/emacs/µî¿¡¼­ ÀÌ·¯ÇÑ Äڵ尡 ¾î¶² ±ÔÄ¢À¸·Î ´Ù½Ã ¸ÅÇεǴÂÁöµµ) ¹®Á¦°¡ µÇ°í, ´Ù¸¥ ÇÑÆíÀ¸·Î´Â °¢ Äڵ忡 ¿¬°áµÈ ±â´ÉÀÌ ¹«¾ùÀÎÁöµµ ¹®Á¦°¡ µÈ´Ù. »ç¶÷µéÀÌ Á¾Á¾ `¹é½ºÆäÀ̽º Å°°¡ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.'°í ºÒÆòÇϴµ¥, ÀÌ°ÍÀº ¸¶Ä¡ ÀÌ Å°¿¡ `ÀÌÀüÀÇ ¹®ÀÚ¸¦ Áö¿ì´Â' ³»ÀåµÈ ±â´ÉÀÌ ÀÖ´Â °Íó·³ ¸»ÇÏ´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ ºÒÇàÈ÷µµ ÀÌ Å°°¡ ÇÏ´Â ÀÏÀ̶ó°ï ÄÚµå Çϳª¸¦ ¹ß»ýÇÏ´Â °Í»ÓÀ̸ç, Ä¿³Î tty µå¶óÀ̹ö¿Í ¸ðµç ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ÀÌ ¹é½ºÆäÀ̽º Å°°¡ ½ÇÁ¦·Î `ÀÌÀü ¹®ÀÚ¸¦ Áö¿ì´Â' µ¿ÀÛÀ» Çϵµ·Ï ¼³Á¤µÇ¾î Àֱ⸦ °í´ëÇÏ´Â °ÍÀÌ ÀüºÎÀÌ´Ù. ¸ðµç À¯´Ð½º ÇÁ·Î±×·¥Àº `¿ä¸®µÈ' ¸ðµå¿¡¼­ Ä¿³Î tty µå¶óÀ̹ö¸¦ ÅëÇØ tty ÀÔ·ÂÀ» ¹Þ°í, ´Ü¼øÇÑ <tt/stty/ ¸í·ÉÀÌ »èÁ¦ ¹®ÀÚ¸¦ °áÁ¤ÇÑ´Ù. ÇÏÁö¸¸ <tt/bash/³ª <tt/emacs/, <tt/X/ °°Àº ÇÁ·Î±×·¥Àº µ¶ÀÚÀûÀ¸·Î ÀÔ·ÂÀ» ´Ù·ç¸ç Çϳª¾¿ ¿Ã¹Ù·Î µ¿ÀÛÇÏ´ÂÁö È®ÀÎÇØ¾ß ÇÑ´Ù. <sect1>À¯´Ð½º¿¡¼­ Á÷Àü ¹®ÀÚ¸¦ Áö¿ì´Âµ¥ »ç¿ëÇÒ ¹®ÀÚ¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ý<p> <nidx>stty!using to set erase character</nidx> <tscreen><verb> % stty erase ^? </verb></tscreen> ±ÛÀÚ°¡ Áö¿öÁö±ä ÇÏÁö¸¸ ÀÌ»óÇÑ ¹æ¹ýÀ¸·Î Áö¿öÁø´Ù¸é »ç¿ëÀÚÀÇ tty ¼³Á¤¿¡ ¹º°¡ À߸øµÈ °ÍÀÌ ÀÖ´Â °ÍÀÌ´Ù. <tt/echoprt/°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é Áö¿öÁø ¹®ÀÚ´Â <tt>\</tt>¿Í <tt>/</tt>·Î µÑ·¯½Î¿©Áø´Ù. <tt/echoe/°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é »èÁ¦ ¹®ÀÚ°¡ È­¸é¿¡ ÂïÈú °ÍÀÌ´Ù. (#°ú °°ÀÌ È­¸é¿¡ Ç¥½ÃµÇ´Â ¹®ÀÚÀÎ °æ¿ì¶ó¸é ´ç¿¬ÇÏ´Ù°í »ý°¢ÇÒ °ÍÀÌ´Ù.) º¸ÅëÀÇ °æ¿ì´Â <tt/stty echoe -echoprt/ »óŸ¦ ¿øÇÑ´Ù. <tt/stty sane/À̶ó°í Çϸé ÀÌ·± »óÅ°¡ µÇ¸ç, ±× ÀÌ¿Ü¿¡µµ ¸î°¡Áö¸¦ ´õ ¼³Á¤ÇÑ´Ù. <tt/stty -a/¶ó°í ¸í·ÉÀ» ³»¸®¸é ÇöÀç ¼³Á¤ »óŸ¦ È­¸é¿¡ º¸¿©ÁØ´Ù. »ç¿ëÀÚ°¡ ¿Ã¹Ù¸¥ <tt/getty/¸¦ »ç¿ëÇÏ¸é µðÆúÆ®·Î ÀûÀýÇÑ »óÅ·ΠµÇ¾î ÀÖ´Ù. <tt/bash/³ª <tt/emacs/ µîµî ¸¹Àº ÇÁ·Î±×·¥ÀÌ µ¶ÀÚÀûÀÎ Å°¹ÙÀεùÀ» °¡Áö°í ÀÖÀ½¿¡ À¯ÀÇÇ϶ó. (<tt>˜/.inputrc</tt>, <tt>˜/.emacs</tt> µî¿¡ Á¤ÀǵǾî ÀÖ´Ù.) ÀÌ·± ÇÁ·Î±×·¥µéÀº »èÁ¦ ¹®ÀÚ ¼³Á¤µî¿¡´Â ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù. Ç¥ÁØ À¯´Ð½º tty µå¶óÀ̹ö´Â (È­»ìÇ¥ °°Àº) Å°¸¦ Ä¿¼­ÀÇ ÇöÀç À§Ä¡¸¦ À̵¿ÇÏ´Â ¶æÀ¸·Î ÀνÄÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ `ÇöÀç ¹®ÀÚ »èÁ¦' ¸í·Éµµ ¾ø´Ù. ÇÏÁö¸¸ ÄֻܼóÀÇ <tt/bash/¿¡¼­ ¾Æ·¡¿Í °°ÀÌ <tscreen><verb> set editing-mode emacs "\e[3˜":delete-char </verb></tscreen> ¸¦ <tt>˜/.inputrc</tt>¿¡ ³Ö¾îÁÖ¸é Delete Å°¸¦ ÀνÄÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. <sect2>`DEL°ú BS°¡ Àß ÀÛµ¿ÇÏ´ø Getty°¡ Áö±ÝÀº ±úÁ®ÀÖ´Â °ÍÀΰ¡?'<p> <nidx>getty!problems with BS and DEL</nidx> ¿¾³¯¿¡´Â ÄÜ¼Ö µå¶óÀ̹ö°¡ DEL (<tt>\177</tt>)¸¦ ¹ÞÀ¸¸é BS Space BS (<tt>\010\040\010</tt>)¸¦ ¼öÇàÇϵµ·Ï Çصξú´Ù. ÇÏÁö¸¸ Áö±ÝÀº DELÀº ¹«½ÃµÈ´Ù. (ÀÌ°ÍÀÌ ´ç¿¬ÇÑ °ÍÀÌ µå¶óÀ̹ö´Â vt100À» Èä³»³»±â ¶§¹®ÀÌ´Ù.) DELÀ» Ãâ·ÂÇÏÁö ¾Ê´Â ÃÖ½ÅÀÇ getty¸¦ ±¸Çؼ­ »ç¿ëÇ϶ó. <sect2>`ù¹ø° ·Î±×ÀÎ ½Ãµµ¿Í µÎ¹ø° ·Î±×ÀÎ ½Ãµµ°¡ Á» ´Ù¸¥°Í °°´Ù. ÀÌ°ÍÀÌ Á¤»óÀΰ¡?'<p> <nidx>login!problems with BS and DEL</nidx> ù¹ø° ·Î±×ÀÎ ½Ãµµ´Â <tt/getty/¿Í À̾߱âÇÏ´Â °ÍÀÌÁö¸¸, µÎ¹ø° ½Ãµµ´Â <tt/login/°ú À̾߱âÇÏ´Â °ÍÀÌ´Ù. ¼­·Î ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ´Ù. <sect1>¸®´ª½º¿¡¼­ Å°¸¦ ´©¸¦ ¶§ ¹ß»ýÇÏ´Â Äڵ带 ÁöÁ¤ÇÏ´Â ¹æ¹ý<p> <nidx>keyboard!keycode remapping</nidx> <nidx>keycode remapping</nidx> Äֿܼ¡¼­, Á¤È®È÷ ¸»ÇÏÀÚ¸é raw ¸ðµå°¡ ¾Æ´Ñ °æ¿ì¿¡´Â <tscreen><verb> % loadkeys mykeys.map </verb></tscreen> À̶ó°í ÇÏ¸é µÈ´Ù. X ȯ°æ¿¡¼­´Â <tscreen><verb> % xmodmap mykeys.xmap </verb></tscreen> ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. (XFree86-2.1 ÀÌ·¡·Î) X´Â óÀ½ ½ÃÀ۽ÿ¡ X keymapÀ» ÃʱâÈ­ÇÒ ¶§, ¸®´ª½º keymap ¼³Á¤À» Àд´ٴ »ç½Ç¿¡ À¯ÀÇÇ϶ó. ºñ·Ï µÎ ½Ã½ºÅÛÀÌ 100% ȣȯµÇÁö´Â ¾ÊÁö¸¸ ÀÌ·¯ÇÑ »ç½ÇÀº ¸¹Àº °æ¿ì¿¡ <tt/xmodmap/ÀÌ º¸´Ù ¿µÇâ·ÂÀÌ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇϱ⠶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î, »ç¿ëÀÚ°¡ ¹é½ºÆäÀ̽º Å°¿¡ BackSpace (ˆH, 8Áø¼ö 010)À» º¸³»µµ·Ï ÇÏ·Á ÇÏ°í, ȸ»ö Delete Å°·Î´Â DEL (8Áø¼ö·Î 0177)À» º¸³»·Á ÇÑ´Ù¸é, <tt>/etc/rc.local</tt> (¶Ç´Â »ç¿ëÀÚ¸¸ÀÇ ºÎÆà ¼³Á¤È­ÀÏ¿¡) <tscreen><verb> /usr/bin/loadkeys << EOF keycode 14 = BackSpace keycode 111 = Delete EOF </verb></tscreen> ¶ó°í ÷°¡ÇÏ¸é µÈ´Ù. ÀÌ ¼³Á¤Àº ´Ù¸¥ ¼³Á¤À» ¹Ù²ÙÁö ¾Ê¾Ò´Ù¸é µÎ°³ÀÇ Å° ¼³Á¤¸¸ ¹Ù²Û´Ù´Â »ç½Ç¿¡ À¯ÀÇÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. (´Ù¸¥ Å°¸Ê¿¡¼­µµ Å° ¼³Á¤À» ¹Ù²Ù°í ½Í´Ù¸é, ¾î´À Å°¸ÊÀ» ¹Ù²ÜÁö Å°¸Ê ¶óÀÎÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù.) ¸®´ª½º Ä¿³ÎÀº µðÆúÆ®·Î Ctrl-Backspace Å°°¡ BackSpace¸¦ ¹ß»ýÇϵµ·Ï µÇ¾î ÀÖ´Ù. ÀÌ°ÍÀº ¶§¶§·Î DEL Äڵ常 »ý±â´Â À§±Þ »óȲ¿¡¼­ ºüÁ®³ª°¡´Âµ¥ À¯¿ëÇÏ´Ù. ¿ÞÂÊ Alt Å°´Â Á¾Á¾ ¸ÞŸŰ¶ó°í ºÎ¸¥´Ù. µðÆúÆ®·Î ¿ÞÂÊ Alt-X Å°Á¶ÇÕÀº MetaX·Î ¼³Á¤µÇ¾î ÀÖ´Ù. ±×·¸´Ù¸é MetaX´Â ¾î¶² Å° ½ÃÄö½ºÀΰ¡? ±×°ÍÀº (°¢°¢ÀÇ tty¿¡¼­) ¸ÞŸ Ç÷¡±×¿¡ ÀÇÇؼ­ °áÁ¤µÈ´Ù. ÀÌ°ÍÀº <tt/setmetamode/ ¸í·ÉÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ESC X¸¦ Ä¡´Â °Í°ú 0200°ú OR¿¬»êÀ» ÇÑ X¸¦ Ä¡´Â µÎ°¡Áö ¹æ¹ýÀÌ Á¸ÀçÇÑ´Ù. <sect2>`¿Ö µðÆúÆ®·Î ¹é½ºÆäÀ̽º Å°°¡ BackSpace¸¦ ¹ß»ýÇϵµ·Ï ÇÏÁö ¾Ê¾Ò³ª?'<p> <nidx>backspace key!not generating correct keycode</nidx> (i) ¿Ö³ÄÇϸé VT100¿¡´Â Delete Å°°¡ Enter Å° À§¿¡ ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. <p> (ii) ¶ÇÇÑ ¸®´©½º°¡ ±×·¸°Ô Á¤Ç߱⠶§¹®ÀÌ´Ù. <sect1>X¿¡¼­ Delete¿Í ¹é½ºÆäÀ̽º¸¦ ¹Ù²Ù´Â ¹æ¹ý<p> <nidx>X!swapping DEL, BS</nidx> <nidx>xmodmap!using to swap DEL, BS</nidx> <tscreen><verb> % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace" </verb></tscreen> ¹é½ºÆäÀ̽º Å°°¡ BackSpace¸¦ ¹ß»ýÇϵµ·Ï ÇÏ·Á¸é <tscreen><verb> % xmodmap -e "keycode 22 = BackSpace" </verb></tscreen> Delete Å°°¡ Delete¸¦ ¹ß»ýÇϵµ·Ï ÇÏ·Á¸é <tscreen><verb> % xmodmap -e "keycode 107 = Delete" </verb></tscreen> (ÇÏÁö¸¸ º¸Åë ÀÌ¹Ì µðÆúÆ®·Î µÇ¾î ÀÖÀ» °ÍÀÌ´Ù.) <sect1>emacs¿¡¼­ Delete³ª Backspace¿¡ ´ëÇÑ µ¿ÀÛ ÁöÁ¤ÇÏ´Â ¹æ¹ý<p> <nidx>emacs!binding DEL, BS</nidx> »ç¿ëÀÚÀÇ <tt/.emacs/ È­ÀÏ¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µÈ´Ù. <tscreen><verb> (global-set-key "\?" 'help-command) (global-set-key "\C-h" 'delete-backward-char) </verb></tscreen> ¹°·Ð ÀÌ·± ¹æ½ÄÀ¸·Î ÇÏ¸é ´Ù¸¥ Å°¿¡µµ ¸í·ÉÀ» ¿¬°á½Ãų ¼ö ÀÖ´Ù. Å° ÀçÁ¤ÀÇ ¹æ½Ä¿¡´Â ¿©·¯°¡Áö major ¹× minor ¹æ½ÄÀÌ ÀÖÀ½À» À¯ÀÇÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, incremental search ¸ðµå¿¡¼­´Â ´ÙÀ½°ú °°Àº Äڵ尡 ÀÖ´Â °ÍÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Ù. <tscreen><verb> (define-key map "\177" 'isearch-delete-char) (define-key map "\C-h" 'isearch-mode-help) </verb></tscreen> ÀÌ°ÍÀ» º¸¸é À§ÀÇ µÎ ¸í·ÉÀ» global Å° ¼³Á¤À¸·Î »ç¿ëÇÏ´Â °ÍÀº º°·Î ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ¸¹Àº ÇÁ·Î±×·¥¿¡¼­ ˆH = help¿Í DEL = delete¶ó´Â °¡Á¤ÇÏ¿¡ Å°¸¦ »ç¿ëÇÑ´Ù. ¹°·Ð ¹Ýµå½Ã ¹é½ºÆäÀ̽º Å°°¡ DELÀ» ¹ß»ýÇϵµ·Ï Å°¸¦ ¼³Á¤Çؾ߸¸ ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ±×·¯³ª Å° ¼³Á¤ÀÌ ÀÌ·¸°Ô µÇ¾î ÀÖÁö ¾ÊÀ¸¸é emacs¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â °¡Àå ³·Àº ·¹º§¿¡¼­´Â ÀÌ Å°µéÀ» Àç¼³Á¤ÇÏ´Â °ÍÀÌ °¡Àå ½¬¿î ¹æ¹ýÀÌ´Ù. <sect1>emacs¿¡¼­ Delete¿Í Backspace¸¦ ¹Ù²Ù´Â ¹æ¹ý<p> <nidx>emacs!swapping DEL, BS</nidx> »ç¿ëÀÚÀÇ <tt/.emacs/ È­ÀÏ¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µÈ´Ù. <tscreen><verb> (setq keyboard-translate-table (make-string 128 0)) (let ((i 0)) (while (< i 128) (aset keyboard-translate-table i i) (setq i (1+ i)))) (aset keyboard-translate-table ?\b ?\^?) (aset keyboard-translate-table ?\^? ?\b) </verb></tscreen> emacsÀÇ ÃֽŠ¹öÀü¿¡¼­´Â <tt/keyboard-translate/ ÇÔ¼ö¸¦ Á¦°øÇϱ⠶§¹®¿¡ °£´ÜÇÏ°Ô ¾Æ·¡¿Í °°ÀÌ Çصµ µÈ´Ù. <tscreen><verb> (keyboard-translate ?\C-h ?\C-?) (keyboard-translate ?\C-? ?\C-h) </verb></tscreen> X ȯ°æ¿¡¼­´Â (Äֿܼ¡¼­ ÀÌ Å°°¡ ¾î¶² Äڵ带 ¸¸µé´ø °£¿¡) emacs°¡ Ctrl-h¿Í ¹é½ºÆäÀ̽º Å°¸¦ ±¸º°ÇÒ ¼ö ÀÖ´Ù. ±×¸®°í emacs´Â µðÆúÆ®·Î ¹é½ºÆäÀ̽º Å°¸¦ DEL·Î °£ÁÖÇÒ °ÍÀÌ´Ù. (¹°·Ð ˆH¿¡ ¿¬°áµÈ µµ¿ò¸» ±â´ÉÀÌ ¾Æ´Ï¶ó ¹®ÀÚ¸¦ Áö¿ì´Â ÀÏÀ» ÇÒ °ÍÀÌ´Ù.) ¹é½ºÆäÀ̽º¿Í Delete¸¦ ±¸ºÐÇÏ¿© »ç¿ëÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. <tscreen><verb> (global-unset-key [backspace] ) (global-set-key [backspace] 'delete-backward-char) (global-unset-key [delete] ) (global-set-key [delete] 'delete-char) </verb></tscreen> <sect1>kermit¿¡¼­ Delete¿Í Backspace¸¦ ¹Ù²Ù´Â ¹æ¹ý<p> <nidx>kermit!swapping DEL, BS</nidx> <tt/.kermrc/ È­ÀÏ¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µÈ´Ù. <tscreen><verb> set key \127 \8 set key \8 \127 </verb></tscreen> <sect1>xterm¿¡¼­ ÀÔ¸À¿¡ ¸Â´Â tty ¸ðµå ¼³Á¤ÇÏ´Â ¹æ¹ý<p> <nidx>xterm!setting tty modes for</nidx> º¸Åë xtermÀº ÀÌ°ÍÀ» È£ÃâÇÑ ÇÁ·Î±×·¥ÀÇ tty ¸ðµå¸¦ »ó¼Ó¹Þ´Â´Ù. <tt/xdm/ ȯ°æ¿¡¼­´Â ±¸Çü À¯´Ð½º ¹öÀü 6¿¡¼­¿Í °°ÀÌ µðÆúÆ®·Î ¼³Á¤µÈ Áö¿ì±â ¹× Á×À̱⠹®ÀÚ´Â <tt/#/¿Í <tt/@/ÀÌ´Ù. ÀÌ ¼³Á¤ÀÌ ¸¶À½¿¡ ¾Èµé¸é ¾Æ·¡ ³»¿ëÀ» <tt>/usr/lib/X11/app-defaults/XTerm</tt>³ª <tt>$HOME/.Xresources</tt>¿¡ ³ÖÀ¸¸é µÈ´Ù. <tscreen><verb> XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D \ susp ^Z start ^Q stop ^S eol ^@ </verb></tscreen> ¹°·Ð <tt>$HOME/.xinitrc</tt>³ª <tt>$HOME/.xsession</tt>¿¡ <tscreen><verb> xrdb $HOME/.Xresources </verb></tscreen> ¶ó´Â ±¸ÀýÀÌ ÀÖ¾î¾ß ÀÛµ¿ÇÑ´Ù. <sect1>xmosaic¿¡¼­ Backspace Å°°¡ DELÀ» ¹ß»ýÇϵµ·Ï ¼³Á¤ÇÏ´Â ¹æ¹ý<p> <nidx>xmosaic!remapping BS key</nidx> <nidx>Netscape!remapping BS</nidx> ¾Æ·¡ ³»¿ëÀ» <tt>$HOME/.Xresources</tt>¿¡ ³ÖÀ¸¸é ÇØ°áµÉ °ÍÀÌ´Ù. <tscreen><verb> *XmText.translations: #override\n\ <Key>osfDelete: delete-previous-character() *XmTextField.translations: #override\n\ <Key>osfDelete: delete-previous-character() </verb></tscreen> ÇÏÁö¸¸ ³Ý½ºÄÉÀÌÇÁ FAQ¿¡´Â ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ´Ù. <verb> ¿Ö ÅؽºÆ® Çʵ忡¼­ ¹é½ºÆäÀ̽º Å°°¡ ¸»À» µèÁö ¾Ê´Â°¡? µðÆúÆ®·Î ¸®´ª½º¿Í XFree86¿¡´Â ¹é½ºÆäÀ̽º¿Í Delete Å°°¡ À߸ø ¼³Á¤µÇ¾î ÀÖ´Ù. (³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅ͸¦ Æ÷ÇÔÇÑ) ¸ðµç ¸ðƼÇÁ ÇÁ·Î±×·¥¿¡¼­ ¶È°°ÀÌ À߸ø ÀÛµ¿µÉ °ÍÀÌ´Ù. ¸ðƼÇÁ ½ºÆå¿¡ º¸¸é ¹é½ºÆäÀ̽º´Â ÀÌÀü ¹®ÀÚ¸¦ Áö¿ìµµ·Ï µÇ¾î ÀÖ°í Delete´Â ´ÙÀ½ ¹®ÀÚ¸¦ Áö¿ìµµ·Ï µÇ¾î ÀÖ´Ù. ¸®´ª½º¿Í XFree86Àº ¹é½ºÆäÀ̽º¿Í Delete Å°°¡ ¸ðµÎ Delete¸¦ ¹ß»ýÇϵµ·Ï ¼³Á¤µÇ¾î ÀÖ´Ù. »ç¿ëÀÚ´Â xmodmap, xkeycaps, loadkeysÁß Çϳª¸¦ »ç¿ëÇÏ¿© ¹®Á¦ÀÇ Å°°¡ Delete ´ë½Å¿¡ BackSpace keysymÀ» ¹ß»ýÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â .motifbind È­ÀÏÀ» ¸¸µé¾î ÇØ°áÇÒ ¼ö ÀÖ´Ù. man ÆäÀÌÁö VirtualBindings(3)À» ÂüÁ¶Ç϶ó. ÁÖÀÇ: ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ *XmText.translations³ª *XmTextField.translations ¸®¼Ò½º È­ÀÏÀ» »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ¾Æ¸¶µµ ÀÌ°ÍÀ» °Çµå¸®¸é ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍÀÇ ´Ù¸¥ ÅؽºÆ® ÇʵåÀÇ Å° ¿¬°áÀÌ ¸ðµÎ ¸Á°¡Áú °ÍÀÌ´Ù. </verb> <sect1>³Ý½ºÄÉÀÌÇÁ¿Í °°ÀÌ ¸ðƼÇÁ¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÇ ´õ ÁÁÀº ÇØ°áÃ¥<p> <nidx>Netscape!remapping BS</nidx> <nidx>Motif!remapping BS</nidx> Ted Kandell (<tt/ted@tcg.net/)ÀÇ ÇØ°áÃ¥Àº ´ÙÀ½°ú °°´Ù. »ç¿ëÀÚÀÇ .profile È­ÀÏ¿¡ ´ÙÀ½ÀÇ ³»¿ëÀ» ³ÖÀÚ. <tscreen><verb> stty erase ^H </verb></tscreen> <tt/bash/ »ç¿ëÀÚ¶ó¸é <tt/.inputrc/¿¡ ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. <tscreen><verb> "\C-?": delete-char "\C-h": backward-delete-char </verb></tscreen> .xinitrc È­ÀÏ¿¡´Â ¾Æ·¡ÀÇ ³»¿ëÀ» Ãß°¡ÇÑ´Ù. <tscreen><verb> xmodmap <<-EOF keycode 22 = BackSpace osfBackSpace keycode 107 = Delete EOF # À©µµ¿ì °ü¸®ÀÚ¸¦ ½ÇÇà½ÃŲ´Ù. #(fvwm) 2>&1 | tee /dev/tty /dev/console stty sane stty erase ^H loadmap <<-EOF keycode 14 = BackSpace keycode 111 = Delete EOF </verb></tscreen> ÀÌ·¸°Ô ÇÏ¸é ¸®´ª½º/XFree86 ±â¹ÝÀÇ PC 101 ¶Ç´Â 102 Å°º¸µå¿¡¼­´Â ¹Ýµå½Ã Àß µ¿ÀÛÇÒ °ÍÀÌ´Ù. ³Ý½ºÄÉÀÌÇÁ¿Í °°Àº ¸ðƼÇÁ ÇÁ·Î±×·¥ÀÌ Àß µ¿ÀÛÇϵµ·Ï Çϴµ¥ Áß¿äÇÑ ºÎºÐÀº osfBackSpace¸¦ BackSpace¿Í ÇÔ²² Å°ÄÚµå 22¿¡ ³Ö´Â Á¡ÀÌ´Ù. = ±âÈ£ ¾çÂÊ¿¡´Â ¹Ýµå½Ã °ø¹éÀÌ ÀÖ¾î¾ß ÇÑ´Ù´Â Á¡µµ À¯ÀÇÇÒ °Í. <sect1>termcap¿Í terminfo´Â ¹¹Áö?<p> <nidx>termcap!remapping BS with</nidx> <nidx>terminfo!remapping BS with</nidx> »ç¿ëÀÚµéÀÌ ¹é½ºÆäÀ̽º ¹®Á¦¿¡ ºÎµúÈ÷¸é, ´ë°³ Å͹̳ÎÀÌ »ç¿ëÇÏ´Â termcap (¶Ç´Â terminfo) Ç׸ñÀ» µÚÀû°Å¸°´Ù. ¹°·Ð °Å±â¿¡ º¸¸é kb (¶Ç´Â kbs)¶ó´Â Ç׸ñÀÌ ÀÖ°í, ¹é½ºÆäÀ̽º Å°°¡ ¸¸µå´Â Äڵ忡 ´ëÇÑ ¼³¸íÀÌ ³ª¿Â´Ù. ÇÏÁö¸¸ ±×´ÙÁö ¸¹Àº ÇÁ·Î±×·¥ÀÌ ÀÌ°ÍÀ» »ç¿ëÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. µû¶ó¼­ ¸¸ÀÏ Æ¯Á¤ÇÑ ÇÁ·Î±×·¥¿¡¼­¸¸ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù¸é ¾Æ¸¶µµ ¿øÀÎÀº ´Ù¸¥°÷¿¡ ÀÖÀ» °¡´É¼ºÀÌ ³ô´Ù. ¹°·Ð termcap (terminfo) Ç׸ñÀ» °íÃļ­ ¹®Á¦¸¦ ÇØ°áÇÏ´Â °Íµµ ÁÁÀº »ý°¢ÀÌ´Ù. µÚ¿¡ "TERM º¯¼ö" ºÎºÐÀ» ÂüÁ¶ÇÏ¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù. <sect>ÄÜ¼Ö ¹®ÀÚ ¼¼Æ®<p> <nidx>console character sets</nidx> <nidx>character sets, console</nidx> Ä¿³ÎÀº ¿ì¼± »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¹ÙÀÌÆ®°¡ ¾î¶² ¸ð¾çÀÇ ½Éº¼ÀÎÁö ¾Ë¾Æº¸°í, ÇöÀç ÆùÆ®¿¡¼­ ¾îµð¿¡ À§Ä¡ÇØ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. Ä¿³ÎÀº ÄܼÖ-½ºÅ©¸° ½Éº¼·Î µé¾î¿À´Â ¹ÙÀÌÆ®¸¦ Çؼ®ÇÏ´Â 5°¡Áö ¹æ¹ýÀ» ¾Ë°íÀÖ´Ù. À¯´ÏÄÚµå (UTF-8) ¸ðµå¿¡¼­ UTF-8 ¸ðµå´Â Á÷Á¢ À¯´ÏÄÚµå·Î º¯È¯µÈ´Ù. º¯È¯½Ã¿¡´Â ÇÊ¿äÇÑ ¸ðµç ½Éº¼ÀÌ À¯´ÏÄڵ忡 ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ÀÌ °¡Á¤ÀÌ ¸¸Á·µÇÁö ¾Ê´Â °æ¿ì¿¡´Â ÄÚµå 0xff**°¡ Á÷Á¢ ÆùÆ®¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï º¸Á¸µÈ´Ù. À¯´ÏÄÚµå ¸ðµå°¡ ¾Æ´Ñ °æ¿ì¿¡´Â 4°¡Áö º¯È¯ Å×À̺íÁß Çϳª¸¦ »ç¿ëÇÑ´Ù. 4°¡Áö Å×À̺íÀº a) Latin1 -> Unicode, b) VT100 ±×¸²¹®ÀÚ -> Unicode, c) PC -> Unicode, d) »ç¿ëÀÚ Á¤ÀÇ ¹®ÀÚ. ¹®ÀÚ ¼¼Æ®¿¡´Â G0¿Í G1ÀÌ ÀÖ°í ÀÌ Áß Çϳª°¡ ÇöÀç ¹®ÀÚ ¼¼Æ®·Î »ç¿ëµÈ´Ù. (ÃʱⰪÀº G0) ˆNÀ̶ó°í ÃÄ ³ÖÀ¸¸é G1ÀÌ ÇöÀç ¹®ÀÚ ¼¼Æ®°¡ µÇ°í ˆO¶ó°í Çϸé G0°¡ ÇöÀç ¹®ÀÚ ¼¼Æ®·Î µÈ´Ù. ÀÌ º¯¼ö G0¿Í G1Àº º¯È¯ Å×À̺íÀ» °¡¸®Å°¸ç, À̰͵éÀº »ç¿ëÀÚ°¡ ¹Ù²Ü ¼ö ÀÖ´Ù. ÃʱⰪÀº °¢°¢ Å×À̺í a)¿Í b)¸¦ °¡¸®Å°°Ô µÇ¾î ÀÖ´Ù. ½ÃÄö½º ESC ( B, ESC ( U, ESC ( K¶ó°í ÇÏ¸é °¢°¢ G1ÀÌ º¯È¯ Å×À̺í a), b), c), d)¸¦ °¡¸®Å°°Ô µÈ´Ù. ½ÃÄö½º ESC c´Â Å͹̳ÎÀ» Àç¼³Á¤Çϴµ¥, ÀÌ ±â´ÉÀº ½ºÅ©¸°ÀÌ ¸ÔÅëÀÌ µÇ¾úÀ» ¶§ À¯¿ëÇÏ´Ù. Á¾Á¾ ÃßõµÇ´Â ¹æ½ÄÀÎ <tt/echo ˆVˆO/´Â ´ÜÁö G0¸¦ ÇöÀç ¹®ÀÚ ¼¼Æ®·Î ¼³Á¤ÇÒ »ÓÀ̹ǷΠG0°¡ Å×À̺í a)¸¦ °¡¸®Å°°Ô µÈ´Ù´Â º¸ÀåÀÌ ¾ø´Ù. ¹èÆ÷º» Áß¿¡´Â <tt>echo ˆ[c</tt>¸¦ ¼öÇàÇØÁÖ´Â reset(1)À̶ó´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Â °æ¿ìµµ ÀÖ´Ù. Äֿܼ¡ »ç¿ëµÇ´Â termcap Ç׸ñÀÌ ¿Ã¹Ù¸£´Ù¸é (±×¸®°í <tt>:rs=\Ec:</tt> Ç׸ñÀÌ ÀÖ´Ù¸é), <tt/setterm -reset/À̶ó°í Çصµ °°Àº È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù. mapscrn(8)À» »ç¿ëÇÏ¸é »ç¿ëÀÚ Á¤ÀÇ ¸Ê Å×À̺íÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¸ÅÇÎÀ» ÇÏ°Ô µÇ¸é, ¿¹¸¦ µé¾î ½Éº¼ c¸¦ È­¸é¿¡ ÂïÀ¸·Á¸é ½Éº¼ <tt>s = map[c]</tt>¸¦ ºñµð¿À ¸Þ¸ð¸®·Î º¸³»°Ô µÈ´Ù. <tt/s/¿¡ ´ëÀÀµÇ´Â ºñÆ®¸ÊÀÌ ¹®ÀÚ ROM¿¡ ÀÖÀ¸¸ç, setfont(8)À» »ç¿ëÇÏ¸é ¹Ù²Ü ¼ö ÀÖ´Ù. <sect>Äְܼ£ À̵¿<p> <nidx>console!switching</nidx> Äְܼ£ À̵¿ÀÇ ±âº» Å°´Â Alt-Fn ¶Ç´Â Ctrl-Alt-FnÀÌ´Ù. <tt/X/ ȯ°æÀ̳ª ÃÖ±Ù ¹öÀüÀÇ <tt/dosemu/¿¡¼­´Â Ctrl-Alt-Fn ¸¸ÀÌ Á¦´ë·Î ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ¸¹Àº keymaps¿¡¼­ Alt-¿À¸¥È­»ì Å°¿Í Alt-¿ÞÈ­»ì Å°·Î ÇÒ´çµÈ Äְܼ£ÀÇ ¼øȯ½Ä À̵¿À» Çã¿ëÇÑ´Ù. XFree86 1.3Àº X À©µµ¿ì·Î À̵¿ÇÒ ¶§, Alt Å°°¡ ´­·Á ÀÖ´Â °ÍÀ» ÀνÄÇÏÁö ¸øÇÑ´Ù. µû¶ó¼­ ´Ù¸¥ VT·Î Áï°¢ µÇµ¹¾Æ°¡Áö ¸øÇÏ°í, Alt Å°¸¦ ¶¼¾î¾ß ¹ÝÀÀÀ» ÇÑ´Ù. ´Ù¸¥ °÷¿¡¼­´Â Àß ÀÛµ¿µÈ´Ù. Ä¿³ÎÀº Ç×»ó ¸ðµç Å°ÀÇ ´©¸§/¶À »óȲÀ» ÃßÀûÇÑ´Ù. (¹°·Ð °¡´ÉÇÑ ÇÑ ±×·¸´Ù´Â À̾߱â´Ù. ¸î¸î Å°º¸µåÀÇ ¾î¶² Å°µéÀº ´­¸®°Å³ª(FOCUS 9000ÀÇ PFn Å°) ¶¿ ¶§(¸¹Àº Å°º¸µåÀÇ Pause Å°) ½ºÄµÄڵ带 º¸³»Áö ¾Ê¾Æ ¾î¿ ¼ö ¾ø´Â °æ¿ìµµ ÀÖ´Ù.) XFree86 1.3Àº óÀ½ ½ÃÀÛµÉ ¶§, ¹®ÀÚ ROM¿¡ ·ÎµåµÈ ÆùÆ®¸¦ ÀúÀåÇصΰí Äְܼ£ À̵¿À» ÇÒ ¶§, ±×°ÍÀ» ²¨³»¾î »ç¿ëÇÑ´Ù. µû¶ó¼­ VT¿¡¼­ <tt/setfont/¸¦ »ç¿ëÇϸé X·Î À̵¿Çß´Ù°¡ µÇµ¹¾Æ¿À¸é ÀÌÀü °ªÀ¸·Î º¹±ÍµÈ´Ù. X ȯ°æ¿¡¼­ <tt/setfont/¸¦ »ç¿ëÇϸé ÀÌ»óÇÑ ÀϵéÀÌ »ý±ä´Ù. <tt/chvt/ ¸í·ÉÀ» »ç¿ëÇϸé ÇÁ·Î±×·¥ »ç¿ëÁß¿¡µµ VT¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù. <sect1>°¡»ó ÄܼÖÀÇ °¹¼ö ¹Ù²Ù´Â ¹æ¹ý<p> <nidx>console!changing number of</nidx> ÀÌ Áú¹®Àº ¾ÆÁ÷µµ °¡²û ³ª¿ÀÁö¸¸ »ç½Ç µðÆúÆ®·Î ¼³Á¤µÈ °¹¼öÀ¸·Îµµ ÃæºÐÇÏ´Ù. Ä¿³Î 1.1.54ÀÌÈÄ·Î 1ºÎÅÍ 63 »çÀÌÀÇ °¡»ó ÄܼÖÀÌ Á¸ÀçÇÑ´Ù. »õ·Î¿î °¡»ó ÄܼÖÀº »ý¼ºµÇ¸é¼­ ¿­¸°´Ù. <tt/deallocvt/¶ó´Â À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¸é ¾ø¾Ù ¼ö ÀÖ´Ù. (±×·¯³ª ¾ø¾Ù·Á¸é ¿©±â¿¡ ¿¬°áµÈ ÇÁ·Î¼¼½º°¡ Çϳªµµ ¾ø°í, <tt/selection/À̳ª <tt/gpm/ °°Àº ÇÁ·Î±×·¥ÀÌ ÀÌ Äֿܼ¡ ÀÖ´Â ÅؽºÆ®¸¦ ¼±ÅÃÇÏ°í ÀÖÁö ¾Ê¾Æ¾ß ÇÑ´Ù.) À̺¸´Ù ÀÌÀü ¹öÀüÀÇ Ä¿³ÎÀÎ °æ¿ì¶ó¸é <tt>include/linux/tty.h</tt>¿¡ ÀÖ´Â <tscreen><verb> #define NR_CONSOLES 8 </verb></tscreen> ¸¦ ¹Ù²Ù¾îÁÖ°í Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ¸é µÈ´Ù. (ÀÌ ¼ýÀÚ¸¦ 63º¸´Ù Å©°Ô ÇÏÁö´Â ¸» °Í.) °¡»ó ÄܼÖÀÌ ¾Æ¿¹ ¾ø´Â °æ¿ì¶ó¸é <tt/MAKEDEV/ ¶Ç´Â <tt/mknod tty/N <tt/c 4/ N (¿©±â¼­ NÀº tty ¹øÈ£¸¦ ÁöÁ¤)·Î tty µð¹ÙÀ̽º¸¦ ¸¸µé ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾îº¸¸é <tscreen><verb> for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done </verb></tscreen> Á» ´õ ÁÁÀº ¿¹·Î´Â (ÀÌ ¹æ¹ýÀÌ »ç¿ëÀÚ¿Í Çã°¡±Ç¿¡ À¯ÀÇÇÑ´Ù.), <tscreen><verb> for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done </verb></tscreen> <tt/getty/¸¦ µ¹¸± VC°¡ »õ·Î ÇÊ¿äÇÏ´Ù¸é <tt>/etc/inittab</tt>¿¡ ¶óÀÎÀ» Ãß°¡ÇÏ¸é µÈ´Ù. (ÇÏÁö¸¸ »ç¿ëÇÏ°í ÀÖ´Â <tt/getty/°¡ µÎ°³¸¸ ÀÖ´Â °ÍÀÌ ÁÁ´Ù. ±×¸®°í Ãß°¡·Î ´õ ÇÊ¿äÇØÁö¸é µ¿ÀûÀ¸·Î »ý¼ºÇÏ¸é µÈ´Ù. »ç¿ëÀÚ°¡ ¸ðµç ÄܼÖÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ÀÌ ¹æ½ÄÀÌ º¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <tt>/etc/inittab</tt>¸¦ ¿­¾î¼­ ÃÖÃÊÀÇ µÎ°³¸¦ Á¦¿ÜÇÑ ¸ðµç <tt/getty/¸¦ ÁÖ¼®À¸·Î ¸·¾Æ µÎ¾î¶ó.) ÄܼÖÀ» µ¿ÀûÀ¸·Î ÇÒ´ç¹ÞÀ» ¶§´Â <tt/getty/°¡ Çϳª³ª µÎ°³ Á¤µµ¸¸ µ¹µµ·Ï ÇÏ´Â °ÍÀÌ °¡Àå ½±´Ù. <tt>open -l -s bash</tt>¶ó°í ÇÏ¸é ´õ ¸¹ÀÌ ¿­ ¼ö ÀÖ´Ù. (¿¬°áµÈ ÇÁ·Î¼¼½º°¡ ¾ø´Â) »ç¿ëÇÏÁö ¾Ê´Â ÄܼÖÀº <tt/deallocvt/(¿¹Àü¿¡´Â <tt/disalloc/)À» »ç¿ëÇÏ¿© ¾ø¾Ù ¼ö ÀÖ´Ù. ±×·¯³ª ÀÛ¾÷Áß¿¡ °©ÀÚ±â ÄܼÖÀÌ ´õ ÇÊ¿äÇØÁ®¼­ ´çÀå <tt/open/ ¸í·ÉÀ» ³»¸± bash ÇÁ·ÒÇÁÆ®°¡ ¾ø´Ù¸é ¾î¶»°Ô Çϴ°¡? ´ÙÇàÀ̵µ ÇöÀç Äֿܼ¡¼­ ¹«½¼ ÀÏÀ» ÇÏ°Ç, ÇÑ Å¥·Î »õ·Î¿î ÄܼÖÀ» ¸¸µå´Â ¹æ¹ýÀÌ ÀÖ´Ù. <tt/kbd-0.95.tar.gz/¿¡ ÀÖ´Â <tt/spawn_login/À» ¼³Ä¡ÇÏ°í <tt>/etc/rc.local</tt>¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö¾î µÎ¾î¶ó. <tscreen><verb> loadkeys << EOF alt keycode 103 = Spawn_Console EOF spawn_login & </verb></tscreen> ±× ´ÙÀ½¿¡ Alt-À§È­»ì Å°¸¦ ´©¸£¸é <tt/login/À» µ¹¸®°í ÀÖ´Â »õ·Î¿î VC°¡ »ý¼ºµÉ °ÍÀÌ´Ù. (¹°·Ð »ý¼ºµÇ¾î¼­ ±×°÷À¸·Î À̵¿µÈ´Ù.) <tt/spawn_login &/ ´ë½Å¿¡ <tt/spawn_console &/¸¦ ¼³Ä¡Çß´Ù¸é ¾Æ¸¶µµ »õ Äֿܼ¡ bash°¡ µ¹°í ÀÖÀ» °ÍÀÌ´Ù. <tt>open-1.4.tgz</tt>¿Í <tt/dynamic-vc-1.1.tar.gz/¸¦ Âü°íÇ϶ó. ÃֽŠ¹öÀüÀÇ <tt/init/¸¦ °¡Áö°í ÀÖ´Ù¸é <tt>/etc/inittab</tt>ÀÇ <tt/kbrequest/¾Æ·¡¿¡¼­ Spawn_Console Å°°¡ ´­·ÈÀ» ¶§ ¹«½¼ ÀÛµ¿À» ÇÏ´ÂÁö ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. inittab(5)¸¦ Âü°íÇÒ °Í. (ÀÌ µ¿ÀÛÀº ¿ÏÀüÈ÷ ´Ù¸¥ °ÍÀ¸·Î ¼³Á¤µÇ¾î ÀÖÀ» ¼ö ÀÖ´Ù. Spawn_Console Å°´Â ³»°¡ »ç¿ëÇϱ⠶§¹®¿¡ ºÎ¸£´Â À̸§ÀÏ »ÓÀÌ´Ù. ´Ù¸¥ ¸ñÀûÀ¸·Î »ç¿ëÇÑ´Ù¸é ´ú Çò°¥¸®µµ·Ï ´Ù¸¥ À̸§À» ºÙÀÌ´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù. ¾î¶² »ç¶÷µéÀº <tt>/etc/inittab</tt>¿¡ <tscreen><verb> kb::kbrequest:/sbin/shutdown -h now </verb></tscreen> ¶ó°í ³Ö¾îµÎ°í, keymap¿¡´Â <tscreen><verb> control alt keycode 79 = KeyboardSignal control alt keycode 107 = KeyboardSignal </verb></tscreen> ¸¦ ³Ö¾îµÎ°í¼­ Ctrl-Alt-End¸¦ ½Ã½ºÅÛ ¼Ë´Ù¿î Å°·Î »ç¿ëÇϱ⵵ ÇÑ´Ù. ·çÆ® ±ÇÇÑÀ¸·ÎÀÇ Á¢¼ÓÀº <tt>/etc/securetty</tt>¿¡ µî·ÏµÇ¾î ÀÖ´Â Å͹̳ο¡¼­¸¸ °¡´ÉÇÏ´Ù. <tt>/etc/ttys</tt>¿Í <tt>/etc/ttytype</tt> È­ÀÏ¿¡¼­ Å͹̳Π¼³Á¤°ªÀ» Àд ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ·± È­ÀÏÀ» °¡Áø »ç¿ëÀÚ°¡ Ãß°¡·Î ÄܼÖÀ» »ý¼ºÇß´Ù¸é ÀÌ ÄÜ¼Ö Ç׸ñÀ» ÀÌ È­ÀÏ¿¡ Ãß°¡ÇÏ´Â °Íµµ ±¦ÂúÀº »ý°¢ÀÌ´Ù. <sect>Ctrl-Alt-Del¿Í ±× ¹ÛÀÇ ´Ù¸¥ Ưº°ÇÑ Å° Á¶ÇÕ<p> <sect1>Ctrl-Alt-Del (ºÎÆÃ)<p> <nidx>ctrl-alt-del!action taken by</nidx> »ç¿ëÀÚ°¡ Ctrl-Alt-Del(¶Ç´Â loadkeys¿¡¼­ keysym Boot¿¡ ÁöÁ¤µÈ Å°´Â ¹«¾ùÀ̵ç)À» ´©¸£¸é ¸Ó½ÅÀº (sync µ¿ÀÛ ¾øÀÌ) Áï½Ã ÀçºÎÆÃÀ» Çϰųª, <tt/init/°¡ SIGINT¸¦ º¸³½´Ù. ÀüÀÚÀÇ ÇൿÀÌ µðÆúÆ® °ªÀÌ´Ù. ÀÌ°ÍÀº ·çÆ® ±ÇÇÑ¿¡¼­ ½Ã½ºÅÛ È£Ãâ reboot()¸¦ »ç¿ëÇÏ¸é ¹Ù²Ü ¼ö ÀÖ´Ù. <tt/init/°¡ SIGINT¸¦ ¾ò¾úÀ» ¶§ µ¿ÀÛÇÏ´Â ³»¿ëÀº »ç¿ëÇÏ´Â <tt/init/ÀÇ ¹öÀü¿¡ µû¶ó ´Þ¶óÁø´Ù. Á¾Á¾ <tt>/etc/inittab</tt>ÀÇ pf Ç׸ñ¿¡ ÀÇÇØ Á¤ÇØÁø´Ù. (ÀÌ°ÍÀº »ç¿ëÀÚ°¡ ¼³Á¤Çϱ⿡ µû¶ó¼­´Â ÀÓÀÇÀÇ ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¼öµµ ÀÖÀ½À» ÀǹÌÇÑ´Ù.) ÇöÀç Ä¿³Î¿¡¼­ Ctrl-AltGr-DelÀº ´õÀÌ»ó Boot¿¡ ÇÒ´çµÇ¾î ÀÖÁö ¾Ê´Ù. <sect1>´Ù¸¥ Å° Á¶ÇÕ<p> <nidx>keyboard!special key combinations</nidx> <nidx>key combinations, special</nidx> <verb> Name Default binding ------------------------------- Show_Memory Shift-Scrollock Show_Registers AltGr-ScrollLock Show_State Ctrl-ScrollLock Console_n Alt-Fn and Ctrl-Alt-Fn (1 <= n <= 12) Console_{n+12} AltGr-Fn (1 <= n <= 12) Incr_Console Alt-RightArrow Decr_Console Alt-LeftArrow Last_Console Alt[Gr]-PrintScreen Scroll_Backward Shift-PageUp Scroll_Forward Shift-PageDown Caps_On (CapsLockÀº Åä±ÛÀÌ´Ù. ÀÌ·¸°Ô Çϸé Å°°¡ ¼³Á¤µÈ´Ù.) Compose Ctrl-. </verb> <sect1>X¿¡¼­ÀÇ Å°Á¶ÇÕ<p> <nidx>keyboard!key combinations for X</nidx> <nidx>key combinations, X</nidx> <nidx>X!key combinations for</nidx> <verb> Ctrl-Alt-Fn VT nÀ¸·Î À̵¿ Ctrl-Alt-KP+ ´ÙÀ½ ¸ðµå Ctrl-Alt-KP- ÀÌÀü ¸ðµå Ctrl-Alt-Backspace X Á×À̱â </verb> ¾î¶² ¸¶´õº¸µå¿¡¼­´Â Ctrl-Alt-KP-¿Í Ctrl-Alt-KP+°¡ Åͺ¸ º¸Æ°À» ´©¸£´Â °Í°ú ¶È°°Àº µ¿ÀÛÀ» ÇÑ´Ù. µÎ Å°º¸µå ¸ðµÎ ½ºÄµÄÚµå 1d 38 4a ca b8 9d¿Í 1d 38 4e ce b8 9d¸¦ ¹ß»ý½ÃŲ´Ù. ÀÌ°ÍÀº Åͺ¸ (>= 25MHz)¿Í º¸Åë(8 ¶Ç´Â 12 MHz) ¸ðµå¸¦ ÀüȯÇÑ´Ù. (Á¾Á¾ ÀÌ Å° Á¶ÇÕÀº ¸¶´õº¸µå¿¡¼­ Á¡ÆÛ°¡ ¼³Á¤µÇ¾î ÀÖÀ» ¶§¸¸ È¿°ú°¡ ÀÖ´Â °æ¿ìµµ ÀÖ´Ù.) Perry F Nguyen (<tt/pfnguyen@netcom22.netcom.com/)¿¡ ÀÇÇϸé, AMI BIOS´Â BIOS Æнº¿öµå°¡ ¼³Á¤µÇ¾î ÀÖÀ¸¸é, Ctrl-Alt-Backspace¸¦ ´©¸£¸é CMOS/BIOS Æнº¿öµå°¡ ÀÔ·ÂµÉ ¶§±îÁö Å°º¸µå¸¦ Àá±ÅµÎ°í LED¸¦ Äѵдٰí ÇÑ´Ù. <sect1>Dosemu¿¡¼­ÀÇ Å° Á¶ÇÕ<p> <nidx>key combinations!dosemu</nidx> <nidx>dosemu!key combinations for</nidx> <verb> Ctrl-Alt-Fn VT nÀ¸·Î À̵¿ (0.50 ¹öÀü ÀÌÈĺÎÅÍ; ÀÌÀü¿¡´Â Alt-Fn) Ctrl-Alt-PgDn dosemu Á¾·á (RAW ¸ðµåÀÏ °æ¿ì) (´Ù¸¥ Å°µéÀº dosemu ¹®¼­¸¦ ÂüÁ¶ÇÒ °Í.) </verb> <sect1>½Éº¼ Á¶ÇÕÇÏ´Â ¹æ¹ý<p> <nidx>keyboard!composing symbols with</nidx> <nidx>symbols!composing with keyboard</nidx> ½Éº¼ Çϳª´Â ¼­³Ê°³ÀÇ Å°º¸µå¸¦ »ç¿ëÇÏ¿© ¸¸µé ¼ö ÀÖ´Ù. <itemize> <item> ¿ÞÂÊ Alt¸¦ ´©¸¥Ã¤·Î, Å°Æе忡 ÀÖ´Â ¼ýÀÚ¸¦ Ä£ ÈÄ, Alt Å°¸¦ ³õÀ¸¸é ÀÌ ¼ýÀÚ¿¡ ÇØ´çÇÏ´Â Äڵ带 °¡Áø ½Éº¼À» ¸¸µé¾î ³½´Ù. (À¯´ÏÄÚµå ¸ðµå¿¡¼­µµ °°Àº ±¸Á¶ÀÌ´Ù. ÇÏÁö¸¸ ÀÌ °æ¿ì À¯´ÏÄÚµå ½Éº¼À» Á¤ÀÇÇϴµ¥ »ç¿ëµÇ´Â 4ÀÚ¸® 16Áø¼öÀ̾î¾ß ÇÑ´Ù.) <item> ±¸º° ºÎÈ£ ´ÙÀ½¿¡ ½Éº¼ÀÌ ¿À¸é ±× ±¸º°ºÎÈ£°¡ ºÙÀº ½Éº¼À» ¹ß»ý½ÃŲ´Ù. ±× Á¶ÇÕÀÌ Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¸é, °¢°¢ÀÇ Å°°¡ º°µµ·Î Ãë±ÞµÈ´Ù. (¿ªÀÚ ÁÖ: ±¸º° ºÎÈ£¶õ ¾×»÷Æ® ±âÈ£³ª ¿ò¶ó¿ìÆ® °°Àº ºÎÈ£¸¦ ÀǹÌÇÔ.) ¾î´À Å°¸¦ ±¸º°ºÎÈ£·Î »ç¿ëÇÒ °ÍÀΰ¡´Â »ç¿ëÀÚ°¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. µðÆúÆ® °ªÀº ¾Æ¹«°Íµµ ¼³Á¤µÇÁö ¾ÊÀº »óÅÂÀÌ´Ù. 5°³(2.0.25 ÀÌÈÄ´Â 6°³)ÀÇ ±¸º° ºÎÈ£¸¦ (loadkeys(1)À» »ç¿ëÇÏ¿©) Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ±× 5°³(6°³)´Â dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis (dead_cedilla)ÀÌ´Ù. Á¤È®È÷ ¸»ÇÏÀÚ¸é, ¾î¶² ±¸º°ºÎÈ£°¡ ºÙ´Â Áöµµ »ç¿ëÀÚ°¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¶§ÀÇ ½Éº¼Àº Compose + ±¸º°±âÈ£ + ½Éº¼°ú °°´Ù. <item> Compose ´ÙÀ½¿¡ µÎ°³ÀÇ ½Éº¼ÀÌ µû¶ó¿À¸é Á¶ÇÕµÈ ½Éº¼À» »ý¼ºÇÑ´Ù. ÀÌ Á¶Çյ鵵 »ç¿ëÀÚ°¡ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¿äÁò¿¡´Â µðÆúÆ® °ªÀ¸·Î 68°³ÀÇ Á¶ÇÕÀÌ Á¤ÀǵǾî ÀÖ´Ù. "dumpkeys | grep compose"¶ó°í Çϸé ÀÌ Á¤ÀǵéÀ» º¼ ¼ö ÀÖ´Ù. <item> (1.3.33 ÀÌ·¡·Î) `Sticky' º¯°æ Å°¶ó´Â °ÍÀÌ Àִµ¥, ¿¹¸¦ µé¸é SControl, C·Î ˆC¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ°í, Scontrol, SAlt, Backspace·Î Ctrl-Alt-Backspace¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. </itemize> Àû¾îµµ ÀÌ·¯ÇÑ Á¶ÇÕ ¸ÞÄ«´ÏÁò¿¡´Â 3°¡Áö°¡ ÀÖÀ½À» À¯ÀÇÇÏÀÚ. <enum> <item> loadkeys¿Í °áÇÕÇؼ­ »ç¿ëÇÏ´Â ¸®´ª½º Å°º¸µå µå¶óÀ̹ö ¸ÞÄ«´ÏÁò. <item> X ¸ÞÄ«´ÏÁò - X386keybd(1), ÃֽŠ¹öÀüÀº XFree86kbd(1)À» ÂüÁ¶. X11R6ÇÏ¿¡¼­ <tt>/usr/X11R6/lib/X11/locale/iso8859-1/Compose</tt>¸¦ ÂüÁ¶.<p> ¶ÇÇÑ Andrew D. Balsa<htmlurl url="http://wauug.erols.com/~balsa/linux/deadkeys/index.html" name="http://wauug.erols.com/~balsa/linux/deadkeys/index.html"> ÀÇ Á¶¾ðÀ» ÂüÁ¶ÇÏ¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù. <item> "iso-insert.el"¸¦ ·ÎµåÇϰųª `iso-accents-mode'¸¦ È£ÃâÇÏ¿© ¾ò´Â emacs ¸ÞÄ«´ÏÁò. </enum> X¿¡¼­´Â µÎ ½Éº¼ÀÇ ¼ø¼­´Â °ü°è¾ø´Ù. Compose-,-c¿Í Compose-c-´Â µÑ ´Ù c-cedilla¸¦ ¹ß»ý½ÃŲ´Ù. ¸®´ª½º¿Í emacs¿¡¼­´Â ´ÜÁö ¾ÕÀÇ ½ÃÄö½º¸¸ÀÌ ÀÛµ¿ÇÑ´Ù. X¿¡¼­´Â compose Á¶ÇÕÀÇ ¸ñ·ÏÀÌ °íÁ¤µÇ¾î ÀÖÁö¸¸ ¸®´ª½º¿Í emacs´Â º¯µ¿ °¡´ÉÇÏ´Ù. ÀÌ ¼¼ ¹æ¹ý¿¡¼­ µðÆúÆ® ¼³Á¤Àº ºñ½ÁÇÏ°Ô µÇ¾î ÀÖÁö¸¸ ¼¼¼¼È÷ º¸¸é ¾à°£ ´Ù¸£´Ù. <sect1>The SysRq key<p> <nidx>SysRq key</nidx> Ä¿³ÎÀ» CONFIG_MAGIC_SYSRQ¸¦ ¼³Á¤Çسõ°í ÄÄÆÄÀÏÇß´Ù¸é (ÀÌ ±â´ÉÀº ¸®´ª½º 2.1.43 ÀÌÈÄ¿¡ »ý°å´Ù.) ÇöÀç Å°º¸µå ¸ðµå¿¡ »ó°ü¾øÀÌ Æ¯º°ÇÑ ½Ã½ºÅÛ ÇÔ¼ö°¡ ¿¬°áµÇ¾î ÀÖ´Â ´ÜÀÏ Å°°¡ Á¸ÀçÇÑ´Ù. (ÀÌ°ÍÀº <tt><linux/keyboard.h></tt>¿¡ Á¤ÀǵǾî ÀÖ´Ù.) PC ¾ÆÅ°ÅØó¿¡¼­ ÀÌ Æ¯¼öÅ°´Â ´ç¿¬È÷ Alt+SysRq Å°ÀÌ°í µÎ Alt Å°Áß ¾î´À°ÍÀÌ¶óµµ µ¿ÀÛÇÒ °ÍÀÌ´Ù. (ÇÏÁö¸¸ CONFIG_MAGIC_SYSRQ°¡ ¼³Á¤µÇÁö ¾ÊÀº »óŶó¸é ÀÌ Å°ÀÇ µðÆúÆ® µ¿ÀÛÀº ÀÌÀü ÄַܼΠµ¹¾Æ°¡´Â °ÍÀÌ´Ù.) <p> ÀÌ Å°¸¦ ´©¸¥Ã¤·Î ´Ù¸¥ Å°¸¦ ´©¸£¸é ÇØ´çµÇ´Â µ¿ÀÛÀÌ ¼öÇàµÈ´Ù. ÀÌ µ¿ÀÛÀº »ç¿ëÀÚ°¡ ´©±¸°Ç°£¿¡ ¼öÇàµÈ´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº <tt>/drivers/char/sysrq.c</tt>¸¦ ÂüÁ¶Ç϶ó. ÀÌ ±â´ÉÀº Ä¿³Î ÇØÄ¿¿¡°Ô¸¸ Àǹ̰¡ ÀÖÀ¸¹Ç·Î ÀÌÁ¤µµ¸¸ ¾ð±ÞÇصµ ÃæºÐÇÒ °ÍÀÌ´Ù. ÇÏÁö¸¸ Á» ´õ Çغ¸ÀÚ. <p> rÅ°¸¦ ´©¸£¸é Å°º¸µå ¸ðµå°¡ K_XLATE·Î Àç¼³Á¤µÈ´Ù. kÅ°´Â SAK¿Í ÄÜ¼Ö Àç¼³Á¤ÀÌ ¼öÇàµÈ´Ù. bÅ°´Â ½Ã½ºÅÛÀÌ Áï½Ã ÀçºÎÆõȴÙ. (»ç¿ëÀÚ°¡ ¿øÄ¡ ¾Ê´Â ¹º°¡°¡ ¼³Á¤µÇ´ÂÁö À¯ÀÇÇ϶ó.) oÅ°´Â (¸Ó½ÅÀÌ ÀÌ ±â´ÉÀ» Áö¿øÇϸé) Àü¿øÀÌ ²¨Áø´Ù. sÅ°´Â ÀÀ±Þ sync°¡ ¿¹¾àµÈ´Ù. uÅ°´Â ÀÀ±Þ read-only remount°¡ ¿¹¾àµÈ´Ù. p, t, m Å°´Â ¿©·¯°¡Áö Á¤º¸¸¦ º¸¿©ÁØ´Ù. (°°Àº Á¤º¸¸¦ RAlt,RCtrl,RShift+ScrollLock·Îµµ º¼ ¼ö ÀÖ´Ù.) e, i, lÅ°´Â °¢°¢ ¸ðµç ÇÁ·Î¼¼½ºµéÀÌ SIG_TERM ¶Ç´Â SIG_KILLÀ» ¹Þµµ·Ï ÇÑ´Ù. lÅ°´Â init ÇÁ·Î¼¼½º±îÁö Á×ÀδÙ. ¼ýÀÚµéÀº ·Î±× ·¹º§À» ¼³Á¤ÇÑ´Ù. ±× ¿Ü¿¡ ´ÙÀ½ °ÍµéÀº °£·«ÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù. <tt>SysRq: unRaw saK Boot Off Sync Unmount showPc showTasks showMem loglevel0-8 tErm kIll killalL</tt>. <p> ÁÖÀÇ: ÀÌ°ÍÀº ¾ÆÁÖ À§ÇèÇÑ ÀÛ¾÷ÀÌ´Ù! ¶ÇÇÑ ÀÌ°ÍÀº »ç½Ç»ó »ç¿ëÀÚÀÇ keymapÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î »ç½Ç»ó keymapÀÇ »óųª Àüü Ä¿³ÎÀÇ »óŵµ ºÒÈ®½ÇÇÏ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. µðº¸¶ô Å°º¸µå »ç¿ëÀÚ¶ó¸é ´õ´õ¿í ¹®Á¦°¡ µÈ´Ù. ´Ù¸¥ ÀÚÆÇ ¹è¿­À» »ç¿ëÇÏ´Â °ÍÀÌ ¾ÈÀüÇÒ °ÍÀÌ´Ù. ¿µ¾î¿Í ´Ù¸¥ ¹è¿­ÀÎ ÇÁ¶û½º¾î³ª µ¶ÀÏ¾î µîÀÇ Å°º¸µå´Â A,M,Q,W,Y,Z °°Àº À§ÇèÇÑ ¹®ÀÚµéÀº ÀÌ µ¿ÀÛ¿¡ »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. <sect>raw ¸ðµå¿¡¼­ Å»ÃâÇÏ´Â ¹æ¹ý<p> <nidx>raw mode, exiting</nidx> K_RAW Å°º¸µå ¸ðµå¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ K_XLATE·Î Å°º¸µå ¸ðµå¸¦ º¹±Í½ÃÅ°Áö ¾Ê°í Á¾·áµÇ¸é ¾Æ¹«°Íµµ ÇÒ ¼ö ¾ø´Â »óÅ°¡ µÇ¾î ¹ö¸°´Ù. ½ÉÁö¾î´Â Ctrl-Alt-Delµµ ¸ÔÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ Àç¼ö°¡ ÁÁÀ¸¸é ÀçºÎÆà ¹öÆ°À» ´©¸£Áö ¾Ê¾Æµµ µÇ´Â °æ¿ì°¡ ÀÖ´Ù. (ÀÌ°ÍÀÌ ´ç¿¬È÷ ¹Ù¶÷Á÷ÇÑ °ÍÀÌ, ¸®ºÎÆÃÀ¸·Î Hack °ÔÀÓÀ» Á×À̸é ÀÌ°ÍÀ» ÇÏ´ø »ç¶÷µéÀÌ È­¸¦ ³¾ °ÍÀÌ ¾Æ´Ñ°¡! ¶ÇÇÑ È­ÀÏ ½Ã½ºÅÛÀÌ ¼Õ»óÀ» ÀÔÀ» ¼öµµ ÀÖ´Ù.) ½¬¿î ¹æ¹ýÀ¸·Î´Â ´Ù¸¥ Å͹̳ÎÀ̳ª ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ Á¢¼ÓÇÏ¿© <tt>kbd_mode -a</tt>¸¦ ½ÇÇà½ÃÅ°¸é µÈ´Ù. ¾Æ·¡ÀÇ °úÁ¤¿¡¼­ X´Â ½ÇÇàÁßÀÌÁö ¾Ê°í, µð½ºÇ÷¹ÀÌ´Â ÅؽºÆ® ¸ðµåÀÌ¸ç »ç¿ëÀÚ°¡ bash ÇÁ·ÒÇÁÆ®¿¡ ÀÖÀ¸¸ç Å°º¸µå´Â US¹è¿­ÀÌ°í Á¾·á ¹®ÀÚ´Â Ctrl-CÀÓÀ» °¡Á¤Çß´Ù. 1 ´Ü°è. X ±âµ¿. 2¸¦ ´©¸¥Ã¤·Î F12¸¦ ´©¸£¸é¼­ °ð¹Ù·Î =¸¦ ´©¸¥´Ù. ÀÌ·¸°Ô Çϸé X°¡ ¶ã °ÍÀÌ´Ù. (¼³¸í: ÀÓÀÇÀÇ Å°¸¦ Çϳª ´­·¶À» ¶§ ¸¸¾à Å°ÄÚµå K°¡ ¹ß»ýÇÑ´Ù¸é ±× Å°¸¦ ¶¿ ¶§´Â K+128À̶ó´Â Å°Äڵ尡 ¹ß»ýÇÏ°Ô µÈ´Ù. ¾Æ¸¶µµ »ç¿ëÇÏ°í ÀÖ´Â ½©Àº ÀÌ ¶§ ¹ß»ýÇÏ´Â ³ôÀº °ªÀÇ ¹®ÀÚ¸¦ Á¦´ë·Î ó¸®ÇÏÁö ¸øÇÒ °ÍÀÌ´Ù. µû¶ó¼­ Å°¸¦ ´©¸£°í ÀÖÀ¸¸é ÀÌ·¸°Ô ³ôÀº °ªÀÇ Å°Äڵ尡 ¹ß»ýÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖ´Ù. ÇÏÁö¸¸, Àçºü¸£°Ô µ¿ÀÛÇØ¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ±×·¸Áö ¾ÊÀ¸¸é Å° ¹Ýº¹ÀÌ ½ÃÀ۵DZ⠶§¹®ÀÌ´Ù. ¼ýÀÚ 2´Â ÀÌÀü ÀÛ¾÷À» ¹«Á¶°Ç Á¾·á½ÃÅ°´Â Ctrl-C¸¦ ³»º¸³»°í, F12´Â X¸¦, =´Â ¸®ÅÏÀ» ¹ß»ý½ÃŲ´Ù.) ¾Æ¸¶µµ ÀÌ·¸°Ô ¶ç¿î X´Â È­¸éÀ» ȸ»öÀ¸·Î ¸¸µé¾úÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇϸé <tt/.xinitrc/°¡ ÁöÁ¤µÇÁö ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ÇÏÁö¸¸ Ctrl-Alt-FnÀº ¸ÔÈ÷±â ¶§¹®¿¡ »ç¿ëÀÚ´Â ´Ù¸¥ VT·Î À̵¿ÇÒ ¼ö ÀÖ´Ù. (¹°·Ð Ctrl-Alt-Backspaceµµ ÀÛµ¿ÇϹǷΠÁ¾·áÇÒ ¼ö ÀÖÁö¸¸ Çö »óÅ¿¡¼­ Á¾·á´Â ¿øÇÏ´Â ¹Ù°¡ ¾Æ´Ï´Ù.) 2 ´Ü°è: Å°º¸µå ¸ðµå º¯°æ ¼³Á¤. (°£´ÜÈ÷ <tt>sleep 5; kbd_mode -a</tt>¶ó°í ÇÏ¸é µÈ´Ù.) 3 ´Ü°è: ´Ù½Ã X Á¾·á. Alt-Fx(Á¾Á¾ Alt-F7)·Î X·Î µ¹¾Æ°¡¼­ Ctrl-Alt-Backspace¸¦ ´©¸£¸é X°¡ Á¾·áµÈ´Ù. 5ÃÊ°¡ Áö³ª¸é Å°º¸µå°¡ ´Ù½Ã ¸»À» µè°Ô µÉ °ÍÀÌ´Ù. ÀÌ·± »óȲ¿¡ »ó½Ã ´ëºñÇÏ°í ½Í´Ù¸é <tt>\215A\301</tt> (3 ½Éº¼)À» <tt/kbd_mode -a/¿¡ ´ëÇÑ alias·Î ¸¸µé¾î µÎÀÚ. ÀÌÁ¦´Â ´ÜÁö = F7 = ÀÌ·¸°Ô 3 Å°¸¸ ´©¸£¸é Å°º¸µå°¡ Á¦Á¤½ÅÀ¸·Î µ¹¾Æ¿À°Ô µÉ °ÍÀÌ´Ù. <sect>Å°º¸µå LED<p> <nidx>LEDs, keyboard</nidx> <nidx>keyboard!LEDs on</nidx> 1. °¢ tty´ç Å°º¸µå Ç÷¡±×°¡ Á¸ÀçÇÑ´Ù. °¢°¢ÀÇ VC¿¡´Â °íÀ¯ÀÇ NumLock, CapsLock, ScrollLockÀÌ Á¸ÀçÇÑ´Ù. µðÆúÆ® °ªÀ¸·Î ÀÌ Å°º¸µå Ç÷¡±×´Â LED¿¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÇ ¼³Á¤À» ¹Ù²Ù´Â Åë»óÀûÀÎ ¹æ¹ýÀº ÇØ´çµÇ´Â Å°¸¦ ´©¸£´Â °ÍÀÌ´Ù. (÷¾ð: ¾îÇø®ÄÉÀÌ¼Ç Å°¸ðµå¿¡ ÀÖÀ» ¶§ NumLock Å°¸¦ ´©¸£¸é NumLock »óŸ¦ ¹Ù²ÙÁö ¾Ê°í À̽ºÄÉÀÌÇÁ ½ÃÄö½º¸¦ ¹ß»ý½ÃŲ´Ù. ¾î¶°ÇÑ °æ¿ì¿¡¶óµµ ÀÌ Å°¸¦ ¸Ôµµ·Ï ÇÏ°í ½Í´Ù¸é NumLockÀ» Bare_Num_Lock¿¡ ¿¬°á½ÃÄÑµÎ¸é µÈ´Ù. 2. °¢ tty´ç µðÆúÆ® Å°º¸µå Ç÷¡±×°¡ Á¸ÀçÇÑ´Ù. Àç¼³Á¤ ½ÅÈ£°¡ µé¾î¿À¸é Å°º¸µå¸¦ ÃʱâÈ­ÇÑ´Ù. µû¶ó¼­ Ç×»ó NumLockÀÌ ÄÑÁöµµ·Ï ÇÒ ¼öµµ ÀÖ´Ù. `<tt/setleds -D/¶ó°í ÇÏ¸é µÈ´Ù. 3. led°¡ Å°º¸µå Ç÷¡±×¸¦ ¹Ý¿µÇÏÁö ¾Ê°í ¹º°¡ ´Ù¸¥ °ÍÀ» ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù. <p> 3A. ¹º°¡ ´Ù¸¥ °ÍÁß Çϳª´Â Ä¿³Î¿¡ ÀÖ´Â ¼¼°³ÀÇ ºñÆ®·Î¼­, »ç¿ëÀÚ°¡ ¾î¶² Çϵå¿þ¾î³ª ¼ÒÇÁÆ®¿þ¾î »óŸ¦ °¨½ÃÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» ¿øÇÑ´Ù¸é Ä¿³Î ¼Ò½º¸¦ ÆíÁýÇÏ¿© <tt/register_leds()/¸¦ È£ÃâÇϵµ·Ï ÇØ¾ß ÇÑ´Ù. <p> 3B. »ç¿ëÀÚ ÇÁ·Î±×·¥ÀÌ LED¿¡ Ç¥½ÃµÇµµ·Ï ÇÏ´Â °Íµµ ¿©±â¿¡ ÇØ´çµÈ´Ù. µû¶ó¼­ ÀÌ·¯ÇÑ ±â´ÉÀ» »ç¿ëÇÏ¸é ¾µ¸¸ÇÑ ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é KDSETLED ioctlÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ÈÄÀÚ¿Í °°Àº »ç¿ëÀº ttyº°·Î Àû¿ëµÇ´Â °ÍÀÌ ¾Æ´ÏÁö¸¸ ÀüÀÚ¿Í ÈÄÀÚ°£ÀÇ ¼±ÅÃÀº tty´ç ÇÒ ¼ö ÀÖ´Ù. ¿ä¾à: °¢°¢ÀÇ tty¿¡´Â Ç÷¡±× <tt/kbd->ledmode/°¡ ÀÖ´Ù. ÀÌ°ÍÀÌ LED_SHOW_FLAGS °ªÀ» °¡Áö¸é ÇØ´ç tty¿¡ Å°º¸µå Ç÷¡±×(NumLock µî)°¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÌ LED_SHOW_MEM °ªÀ» °¡Áö¸é ¼±ÅÃµÈ 3°³ÀÇ ¸Þ¸ð¸® ÁÖ¼Ò°¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÌ LED_SHOW_IOCTL °ªÀ» °¡Áö¸é led´Â KDSETLED ioctl°¡ ÇÒ´çÇÑ °¡Àå ÃÖ½ÅÀÇ °ªÀ» º¸¿©ÁØ´Ù. Çϳª¸¸ ´õ Ãß°¡Çϸé, X´Â ioctlÀ» »ç¿ëÇÏ¿© LED¸¦ ¼³Á¤ÇÑ´Ù. ÇÏÁö¸¸ Á¾·á°¡ µÉ ¶§ X¸¦ ¶ç¿ü´ø VT¸¦ Àç¼³Á¤ÇÏÁö ¸øÇÑ´Ù. µû¶ó¼­ X¸¦ »ç¿ëÇÏ°í ³ª¸é µðÆúÆ® LED_SHOW_FLAGS »óÅ·ΠÀÖÁö ¾ÊÀº VT°¡ »ý±æ ¼öµµ ÀÖ´Ù. ÀÌ·± °æ¿ì `<tt/setleds -L/'À» ±× VT¿¡¼­ ½ÇÇàÇÏ¸é ¹®Á¦°¡ ÇØ°áµÈ´Ù. setleds(1)¸¦ ÂüÁ¶Ç϶ó. <sect>TERM º¯¼ö<p> <nidx>TERM environment variable</nidx> <nidx>environment variables!TERM</nidx> ¸¹Àº ÇÁ·Î±×·¥µéÀÌ <tt/TERM/ º¯¼ö¿Í <tt>/etc/termcap</tt> ¶Ç´Â <tt>/usr/lib/terminfo/*</tt> µ¥ÀÌŸº£À̽º¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ¿­À» ¾îµð·Î º¸³¾ Áö, Ä¿¼­¸¦ ¾îµð·Î ¿òÁ÷ÀÏ Áö µîµîÀ» °áÁ¤ÇÑ´Ù. ¶ÇÇÑ »ç¿ëÀÚ ¹é½ºÆäÀ̽º Å°, ±â´ÉÅ° µîµîÀÌ º¸³½ ¹®ÀÚ¿­À» °áÁ¤Çϴµ¥ »ç¿ëÇϱ⵵ ÇÑ´Ù. ÀÌ °ªÀº ÃÖÃÊ¿¡´Â Ä¿³ÎÀÌ (ÇØ´ç Äֿܼ¡ ´ëÇØ) ¼³Á¤ÇÑ´Ù. º¸Åë, ÀÌ º¯¼ö´Â <tt>/etc/ttytype</tt>¸¦ »ç¿ëÇÏ¿©, ¶Ç´Â <tt>/etc/inittab</tt>¿¡ ÁöÁ¤µÈ Àμö·Î Àç¼³Á¤µÈ´Ù. ¶§¶§·Î <tt>/etc/profile</tt>¿¡¼­ ¼³Á¤µÇ±âµµ ÇÑ´Ù. ±¸Çü ½Ã½ºÅÛ¿¡¼­´Â <tt/TERM=console/ ¶Ç´Â <tt/TERM=con80x25/¸¦ »ç¿ëÇÑ´Ù. (ncurses 1.8.6À» »ç¿ëÇÏ´Â) ½ÅÇü ½Ã½ºÅÛÀº Á» ´õ ÀÚ¼¼È÷ ±â¼úµÇ¾î ÀÖ´Â <tt/TERM=linux/ ¶Ç´Â <tt/TERM=linux-80x25/¸¦ »ç¿ëÇÑ´Ù. ±×·¯³ª <tt/setterm/ÀÇ ¿¾ ¹öÀüÀº <tt/TERM=con*/¿¡ ´ëÇØ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. <tt/TERM=linux/¸¦ »ç¿ëÇ϶ó. Ä¿³Î 1.3.2 ÀÌ·¡·Î Äֿܼ¡ ´ëÇÑ Ä¿³ÎÀÇ µðÆúÆ®´Â <tt/TERM=linux/·Î µÇ¾î ÀÖ´Ù. ¸®´ª½º¿¡ ´ëÇÑ Ç׸ñÀÌ ¾ø´Â termcapÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é Äֿܼ¡ ´ëÇÑ Ç׸ñ¿¡ ¾Æ·¡¿Í °°ÀÌ <tscreen><verb> console|con80x25|linux:\ </verb></tscreen> ¸®´ª½º¿¡ ´ëÇÑ Ç׸ñÀ» ³Ö°í, <tt>/usr/lib/terminfo/l/linux</tt>¸¦ <tt>/usr/lib/terminfo/c/console</tt>¿¡ º¹»çÇϰųª ½Éº¼¸¯ ¸µÅ©¸¦ ÇØµÎ¸é µÈ´Ù. <sect1>Terminfo<p> <nidx>terminfo</nidx> ¸®´ª½º Äֿܼ¡ ´ëÇÑ terminfo Ç׸ñÀº ncurses 1.8.6 ÀÌÈÄ·Î <tt>kich1=\E[2˜</tt> Ç׸ñÀ» »©µÎ¾ú´Ù. ÇÏÁö¸¸ ÀϺΠÇÁ·Î±×·¥¿¡¼­ ÇÊ¿äÇÑ °æ¿ì°¡ ÀÖ´Ù. ÀÌ°ÍÀ» »ç¿ëÇÏ·Á¸é È­ÀÏÀ» ÆíÁýÇÏ°í ticÀ» ½ÇÇà½ÃÅ°¸é µÈ´Ù. <sect>ASCII°¡ ¾Æ´Ñ ¹®ÀÚ¼¼Æ®¿¡¼­ ÇÁ·Î±×·¥ »ç¿ëÇÏ´Â ¹ý<p> <nidx>non-ASCII characters, using</nidx> ºÒÇàÇß´ø °ú°Å¿¡´Â ÀÌ°ÍÀÌ »ó´çÈ÷ ¹®Á¦°Å¸®¿´´Ù. °¢°¢ÀÇ ÇÁ·Î±×·¥µéÀÌ °³º°ÀûÀ¸·Î ¸ðµç ºñÆ®°¡ Á¦´ë·Î ³²¾Æ ÀÖ´ÂÁö È®ÀÎÇØ¾ß Çß´Ù. ¹°·Ð ÇöÀçµµ ¸ðµç °ÍÀÌ ½¬¿î °ÍÀº ¾Æ´Ï´Ù. ÇÏÁö¸¸ ÃÖ±Ù¿¡ ¸¹Àº gnu À¯Æ¿¸®Æ¼¿¡¼­ <tt/LC_CTYPE=iso_8859_1/ ¶Ç´Â <tt/LC_CTYPE=iso-8859-1/¿¡ ´ëÇؼ­ ¾î¶»°Ô ´ëÀÀÇØ¾ß ÇÏ´ÂÁö ¾Ë°í ÀÖ´Ù. ÀÌ ¹æ¹ýÀ» ¸ÕÀú ½ÃµµÇØ º¸°í ¾ÈµÇ¸é ¾Æ·¡¿¡ ¼Ò°³ÇÑ ÈùÆ®¸¦ Âü°íÇØ º¸¶ó. libcÀÇ ÃֽŠ¹öÀü¿¡¼­ setlocale()Àº locale È­ÀÏ(Áï, <tt>/usr/lib/locale</tt>)À» ¼³Ä¡Çؾ߸¸ Á¦´ë·Î ÀÛµ¿ÇÑ´Ù´Â Á¡¿¡ À¯ÀÇÇØ¾ß ÇÑ´Ù. ¿ì¼±, 8¹ø° ºñÆ®°¡ Ä¿³Î ÀÔ·Â ÇÁ·Î¼¼½º¿¡¼­ »ì¾Æ ³²µµ·Ï <tt/stty cs8 -istrip -parenb/°¡ ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù. A. <tt/emacs/ÀÇ °æ¿ì¿¡´Â °³º°ÀûÀÎ »çÇ×Àº ±× ¹öÀü¿¡ »ó´çÈ÷ ÀÇÁ¸ÇÑ´Ù. ¾Æ·¡ Á¤º¸´Â ¹öÀü 19.34¿¡ ´ëÇÑ °ÍÀÌ´Ù. »ç¿ëÀÚÀÇ <tt>$HOME/.emacs</tt>¿¡ ¾Æ·¡¿Í °°Àº ³»¿ëÀ» ³Ö´Â´Ù. <tscreen><verb> (set-input-mode nil nil 1) (standard-display-european t) (require 'iso-syntax) </verb></tscreen> ù¹ø° ÁÙ (Á¤È®È÷´Â ¸¶Áö¸·ÀÇ 1)Àº <tt/emacs/°¡ ÀԷµǴ ¹®ÀÚµéÀÇ 8¹ø° ºñÆ®¸¦ ¾ø¾ÖÁö ¾Êµµ·Ï ÁöÁ¤ÇÑ´Ù. µÎ¹ø° ÁÙÀº <tt/emacs/°¡ ºñASCII ¹®ÀÚ¸¦ 8Áø¼ö À̽ºÄÉÀÌÇÁ·Î Ç¥½ÃÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ¼¼¹ø° ÁÙÀº syntactic Ư¼ºÀ» ÁöÁ¤ÇÏ°í Latin-1 ¹®ÀÚ¼¼Æ®¸¦ º¯È¯ Å×À̺í·Î Àû¿ëÇϵµ·Ï ÇÑ´Ù. »ç¿ëÀÚ°¡ ȯ°æº¯¼ö·Î <tt/LC_CTYPE=ISO-8859-1/¸¦ ¼³Á¤Çß´Ù¸é µÚÀÇ µÎ ÁÙÀº Áߺ¹µÇ´Â °ÍÀÌ´Ù. (¿©±â¿¡ »ç¿ëµÇ´Â º¯¼ö´Â <tt/LC_ALL/ ¶Ç´Â <tt/LANG/ÀÏ ¼öµµ ÀÖ´Ù. °ªÀº µÚ¿¡ ºÙ´Â ¼ýÀÚ°¡ `88591' ¶Ç´Â `8859-1' `8859_1' µî ¾î´À°Íµµ µÈ´Ù.) <p> ¿©±â±îÁö µÇ¾î ÀÖÀ¸¸é ÀÏ´Ü OK. ºñASCII ISO 8859-1 ½Éº¼À» Ç¥½ÃÇÏÁö ¸øÇÏ´Â Å͹̳ο¡¼­´Â <tscreen><verb> (load-library "iso-ascii") </verb></tscreen> ¶ó°í ¸í·ÉÀ» ³»¸®¸é ¾×»÷Æ® ±âÈ£ÀÇ ¹®ÀÚ°¡ Ç¥½ÃµÉ °ÍÀÌ´Ù. »ç¿ëÀÚÀÇ keymapÀÌ ºñASCII ¹®ÀÚ¸¦ ¸¸µé±â ½±Áö ¾Ê´Ù¸é <tscreen><verb> (load-library "iso-transl") </verb></tscreen> ¶ó°í ¸í·ÉÀ» ³»¸®¸é 2¹®ÀÚ ½ÃÄö½º Ctrl-X 8À» ÇϳªÀÇ Á¶ÇÕ¹®ÀÚ·Î ¸¸µç´Ù. µû¶ó¼­ 4¹®ÀÚ ½ÃÄö½º Ctrl-X 8 , c´Â c-cedilla¸¦ ¸¸µç´Ù. ¹«Áö ºÒÆíÇÑ ¹æ¹ýÀÌ´Ù. <p> <tscreen><verb> (iso-accents-mode) </verb></tscreen> ¸í·ÉÀº ISO-8859-1 ¾×¼¾Æ® ¸ðµå¸¦ Åä±ÛÇÒ °ÍÀÌ´Ù. ÀÌ ¸ðµå¿¡¼­´Â ', `, ", ˆ, ˜, / ÀÌ·¸°Ô 6°³ÀÇ Å°°¡ ±× ´ÙÀ½ ³ª¿À´Â ½Éº¼À» º¯°æÇÏ´Â µ¥µåÅ°ÀÌ´Ù. Ư¼öÇÑ Á¶ÇÕ: ˜c´Â cedilla°¡ ºÙÀº c, ˜d´Â Icelandic eth, ˜t´Â Icelandic thorn, "s´Â German sharp s, /a´Â ring ºÙÀº a, /e´Â a-e ligature, ˜<¿Í ˜>´Â guillemots, ˜!´Â µÚÁýÈù °¨ÅººÎÈ£, ˜?´Â µÚÁýÈù ¹°À½Ç¥, ''´Â »ÏÁ×ÇÑ ¾×¼¾Æ®ÀÌ´Ù. ¾×¼¾Æ®ÀÇ ±âº» ´ëÀÀÀº À§¿Í °°´Ù. º¯¼ö <tt/iso-languages/´Â (¾ð¾î À̸§, ¾×¼¾Æ® ´ëÀÀ) ½ÖÀÇ ¸ñ·ÏÀÌ´Ù. µðÆúÆ®¿Í ´Ù¸¥ ´ëÀÀÀ» ÇÏ·Á¸é <tscreen><verb> (iso-accents-customize LANGUAGE) </verb></tscreen> ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ¿©±â¼­ LANGUAGE´Â <tt/"portuguese"/, <tt/"irish"/, <tt/"french"/, <tt/"latin-2"/, <tt/"latin-1"/ Áß ÇϳªÀÌ´Ù. ¸®´ª½ºÀÇ µðÆúÆ® Á¶ÇÕ ¹®ÀÚ´Â Ctrl-À̱⠶§¹®¿¡ ¾îµð¼­³ª ÀÌ°ÍÀ» »ç¿ëÇÏ´Â °ÍÀÌ Æí¸®ÇÒ °ÍÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ Çѹø Çغ¸ÀÚ. <tscreen><verb> (load-library "iso-insert.el") (define-key global-map [?\C-.] 8859-1-map) </verb></tscreen> <tt/emacs -nw/¸¦ »ç¿ëÇÏ´Â »ç¶÷À̶ó¸é µÎ¹ø° ÁÙÀÌ ¸»À» µèÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ °æ¿ì, <tt/.Xresources/¿¡ ´ÙÀ½°ú °°Àº ¶óÀÎÀ» ³Ö¾îµÎ¸é µÈ´Ù. <tscreen><verb> XTerm*VT100.Translations: #override\n\ Ctrl <KeyPress> . : string("\0308") </verb></tscreen> B. <tt/less/¿¡¼­´Â ȯ°æº¯¼ö¿¡ <tt/LESSCHARSET=latin1/À» ³Ö¾îµÎ¸é µÈ´Ù. <tt/man/ Ãâ·Â¿¡ <tt/\255/ ¶Ç´Â <tt/<AD>/°¡ º¸ÀÌ´Â °æ¿ì¿¡µµ È¿°ú°¡ ÀÖÀ» °ÍÀÌ´Ù. <tt/less/ÀÇ ¾î¶² ¹öÀü¿¡¼­´Â Latin-1 Ãâ·Â¿¡ Çã°¡°¡ °ÅºÎµÇ´Â °æ¿ì¿¡ ¼ÒÇÁÆ® ÇÏÀÌÇÂ(octal 0255, hex 0xAD)À» ÀÌ·± ½ÄÀ¸·Î ¸¸µç´Ù. C. <tt/ls/¿¡¼­´Â ¿É¼Ç <tt/-N/À» ÁÖ¸é µÈ´Ù. (¾Æ¸¶µµ alias¸¦ ¸¸µé¾î µÎ¾îµµ ÁÁÀ» °ÍÀÌ´Ù.) D. <tt/bash/ (¹öÀü 1.13.*)¿¡¼­´Â (Danish HOWTO¿¡ µû¸£¸é) ¾Æ·¡ÀÇ ³»¿ëÀ» <tt>$HOME/.inputrc</tt>¿¡ ³Ö¾îµÎ¸é µÈ´Ù°í ÇÑ´Ù. <tscreen><verb> set meta-flag on set convert-meta off </verb></tscreen> <tscreen><verb> set output-meta on </verb></tscreen> E. <tt/tcsh/¿¡¼­´Â <tscreen><verb> setenv LANG US_en setenv LC_CTYPE iso_8859_1 </verb></tscreen> ¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ½Ã½ºÅÛ¿¡ nls°¡ ¼³Ä¡µÇ¾î ÀÖÀ¸¸é ±×¿¡ ÇØ´çµÇ´Â ·çƾÀÌ »ç¿ëµÈ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â <tt/tcsh/´Â LANG°ú LC_CTYPE¿¡ ÁÖ¾îÁø °ª¿¡ °ü°è¾øÀÌ iso_8859_1À» °¡Á¤ÇÑ´Ù. tcsh(1)ÀÇ NATIVE LANGUAGE SYSTEM ´Ü¶ôÀ» ÂüÁ¶ÇÏ¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù. (Danish HOWTO¿¡´Â <tt>setenv LC_CTYPE ISO-8859-1; stty pass8</tt>¶ó°í ³ª¿Í ÀÖ´Ù.) F. <tt/flex/¿¡¼­ »ý¼ºÇÏ´Â Æļ­°¡ 8ºñÆ® ÀÔ·ÂÀ» ó¸®ÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é <tt/-8/ ¿É¼ÇÀ» ÁÖ¸é µÈ´Ù. (³Ê¹« ´ç¿¬ÇÏ´Ù.) G. <tt/elm/¿¡¼­´Â <tt/displaycharset/À» <tt/ISO-8859-1/·Î ¼³Á¤ÇÏ¸é µÈ´Ù. (Danish HOWTO: <tt/LANG=C/¿Í <tt/LC_CTYPE=ISO-8859-1/) H. (<tt/lynx/¿Í °°ÀÌ) curses¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡´Â David Silbey°¡ ´ÙÀ½°ú °°Àº À̾߱⸦ Çß´Ù. º¸ÅëÀÇ curses ÆÐÅ°Áö´Â ÃÖ»óÀ§ ºñÆ®¸¦ ºñµð¿À ¸ðµå ¹ÝÀü¿ëÀ¸·Î »ç¿ëÇÑ´Ù. (<tt>/usr/include/curses.h</tt>¿¡ Á¤ÀǵǾî ÀÖ´Â _STANDOUT Ç÷¡±×¸¦ º¼ °Í.) ÇÏÁö¸¸ <tt/ncurses/´Â 8-ºñÆ®¸¦ »ç¿ëÇÏÁö ¾Ê´Â °Í °°À¸¸ç iso-latin-8859-1À» ¿Ã¹Ù·Î º¸¿©ÁØ´Ù. I. (<tt/man/°ú °°ÀÌ) <tt/groff/¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÇ °æ¿ì, <tt/-Tascii/ ´ë½Å¿¡ <tt/-Tlatin1/À» »ç¿ëÇÏ¸é µÈ´Ù. <tt/man/ ÇÁ·Î±×·¥ÀÇ ±¸ ¹öÀü¿¡¼­´Â <tt/col/µµ »ç¿ëÇ߱⠶§¹®¿¡ ´ÙÀ½¹ø Ç׸ñµµ °°ÀÌ Àû¿ëÇØ¾ß ÇÑ´Ù. J. <tt/col/ÀÇ °æ¿ì, 1) <tt>setlocale(LC_CTYPE,"");</tt>¸¦ ÇÒ ¼ö ÀÖµµ·Ï ¼öÁ¤Çß´ÂÁö È®ÀÎÇÏ°í, 2) <tt>LC_CTYPE=ISO-8859-1</tt>¸¦ ȯ°æº¯¼ö·Î ³Ö¾îµÎ¾î¶ó. K. <tt/rlogin/ÀÇ °æ¿ì, <tt/-8/ ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù. L. <tt/joe/ÀÇ °æ¿ì, L. For <tt/joe/, <tt>sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</tt>´Â ȯ°æ¼³Á¤ È­ÀÏÀ» ÆíÁýÇÏ¸é µÈ´Ù. ¾î¶² »ç¶÷µéÀº <tt>/usr/lib/joerc</tt> ù¹ø° Ä®·³¿¡ <tt/-asis/ ¿É¼ÇÀ» ³ÖÀ¸¶ó°í ÇÑ´Ù. M. LaTeXÀÇ °æ¿ì, <tt>\documentstyle[isolatin]{article}</tt>. LaTeX2e: <tt>\documentclass{article}\usepackage{isolatin}</tt>, ¿©±â¼­ <tt>isolatin.sty</tt>´Â <htmlurl url="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit" name="ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit">¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. ISO-8859-1 ÁÖÁ¦¿¡ ´ëÇÑ ¿©·¯°¡Áö ÁÁÀº ³íÀÇ¿Í 8ºñÆ® ¹®ÀÚ¸¦ ´Ù·ç´Â ¹æ¹ýÀÌ <tt>grasp.insa-lyon.fr:/pub/faq/fr/accents</tt>¿¡ (ÇÁ¶û½º¾î·Î) ½Ç·Á ÀÖ´Ù. (¿µ¾î·Î µÈ) ´Ù¸¥ ÁÁÀº ³»¿ëÀº <htmlurl url="ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1" name="ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1">¿¡¼­ º¼ ¼ö ÀÖÀ¸¸ç, ¹Ì·¯ »çÀÌÆ®´Â <htmlurl url="rtfm.mit.edu:pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq" name="rtfm.mit.edu:pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq"> ÀÌ´Ù. 8ºñÆ® ¹®ÀÚ¸¦ Á¦´ë·Î ´Ù·çÁö ¸øÇÏ´Â ÇÁ·Î±×·¥À» ¼Õ¼ö °íÃĺ¸°í ½Í´Ù¸é ÇÑ°¡Áö À¯³äÇÒ Á¡ÀÌ ÀÖ´Ù. ¸¸¾à signed char Çü º¯¼ö¸¦ »ç¿ëÇÑ´Ù¸é ¹®ÀÚ´Â À½¼ö°¡ µÇ´Â °æ¿ì°¡ »ý°Ü¼­ ÀÌ°ÍÀ» ¹è¿­ À妽º·Î Ãë±ÞÇÏ´Â ¹æ¹ýÀº µèÁö ¾Ê´Â´Ù. ¸î¸î ÇÁ·Î±×·¥ÀÇ °æ¿ì °æ¿ì¸¦ Àß °¡·Á¼­ (unsigned char) ij½ºÆ®·Î °íÄ¥ ¼ö ÀÖ´Ù. <sect>XFree86-2.1ÀÌ keymapÀ» ÃʱâÈ­ÇÒ ¶§ ÇÏ´Â ÀÏÀÌ Á¤È®ÀÌ ¹«¾ùÀϱî?<p> <nidx>keymap!initialization by XFree86</nidx> <nidx>XFree86!keymap initialization</nidx> ¹öÀü 2.1 ÀÌ·¡·Î XFree86Àº °¡´ÉÇÑÇÑ ¸®´ª½º keymapÀ¸·ÎºÎÅÍ »ç¿ëÇÒ keymapÀ» ÃʱâÈ­ÇÑ´Ù. ÇÏÁö¸¸ °¢ Å°´ç 16°³ÀÇ Ç׸ñÀ» °¡Áö°í ÀÖ°í, (Çϳª´ç Shift, AltGr, Ctrl, AltÀÇ Á¶ÇÕÀ¸·Î º¯°æÇÒ ¼ö ÀÖÀ¸¹Ç·Î) ÇöÀç´Â °¢ Å°´ç 256°³ÀÇ Ç׸ñÀ» °¡Áö°í ÀÖ´Ù. ¹Ý¸é¿¡ X´Â °¢ Å°´ç 4°³ÀÇ Ç׸ñ¸¸ÀÌ ÀÖ´Ù. (°¢ Å°´ç Shift, ModÀÇ Á¶ÇÕ) µû¶ó¼­ Å° Á¤º¸ÀÇ ÀϺδ ÇÊ¿¬ÀûÀ¸·Î ÀÒÀ» ¼ö ¹Û¿¡ ¾ø´Ù. Á¦ÀÏ Ã³À½ <tt/X/´Â <tt/Xconfig/ È­ÀÏÀ» Àд´Ù. ¿©±â¿¡´Â LeftAlt, RightAlt, RightCtl, ScrollLock Å°°¡ °¢°¢ Meta, ModeShift, Compose, ModeLock ¶Ç´Â ScrollLockÀ¸·Î Á¤ÀǵǾî ÀÖÀ» °ÍÀÌ´Ù. X386keybd(1) ¶Ç´Â XFree86kbd(1)¸¦ ÂüÁ¶Ç϶ó. ¿À¸¥ÂÊ CtlÅ°°¡ ModeShift ¶Ç´Â ModeLockÀ¸·Î Á¤ÀǵǾî ÀÖÁö ¾ÊÀ¸¸é Mod´Â º¸Åë ¿ÞÂÊ AltÅ°°¡ »ç¿ëµÈ´Ù. ¿À¸¥ÂÊ CtlÅ°°¡ ÀÌ·¸°Ô Á¤ÀǵǾî ÀÖÀ¸¸é ¿À¸¥ÂÊ CtlÅ°°¡ »ç¿ëµÈ´Ù. ¿À¸¥ÂÊ AltÅ°°¡ ÀÌ·¸°Ô Á¤ÀǵǾú´Ù¸é ÀÌ °æ¿ì´Â ¿À¸¥ÂÊ AltÅ°°¡ »ç¿ëµÇ´Â °ÍÀÌ´Ù. ÀÌ·± ¹æ½ÄÀ¸·Î ÇÑ Å°¿¡ ´ëÇÏ¿© ¸®´ª½º¿¡¼­ »ç¿ëÇÏ´Â 16°³ÀÇ Å° Àǹ̿¡¼­ XFree86ÀÇ 4°³ÀÇ Àǹ̸¦ °áÁ¤ÇÑ´Ù. Áö±ÝÀÇ ¸®´ª½º´Â µÎ°³ÀÇ CtlÅ°(ÁÂ,¿ì)°£, µÎ°³ÀÇ ShiftÅ°(ÁÂ,¿ì)°£ÀÇ Â÷ÀÌ´Â ±¸º°ÇÏÁö ¾Ê´Â °ÍÀÌ µðÆúÆ®ÀÌ´Ù. ÇÏÁö¸¸ <tt/X/´Â ÀÌ°ÍÀ» ±¸º°ÇÑ´Ù. Ä¿³Î keymapÀÌ ÀÐÇôÁö°í º¸Åë ÀÌ¿¡ ÇØ´çÇÏ´Â ¸íÈ®ÇÑ X ¹ÙÀεùÀÌ ¸¸µé¾îÁø´Ù. "action Å°"¿¡ ÇØ´çÇÏ´Â Show_Memory, Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, Caps_On, Boot¿¡ ´ëÇÑ ¹ÙÀεùÀº ±¸º°ÇÏÁö ¾Ê´Â ¹ÙÀεùÀ¸·Î Ãë±ÞµÇ¾î¼­ ¹«½ÃµÇ°í, (ShiftLockÀ» Á¦¿ÜÇÑ) lockµé°ú "ASCII-x" Å°µéÀÌ ¸¸µé¾îÁø´Ù. ´ÙÀ½, <tt/Xconfig/ È­ÀÏ¿¡ Á¤ÀǵǾî ÀÖ´Â °ÍµéÀÌ »ç¿ëµÈ´Ù. (µû¶ó¼­, <tt/Xconfig/ÀÇ Compose¿¡ ´ëÇÑ Á¤ÀÇ°¡ ¸®´ª½º keymap¿¡ ÀÖ´Â °ªµéÀ» ¹«½ÃÇÏ°í »ç¿ëµÉ °ÍÀÌ´Ù.) ±â´ÉÅ°¿¡ ¿¬°áµÇ¾î ÀÖ´Â ¹®ÀÚ¿­Àº ¾î¶»°Ô µÇ´Â°¡? ¾Æ¹«Àϵµ ¾ÈÀϾ´Ù. X¿¡´Â ±×·¯ÇÑ °³³äÀÌ ¾Æ¿¹ ¾ø´Ù. (ÇÏÁö¸¸ <tt/xterm/¿¡¼­ ±â´ÉÅ°¿¡ ¹®ÀÚ¿­À» Á¤ÀÇÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. ±×·¯³ª À©µµ¿ì °ü¸®ÀÚ°¡ ÀÌ Å°¸¦ ¸ÕÀú °¡·Îæ´Ù´Â Á¡¿¡ À¯ÀÇÇ϶ó.) ³ª´Â ¾ÆÁ÷ AltÅ°°¡ ´­·ÈÀ» ¶§, <tt/xterm/ÀÌ X keymapÀ» »ç¿ëÇÏ´ÂÁö È®½ÅÇÏÁö ¸øÇÏ°í ÀÖ´Ù. ±×³É ¸®¼Ò½º <tt/eightBitInput/À» »ìÆ캸°í ¹®ÀÚÀÇ ÃÖ»óÀ§ ºñÆ®°¡ ¼³Á¤µÇ¾î ÀÖ´ÂÁö¿¡ µû¶ó Ãß°¡ÀûÀÎ Escape ¹®ÀÚ¸¦ ¹ß»ý½ÃÅ°´Â °Í °°´Ù. (¸¶Ä¡ Äֿܼ¡¼­ setmetamode(1)°¡ ±×·¯ÇϵíÀÌ.) <sect>Àß ¾È¾²ÀÌ´Â Å°¿Í Å°º¸µå<p> <nidx>keyboard!unusual versions of</nidx> <nidx>keyboard!non-standard keys on</nidx> µÎ°³ÀÇ Å° PrintScrn/SysRq¿Í Pause/Break´Â °¢°¢ µÎ°³ÀÇ Å°Äڵ带 °¡Áö°í ÀÖ´Ù´Â Á¡¿¡¼­ Á» Ưº°ÇÏ´Ù. ÀüÀÚ´Â AltÅ°°¡ ´­·ÁÀÖÀ» ¶§´Â Å°ÄÚµå 84¸¦ °¡Áö¸ç, ±×·¸Áö ¾ÊÀº °æ¿ì´Â 99¸¦ °®´Â´Ù. ÈÄÀÚ´Â CtrlÅ°°¡ ´­·ÁÀÖÀ» ¶§´Â Å°Äڵ尡 101ÀÌ¸ç ±×·¸Áö ¾ÊÀº °æ¿ì´Â Å°Äڵ尡 119ÀÌ´Ù. (µû¶ó¼­, Alt Å°ÄÚµå 99 ¶Ç´Â Ctrl Å°ÄÚµå 119¿¡ ÇÔ¼öµéÀ» ¿¬°á½ÃÅ°´Â ÁþÀº ¹«ÀǹÌÇÏ´Ù.) ÀÌ»óÇÑ Å°°¡ ºÙ¾îÀÖ´Â Å°º¸µå¸¦ »ç¿ëÇÏ´Â °æ¿ì, ¸®´ª½º¿¡¼­´Â ±× Å°¿¡ ´ëÇؼ­´Â ¾Æ¹«·± Å°ÄÚµå·Î ¹ß»ý½ÃÅ°Áö ¾Ê´Â´Ù. (¾î¼¸é "¾ËÁö ¸øÇÏ´Â Å°ÄÚµå" °°Àº ¸Þ¼¼Áö¸¦ º¸³¾ Áöµµ ¸ð¸¥´Ù.) Ä¿³Î ¹öÀü 1.1.63 ÀÌÈÄÀÇ »ç¿ëÀÚ¶ó¸é setkeycodes(1)À» »ç¿ëÇÏ¿© Ä¿³Î¿¡°Ô ÀÌ Å°¿¡ ´ëÇÑ Á¤º¸¸¦ ¸»ÇØ ÁÙ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ X¿¡¼­´Â ¿©ÀüÈ÷ »ç¿ëÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÏ´Ü <tt/setkeycodes/·ÎºÎÅÍ Å°Äڵ带 ¹Þ°í ³ª¸é <tt/loadkeys/¸¦ »ç¿ëÇÏ¿© ¾î¶² ±â´É°ú ¿¬°á½Ãų ¼ö ÀÖ´Ù. <sect>loadkeys¿Í xmodmapÀÇ »ç¿ë¿¹<p> <nidx>loadkeys!example using</nidx> <nidx>xmodmap!example using</nidx> Å°º¸µå»óÀÇ Caps Lock°ú Ctrl Å°¸¦ ¹Ù²Ù·Á¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù. (keymaps 0-15¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤Çß´Ù. <tt>dumpkeys | head -1</tt>·Î È®ÀÎÇغ¼ ¼ö ÀÖ´Ù.) <tscreen><verb> % loadkeys keymaps 0-15 keycode 58 = Control keycode 29 = Caps_Lock % </verb></tscreen> X ȯ°æ¿¡¼­¸¸ À̰͵éÀ» ¹Ù²Ù·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. <tscreen><verb> % xmodmap .xmodmaprc </verb></tscreen> ¿©±â¼­ <tt/.xmodmaprc/¿¡´Â ¾Æ·¡¿Í °°Àº ³»¿ëÀÌ µé¾îÀÖ¾î¾ß ÇÑ´Ù. <tscreen><verb> remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L </verb></tscreen> µµµ¥Ã¼ ¿©±â¿¡ ÀÖ´Â Å° ¹øÈ£¶õ °ÍÀÌ ¹«¾ùÀϱî? Backspace´Â ¸®´ª½º¿¡¼­´Â 14ÀÌ°í X¿¡¼­´Â 22¶ó´Ï? ¹¹ º°°Å ¾Æ´Ï°í ÀÓÀÇ·Î ºÙ¿´´Ù°í º¸¸é µÈ´Ù. ¸®´ª½º¿¡¼­ »ç¿ëµÇ´Â Å° ¹øÈ£¸¦ º¸°í ½ÍÀ¸¸é showkey(1)¸¦ »ç¿ëÇÏ¸é µÇ°í, X¿¡¼­´Â ºñ½ÁÇÑ °ÍÀ¸·Î xev(1)¸¦ »ç¿ëÇÏ¸é µÈ´Ù. Á¾Á¾ X¿¡¼­ »ç¿ëÇÏ´Â ¹øÈ£´Â ¸®´ª½º¿¡¼­ »ç¿ëÇÏ´Â ¹øÈ£¿¡ 8À» ´õÇÏ¸é µÈ´Ù. »ç¶÷µéÀÌ Á¾Á¾ ¹Ù²Ù±â ÁÁ¾ÆÇÏ´Â °ÍÀÌ ±â´ÉÅ°ÀÌ´Ù. F12¸¦ ´©¸£¸é "emacs "¶ó´Â ¹®ÀÚ¿­ÀÌ »ý±âµµ·Ï ÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ÇÏ¸é µÈ´Ù. <tscreen><verb> % loadkeys keycode 88 = F12 string F12 = "emacs " % </verb></tscreen> Á» ´õ Á÷Á¢ÀûÀÎ ¹æ¹ýÀ¸·Î´Â ´ÙÀ½°ú °°Àº °ÍÀÌ ÀÖ´Ù. (i) showkey(1)¸¦ »ç¿ëÇÏ¿© ¹Ù²Ù°íÀÚ ÇÏ´Â Å°ÀÇ Å°Äڵ带 ¾Ë¾Æ³½´Ù. (ii) ÇöÀç keymapÀ» ÀúÀåÇÏ°í º¹»çº»À» ¸¸µé¾î ´ÙÀ½°ú °°ÀÌ ÆíÁýÇÑ´Ù. <tscreen><verb> % dumpkeys > my_keymap % cp my_keymap trial_keymap % emacs trial_keymap % loadkeys trial_keymap % </verb></tscreen> Å×À̺í Çü½ÄÀº <tt/dumpkeys/ÀÇ Ãâ·ÂÀ» º¸¸é ÃæºÐÈ÷ ÃßÃøÇÒ ¼ö ÀÖ°í keytables(5)¿¡ Àß ¹®¼­È­µÇ¾î ÀÖ´Ù. »õ·Î¿î keymap ±â´ÉÀ» ¿øÇÑ´Ù¸é <tt>/etc/rc.local</tt>¿¡ ¾Æ·¡ÀÇ ³»¿ëÀ» ³Ö¾î È£ÃâÇÏ¿© ºÎÆýÿ¡ ÀÚµ¿ÀûÀ¸·Î ½ÇÇàµÇ°Ô ÇÏ¸é µÈ´Ù. <tscreen><verb> loadkeys my_new_keymap </verb></tscreen> º¯°æÅ°¸¦ ¹Ù²Ù°Ô µÇ¸é È¥¶õ½º·¯¿öÁüÀ» À¯ÀÇÇ϶ó. ´ë°³ ÃʽÉÀÚµéÀÌ Àß ºüÁö´Â ÇÔÁ¤Àº ¼÷·ÃÀÚ°¡ µÇ¾î¾ß¸¸ ºüÁ®³ª¿À´Â ¹æ¹ýÀ» ¾Ë°Ô µÈ´Ù. <p> keymaps¿¡ ´ëÇÑ µðÆúÆ® µð·ºÅ丮´Â <tt>/usr/lib/kbd/keytables</tt>ÀÌ´Ù. keymaps¿¡ ´ëÇÑ µðÆúÆ® È®ÀåÀÚ´Â <tt>.map</tt>ÀÌ´Ù. µû¶ó¼­ <tt>loadkeys uk</tt>¶ó°í ÇÏ¸é ¾Æ¸¶µµ <tt>/usr/lib/kbd/keytables/uk.map</tt>¸¦ ·ÎµåÇÏ°Ô µÉ °ÍÀÌ´Ù. (³»°¡ ¾²´Â ¸Ó½Å¿¡¼­´Â) <tt>/dev/console</tt>Àº <tt>/dev/tty0</tt>¿¡ ½Éº¼¸¯ ¸µÅ©µÇ¾î ÀÖ´Ù. ±×¸®°í Ä¿³ÎÀº <tt>/dev/tty0</tt>¸¦ ÇöÀç VT¿Í °°Àº °ÍÀ¸·Î °£ÁÖÇÑ´Ù. XFree86 1.3Àº <tt>/dev/tty0</tt>ÀÇ ¼ÒÀ¯ÀÚ¸¦ ¹Ù²ÙÁö¸¸ Á¾·áÇÑ ÈÄ¿¡ ÀÌ°ÍÀ» Àç¼³Á¤ÇÏÁö´Â ¾Ê´Â´Ù. µû¶ó¼­ <tt/loadkeys/ ¶Ç´Â <tt/dumpkeys/´Â ¸»À» ¾ÈµéÀ» ¼öµµ ÀÖ´Ù. ¿Ö³ÄÇÏ¸é ´Ù¸¥ »ç¿ëÀÚ°¡ <tt>/dev/tty0</tt>¼ÒÀ¯ÇÏ°í ÀÖÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·± °æ¿ì X¸¦ ¸ÕÀú ½ÇÇà½ÃÄÑ º¸¶ó. Äֿܼ¡¼­°¡ ¾Æ´Ï¸é (±×¸®°í ¼öÆÛÀ¯Àú°¡ ¾Æ´Ï¸é) Å°º¸µå ¸ÅÇÎÀº ¹Ù²Ü ¼ö ¾øÀ½À» À¯ÀÇÇÏÀÚ. <sect1>`¿ÀÁ÷ ÇÑ ¼Õ°¡¶ôÀ¸·Î¸¸ ŸÀÌÇÎÇÒ ¼ö ¾øÀ» ¶§'<p> <nidx>keyboard!making modifier keys toggle</nidx> "Shift, Ctrl, Alt Å°¸¦ Åä±Û Çü½ÄÀ¸·Î ¸¸µé ¼ö ÀÖÀ»±î?"<p> ÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡¿Í °°ÀÌ ¸í·ÉÀ» ³»¸®ÀÚ. <tscreen><verb> % loadkeys keymaps 0-15 keycode 29 = Control_Lock keycode 42 = Shift_Lock keycode 56 = Alt_Lock % </verb></tscreen> ÀÌ·¸°Ô ÇÏ°í ³ª¸é ¿ÞÂÊ Control, Shift, Alt Å°°¡ Åä±Û Çü½ÄÀ¸·Î ¹ÝÀÀÇÒ °ÍÀÌ´Ù. ¿©±â¿¡ »ç¿ëµÇ´Â ¹øÈ£´Â showkey¸¦ »ç¿ëÇÏ¸é º¼ ¼ö ÀÖ´Ù. (º¸Åë 29, 97, 42, 54, 56, 100ÀÌ °¢°¢ ¿ÞÂÊ, ¿À¸¥ÂÊ control, shift alt Å°¿¡ ÇØ´çÇÑ´Ù.) ¶ÇÇÑ °¢°¢ÀÇ ±â´ÉÀº Control_Lock, Shift_Lock, Alt_Lock, ALtGr_LockÀÌ´Ù. "`sticky' º¯°æÅ°´Â °¡´ÉÇÑ°¡?"<p> Ä¿³Î ¹öÀü 1.3.33 ÀÌÈÄ¿¡´Â `sticky' º¯°æÅ°¸¦ ÀνÄÇÑ´Ù. `sticky' º¯°æÅ°´Â ´ÙÀ½¿¡ ´­·ÁÁø Å°¿¡ ÀÛ¿ëÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. ¿¹¸¦ µé¾î, ´ë¹®ÀÚ `A'¸¦ Ä¡±â À§ÇØ 3½Éº¼ ½ÃÄö½º Shift_Lock a Shift_LockÀ» ÃÄ¾ß ÇÏ´Â °÷¿¡¼­ ÀÌ Å°¸¦ ¾²¸é 2½Éº¼ ½ÃÄö½º SShift_Lock a¸¸À¸·Î ÇØ°áµÈ´Ù. kbd ÆÐÅ°Áö 0.93º¸´Ù ³·Àº ¹öÀü¿¡´Â ¾ÆÁ÷ ÀÌ·¯ÇÑ sticky º¯°æ¿¡ ´ëÇÑ Äڵ尡 Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. µû¶ó¼­ ÀÌ Å°ÀÇ 16Áø¼ö Äڵ带 È£ÃâÇؾ߸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <tscreen><verb> % loadkeys keymaps 0-15 keycode 54 = 0x0c00 keycode 97 = 0x0c02 keycode 100 = 0x0c03 % </verb></tscreen> ÀÌ·¸°Ô ÇÏ¸é ¿À¸¥ÂÊ Shift, Ctrl, Alt Å°°¡ ÇØ´ç ¿ÞÂÊ Å°µéÀÇ sticky Çü½ÄÀ¸·Î ¹ÝÀÀÇÒ °ÍÀÌ´Ù. >0.93ºÎÅÍ´Â ¾Æ·¡¿Í °°Àº ¸í·ÉÀ¸·Î °°Àº È¿°ú¸¦ ³¾ ¼ö ÀÖ´Ù. <tscreen><verb> % loadkeys keymaps 0-15 keycode 54 = SShift keycode 97 = SCtrl keycode 100 = SAlt % </verb></tscreen> ÀÌ·¸°Ô Çϸé Ctrl-Alt-DelÀ» ÇÑ ¼ÕÀ¸·Î ÀÔ·ÂÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ÀÌ ¿¹¿¡¼­ keymaps ÁÙÀº »ç¿ëÀÚ°¡ »ç¿ëÇÏ°í ÀÖ´Â ¸ðµç keymapsÀ» Àû¾î¾ß ÇÑ´Ù. »ç¿ëÇÏ°í ÀÖ´Â keymapsÀ» È®ÀÌÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ¸í·ÉÀ» ³»¸®¸é µÈ´Ù. <tscreen><verb> % dumpkeys | head -1 </verb></tscreen> <sect>ºñµð¿À ¸ðµå ¹Ù²Ù±â<p> <nidx>console!changing video modes</nidx> <nidx>video modes, changing</nidx> <nidx>resolution, changing</nidx> ³»°¡ ¾Æ´Â ÇÑ Çػ󵵸¦ ¹Ù²Ù´Âµ¥´Â 6°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. 1. ÄÄÆÄÀÏ ÇÒ ¶§: <tt>/usr/src/linux/Makefile</tt>¿¡¼­ ¾Æ·¡¿Í °°Àº ¶óÀÎÀ» ¹Ù²Û´Ù. <tscreen><verb> SVGA_MODE= -DSVGA_MODE=NORMAL_VGA </verb></tscreen> 1A. ÄÄÆÄÀÏ ÈÄ, <tt>rdev -v</tt>¸¦ »ç¿ëÇ϶ó. »ó´çÈ÷ À§ÇèÇÑ ÇØÅ·¹ýÀÌÁö¸¸ ºÐ¸íÈ÷ Àß µÈ´Ù. 2. ºÎÆýÃ: lilo ȯ°æ¼³Á¤ È­ÀÏ¿¡ <tt>vga=ask</tt>¶ó´Â ÁÙÀ» Ãß°¡Çϸé lilo´Â ºÎÆýà »ç¿ëÀÚ°¡ ¿øÇÏ´Â ºñµð¿À ¸ðµå¸¦ ¹°¾îº¼ °ÍÀÌ´Ù. ¿©·¯¹ø ÇغÁ¼­ °¡Àå ¸¾¿¡ µå´Â °ÍÀ» ¾Ë¾Æ³ÂÀ¸¸é <tt/vga=/¸¾¿¡µå´Â¹øÈ£ ·Î ¹Ù²ã ³Ö¾î¶ó. 3. ½ÇÇàÁß¿¡: A. <tt/resizecons/ ¸í·ÉÀ» »ç¿ëÇÑ´Ù. (ÀÌ°ÍÀº VT_RESIZE ioctl¿¡ ´ëÇÑ ¾ÆÁÖ ¿ø½ÃÀûÀÎ wrapperÀÌ´Ù.) B. <tt/SVGATextMode/ ¸í·ÉÀ» »ç¿ëÇÑ´Ù. (ÀÌ°ÍÀÌ VT_RESIZE ioctl¿¡ ´ëÇÑ Á» ´ú ¿ø½ÃÀû wrapperÀÌ´Ù.) 4. "Äֿܼ¡¼­"°¡ ¾Æ´Ò ¶§: <tt/dosemu/¸¦ »ç¿ëÁßÀ̰ųª svgalib¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» ½ÇÇàÁßÀÏ ¶§ µîµî, ÀÌ·± °æ¿ì ÄÜ¼Ö µå¶óÀ̹ö°¡ ÀνÄÇÏÁö ¸øÇϸ鼭 Çϵå¿þ¾î ºñµð¿À ¸ðµå¸¦ ¹Ù²Ü ¼ö ÀÖ´Ù. ¶§¶§·Î ÀÌ ¹æ¹ýÀº <tt/resizecons/ ¶Ç´Â <tt/SVGATextMode/ ¼³Á¤À» ÇÒ ¶§ À¯¿ëÇÑ °æ¿ì°¡ ÀÖ´Ù. <tt/dosemu/¸¦ ½ÇÇàÇÏ°í Àû´çÇÑ ºñµð¿À ¸ðµå¿¡¼­ µ¹¾Æ°¡´Â DOS ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ´Ù. ±× ´ÙÀ½ (´Ù¸¥ VT¿¡¼­ ¸í·ÉÀ» ³»·Á¼­) ¸ðµç ºñµð¿À Çϵå¿þ¾î ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» ´ýÇÁÇÑ´Ù. ¿©±â¿¡ ³ª¿Â ³»¿ëÀ¸·Î <tt/resizecons/À̳ª <tt/SVGATextMode/¿¡¼­ ¿ä±¸ÇÏ´Â »çÇ׿¡ ÀÌ¿ëÇÑ´Ù. ¶§¶§·Î ºñµð¿À ¸ðµå°¡ ºÒ¾ÈÁ¤ÇÑ »óÅ¿¡ ³õÀÌ°Ô µÇ´Â °æ¿ì°¡ ÀÖ´Ù. <tt/dosemu/ ±âµ¿½Ã¿¡ ºñµð¿À ¸ðµå¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ BIOS¿¡ ÀÇÁ¸Çϱ⠶§¹®Àε¥, ÀÌ·² °æ¿ì (<tt/kill -9/·Î) <tt/dosemu/¸¦ Á×ÀÌ¸é °£´ÜÈ÷ ¿ø·¡ »óÅ·Πµ¹¾Æ¿Â´Ù. <sect1>resizecons¸¦ »ç¿ëÇÏ´Â ¹æ¹ý<p> <nidx>resizecons program</nidx> svgalib¸¦ ¾ò¾î¼­ <tt/restoretexmode/ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑ´Ù. (lilo ȯ°æ¼³Á¤ È­ÀÏ¿¡ <tt/vga=ask/¸¦ »ç¿ëÇÏ¿©) ¸ðµç °¡´ÉÇÑ ºñµð¿À ¸ðµå·Î ºÎÆÃÇغ¸°í, ºñµð¿À Çϵå¿þ¾î ·¹Áö½ºÅÍ ³»¿ëÀ» CxR(¿©±â¼­ C´Â Ä÷³¼ö, RÀº ¿­¼ö)¶ó´Â À̸§ÀÇ È­ÀÏ¿¡ ÀúÀåÇÑ´Ù. ¿¹¸¦ µé¾î 80x25, 132x44 ÀÌ·± ½ÄÀÇ À̸§À¸·Î ÀúÀåÇÑ´Ù. <tt>/usr/lib/kbd/videomodes</tt>¿¡ ÀÌ È­ÀÏÀ» ³Ö¾îµÐ´Ù. ÀÌ·¸°Ô Çϸé <tt>resizecons 132x44</tt>¶ó´Â ¸í·ÉÀ¸·Î ºñµð¿À ¸ðµå°¡ ¹Ù²ð °ÍÀÌ´Ù. (ÀÌ°Í¿¡ ´ëÇÏ¿© ¾Ë ÇÊ¿ä°¡ ÀÖ´Â ¸ðµç ÇÁ·Î¼¼½º¿¡ SIGWINCH¸¦ º¸³»°í ÇÊ¿äÇÏ´Ù¸é ´Ù¸¥ ÆùÆ®µµ ·ÎµåÇÑ´Ù.) ÇöÀç, <tt/resizecons/´Â ¹Ù²î±â Àü°ú ¹Ù²ï ÈÄÀÇ Äֿܼ¡ ´ëÇÑ ¸Þ¸ð¸®°¡ ¸ðµÎ ÃæºÐÇÑ °æ¿ì¿¡¸¸ ¼º°øÀûÀ¸·Î ÀÛµ¿ÇÑ´Ù. <sect>Å°º¸µå °»½ÅÀ² ¹Ù²Ù±â<p> <nidx>keyboard!repeat rate, setting</nidx> ±âµ¿½Ã¿¡ ¸®´ª½º Ä¿³ÎÀº °»½ÅÀ²À» ÃÖ´ë°ªÀ¸·Î ¼³Á¤ÇÑ´Ù. ´ëºÎºÐÀÇ Å°º¸µå¿¡¼­ ÀÌ °ªÀº ¹®Á¦°¡ ¾ø´Ù. ÇÏÁö¸¸ ¾î¶² Å°º¸µåµéÀº ¾Æ¹«¸® ª°Ô ´­·¯¼­ °°Àº ±ÛÀÚ°¡ ¼­³Ê°³ ÀÌ»ó ÂïÈ÷´Â °æ¿ì°¡ ÀÖ´Ù. kbdrate(8)À» »ç¿ëÇÏ¿© °»½ÅÀ²À» ¹Ù²ÙµçÁö, ÀÌ ¹æ¹ýÀÌ È¿°ú°¡ ¾øÀ¸¸é <tt>/usr/src/linux/[arch/i386/]boot/setup.S</tt>¿¡¼­ ¾Æ·¡ ºÎºÐÀ» ¾ø¾Ö°Å³ª ÆíÁýÇÑ´Ù. <code> ! set the keyboard repeat rate to the max mov ax,#0x0305 xor bx,bx ! clear bx int 0x16 </code> <sect>½ºÅ©·Ñ<p> <nidx>console!scrolling</nidx> <nidx>scrolling, console</nidx> È­¸éÀ» ½ºÅ©·ÑÇÏ´Â ¹æ¹ýÀº µÎ°¡Áö´Ù. ù°, `ÇÏµå ½ºÅ©·Ñ'À̶ó°í ÇÏ´Â °ÍÀε¥, ºñµð¿À ¸Þ¸ð¸®¿¡ ÅؽºÆ®¸¦ ³²°ÜµÎ°í, º¸´Â ±âÁØÁ¡À» ¹Ù²Ù´Â ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ½ÄÀº ¾ÆÁÖ ºü¸£´Ù. µÑ°, `¼ÒÇÁÆ® ½ºÅ©·Ñ'À̶ó°í ÇÏ´Â °ÍÀε¥, È­¸é¿¡ Ç¥½ÃµÈ ÅؽºÆ®¸¦ ÀüºÎ À§ ¶Ç´Â ¾Æ·¡·Î À̵¿½ÃÅ°´Â ¹æ¹ýÀÌ´Ù. ÀÌ°ÍÀº ¹°·Ð ´À¸®´Ù. Ä¿³Î ÄÜ¼Ö µå¶óÀ̹ö´Â ºñµð¿À ¸Þ¸ð¸®ÀÇ ²À´ë±â¿¡¼­ ÅؽºÆ®¸¦ ¾²±â ½ÃÀÛÇÏ¿© ¹Ù´Ú¿¡ µµ´ÞÇÒ ¶§±îÁö °è¼ÓÇÑ´Ù. ¹Ù´Ú¿¡ µµ´ÞÇϸé ÀÌ ³»¿ëÀ» À§¿¡ º¹»çÇÑ ÈÄ¿¡ °°Àº ÀÏÀ» °è¼ÓÇÑ´Ù. Ç×»ó ÇÏµå ½ºÅ©·ÑÀ» »ç¿ëÇÏ¿© È­¸é¿¡ º¸¿©ÁØ´Ù. µðÆúÆ® keymapÀ» »ç¿ëÇÏ´Â °æ¿ì, Shift-PageUp (ȸ»ö PageUp)À» »ç¿ëÇÏ¸é ºñµð¿À ¸Þ¸ð¸®ÀÇ ²À´ë±â·Î ½ºÅ©·ÑÇÒ ¼ö ÀÖ°í, Shift-PageDown (ȸ»ö PageDown)À» »ç¿ëÇÏ¸é ¾Æ·¡ÂÊÀ¸·Î ½ºÅ©·ÑÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­, ½ºÅ©·ÑÇÒ ¼ö ÀÖ´Â ¾çÀº »ç¿ëÀÚ°¡ ÇÒ´ç¹Þ°Ô µÇ´Â ºñµð¿À ¸Þ¸ð¸®ÀÇ ¾çÀ¸·Î Á¦ÇѵȴÙ. ´õ ¸¹Àº ¾çÀ» ½ºÅ©·ÑÇÏ·Á¸é ÅؽºÆ® ¹öÆÛ¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» »ç¿ëÇØ¾ß ÇÑ´Ù. <tt/less/³ª <tt/screen/ µîÀÌ ÀÌ·± ÇÁ·Î±×·¥Àε¥ µð½ºÅ©»ó¿¡ ¹öÆÛ¸¦ ¸¸µé¾î µÎ¾î ÀÌ°ÍÀ» ÀÌ¿ëÇÏ¿© ÀÌÀü¿¡ Çß´ø °ÍÀ» ´Ù½Ã º¼ ¼ö ÀÖ´Ù. (<tt/xterm/¿¡¼­ °¡´ÉÇÑ ½ºÅ©·Ñ ¾çÀ» ¼³Á¤ÇÏ·Á¸é <tt/.Xresources/ ¾È¿¡ <tt/XTerm*saveLines: 2500/°ú °°Àº Çü½ÄÀ¸·Î Ãß°¡ÇÏ¸é µÈ´Ù.) °¡»ó ÄܼÖÀ» ¹Ù²Ù¸é, ÀÌÀü VTÀÇ È­¸é ³»¿ëÀº Ä¿³Î ¸Þ¸ð¸®·Î º¹»çµÇ°í »õ·Î¿î VTÀÇ È­¸é ³»¿ëÀÌ Ä¿³Î ¸Þ¸ð¸®¿¡¼­ ºñµð¿À ¸Þ¸ð¸®·Î º¹»çµÈ´Ù. ºñµð¿À ¸Þ¸ð¸®ÀÇ ¸ðµç Á¤º¸¸¦ º¹»çÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ´ÜÁö º¸ÀÌ´Â ½ºÅ©¸°¸¸À» º¹»çÇϱ⠶§¹®¿¡ ÄܼÖÀ» ÀüȯÇÏ¸é ½ºÅ©·Ñ Á¤º¸¸¦ ÀÒ°Ô µÈ´Ù. ¶§¶§·Î, ÇÏµå ½ºÅ©·ÑÀÌ ºÎÀû´çÇÑ °æ¿ì°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î Çϵå¿þ¾î°¡ È­¸é Ç¥½Ã ±âÁØÁ¡À» ¹Ù²ÙÁö ¸øÇÏ´Â °æ¿ì¿¡ ±×·¸´Ù. ´ëÇ¥ÀûÀÎ ¿¹°¡ Braille ¸Ó½ÅÀε¥, ÀÌ ¸Ó½ÅÀº Ç×»ó BrailleÀÇ ºñµð¿À ¸Þ¸ð¸®ÀÇ ²À´ë±â¸¸ »ç¿ëÇÑ´Ù. Ä¿³Î ºÎƮŸÀÓ ¿É¼ÇÀ¸·Î <tt/no-scroll/ÀÌ Àִµ¥ ¿©±â¼­ ÄÜ¼Ö µå¶óÀ̹ö°¡ ÇÏµå ½ºÅ©·ÑÀ» »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù. bootparam(7)À» Âü°íÇÏ¸é µµ¿òÀÌ µÉ °ÍÀÌ´Ù. <sect>½ºÅ©¸° ¼¼À̺ê<p> <nidx>screensaving!controlling</nidx> <nidx>screen blanking</nidx> <tt>setterm -blank</tt> <it/nn/À̶ó°í ¸í·ÉÀ» ³»¸®¸é ÄÜ¼Ö µå¶óÀ̹ö´Â <it/nn/ ºÐµ¿¾È »ç¿ëÇÏÁö ¾ÊÀ¸¸é È­¸éÀ» ºñ¿î´Ù. (<it/nn/ = 0¶ó°í ÇÏ¸é ½ºÅ©¸° ¼¼ÀÌºê ±â´ÉÀÌ ²¨Áø´Ù. ±¸¹öÀü Ä¿³Î¿¡¼­´Â ÀÌ°ÍÀÌ ´ÙÀ½ Å°º¸µå ÀÎÅÍ·´Æ® ÈÄ¿¡ È¿°ú°¡ ³ªÅ¸³ª´Â °æ¿ìµµ ÀÖ¾ú´Ù.) xset(1)ÀÇ <tt/s/ ¿É¼ÇÀ» »ç¿ëÇϸé XÀÇ ½ºÅ©¸°¼¼À̺ê ÆĶó¹ÌÅ͸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. <tt>xset s off</tt>sms ½ºÅ©¸° ¼¼À̹ö¸¦ ²ô°í, <tt>xset s 10</tt>´Â 10ºÐ ÈÄ¿¡ È­¸éÀ» °Ë°Ô ¸¸µç´Ù. ºñµð¿À Çϵå¿þ¾î ÆÄ¿ö ¼¼À̺ù ¸ðµå´Â <tt>/usr/src/linux/drivers/char/vesa_blank.c</tt>ÀÇ ½ÃÀÛ ºÎºÐ¿¡ ÀÖ´Â <tt/setvesablank/ ÇÁ·Î±×·¥À» »ç¿ëÇϸé ÄѰųª ²ø ¼ö ÀÖ´Ù. <sect>½ºÅ©¸° ´ýÇÁ<p> <nidx>console!screenshots, obtaining</nidx> <nidx>screenshots!obtaining from console</nidx> ÇöÀç µð·ºÅ丮¿¡ <tt/screen.dump/¶ó´Â È­ÀÏ·Î <tt>/dev/tty</tt><it/N/ÀÇ È­¸é ³»¿ëÀ» ´ýÇÁÇÏ·Á¸é <tt>setterm -dump</tt> <it/N/ ¶ó°í ÇÏ¸é µÈ´Ù. setterm(1)À» ÂüÁ¶Ç϶ó. <tt>/dev/tty</tt><it/N/ ½ºÅ©¸°ÀÇ ÇöÀç ³»¿ëÀº <tt>/dev/vcs</tt><it/N/ µð¹ÙÀ̽º¸¦ »ç¿ëÇÏ¸é ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù. (¿©±â¼­ `vcs'´Â °¡»ó ÄÜ¼Ö ½ºÅ©¸°ÀÇ ¾àÀÚÀÌ´Ù.) ÀÌ°ÍÀ» »ç¿ëÇϸé ÄÜ¼Ö ½ºÅ©¸°ÀÇ ¿À¸¥ÂÊ À§¿¡ ÇöÀç ½Ã°£À» Ç¥½ÃÇÏ´Â ½Ã°è ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¼ö ÀÖ´Ù. (<tt/kbd-0.95.tar.gv/¿¡ ÀÖ´Â <tt/vcstime/ ÇÁ·Î±×·¥À» ÂüÁ¶Ç϶ó.) ´ÜÁö ³»¿ë¸¸À» ´ýÇÁÇÏ·Á¸é, <tt>cat /dev/vcs</tt><it/N/À̶ó°í Çصµ µÈ´Ù. ÀÌ·¯ÇÑ µð¹ÙÀ̽º È­ÀÏ<tt>/dev/vcs</tt><it/N/¿¡´Â newlineµµ »ö°ú °°Àº ¼Ó¼ºµµ ¾ø´Ù. Á» ´õ ³ªÀº ÇÁ·Î±×·¥À¸·Î´Â <tt>/dev/vcsa</tt><it/N/°¡ ÀÖ´Ù. (vcsa: `virtual console screen with attributes') ÀÌ ÇÁ·Î±×·¥Àº Çà°ú ¿­ÀÇ ¼ö, Ä¿¼­ÀÇ À§Ä¡¸¦ ´ãÀº Çì´õ·Î ½ÇÇà½ÃŲ´Ù. vcs(4)¸¦ ÂüÁ¶Ç϶ó. <sect>VT100ÀÇ Æ¯¼º - ¾îÇø®ÄÉÀÌ¼Ç Å° ¸ðµå<p> <nidx>keyboard!VT100 application key mode</nidx> <nidx>VT100 application key mode</nidx> : ¶§¶§·Î Ä¿¼­ Å°³ª Å°Æеå Å°°¡ ÀÌ»óÇÑ Äڵ带 ¸¸µç´Ù. Å͹̳ÎÀÌ ¾îÇø®ÄÉÀÌ¼Ç Ä¿¼­ Å° ¸ðµå¿¡ ÀÖÀ¸¸é Ä¿¼­ Å°´Â Esc 0 x¸¦ ¹ß»ý½ÃÅ°°í ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â Esc [ x¸¦ ¹ß»ý½ÃŲ´Ù. (¿©±â¼­ x´Â A,B,C,DÁß Çϳª´Ù.) ¾î¶² ÇÁ·Î±×·¥Àº Å͹̳ÎÀ» ¾îÇø®ÄÉÀÌ¼Ç Ä¿¼­ Å° ¸ðµå·Î µÎ´Âµ¥, ÀÌ ¶§ »ç¿ëÀÚ°¡ <tt/kill -9/·Î Á×À̰ųª ÇÁ·Î±×·¥ÀÌ ºñÁ¤»ó Á¾·á¸¦ ÇÏ¸é ¸ðµå°¡ µÇµ¹¾Æ ¿ÀÁö ¾Ê°Ô µÈ´Ù. ÀÌ °æ¿ì <verb> % echo -e '\033c' </verb> ¶ó°í Çϸé ÇöÀç VCÀÇ Æ¯¼ºÀ» ¸ðµÎ Àç¼³Á¤ÇÒ °ÍÀÌ´Ù. ´ÜÁö Ä¿¼­ ¾îÇø®ÄÉÀÌ¼Ç Å° ¸ðµå¸¦ ¹Ù²Ù·Á¸é ´ÙÀ½°ú °°ÀÌ Çصµ µÈ´Ù. (¼³Á¤) <verb> % echo -e '\033[?1h' </verb> (ÇØÁ¦) <verb> % echo -e '\033[?1l' </verb> Å͹̳ÎÀÌ ¾îÇø®ÄÉÀÌ¼Ç Å°Æеå Å° ¸ðµå¿¡ ÀÖÀ» ¶§´Â Å°Æеå Å°´Â y¸¦ ´©¸¥ °æ¿ì Esc O y¸¦ ¹ß»ý½ÃÅ°°í ÀÌ ¸ðµå¿¡ ÀÖÁö ¾ÊÀ¸¸é Esc [ y &tilde¸¦ ¹ß»ý½ÃŲ´Ù. ¾îÇø®ÄÉÀÌ¼Ç Å°Æеå Å° ¸ðµå¸¦ ¼³Á¤ÇÏ·Á¸é <verb> % echo -e '\033=' </verb> ÇØÁ¦ÇÏ·Á¸é <verb> % echo -e '\033>' </verb> ¶ó°í ÇÏ¸é µÈ´Ù. <sect>Çϵå¿þ¾î ºñȣȯ¼º<p> <nidx>keyboard!hardware incompatibilities</nidx> <nidx>incompatibility!keyboard-related</nidx> ¸î¸î »ç¶÷µéÀÌ Ç÷ÎÇÇ µð½ºÅ©°¡ ÀÛµ¿ÁßÀÏ ¶§´Â ÀÔ·ÂÇÑ ¹®ÀÚµéÀÌ »ç¶óÁö´Â °ÍÀ» ¾Ë¾Æ³Â´Ù. Uni-486WB ¸¶´õº¸µå¿¡ ÀÌ·± ¹®Á¦°¡ ÀÖ´Â °Í °°´Ù. (È®ÀÎÇϱâ À§ÇÏ¿© ´ÙÀ½ÀÇ °£´ÜÇÑ ¾ç½ÄÀ¸·Î Á¦°Ô ¸ÞÀÏÀ» º¸³» ÁÖ¼¼¿ä.(<tt/aeb@cwi.nl/) [yes, I have the same problem], deny [no, nothing wrong with my Uni-486WB], modify [My Xyzzy machine has the same problem].) Tjalling Tjalkens (<tt/tjalling@ei.ele.tue.nl/)µµ "AMD 486DX2-66 CPU¸¦ žÀçÇÑ GMB-486 UNP Vesa ¸¶´õº¸µå"¿¡¼­ Ç÷ÎÇǸ¦ »ç¿ëÇÏ´Â µ¿¾È Å°ÀÔ·ÂÀÇ ÀϺΰ¡ »ç¶óÁö´Â Çö»ó, Ç÷ÎÇÇ Å×ÀÌÇÁ streamer (Conner C 250 MQ)¸¦ »ç¿ëÇÏ´Â µ¿¾È¿¡´Â »ó´çÇÑ ¾çÀÇ Å°ÀÔ·ÂÀÌ »ç¶óÁö´Â Çö»óÀ» º¸°íÇß´Ù. »ê¹ßÀûÀÎ lockupÀ» °æÇèÇÑ »ç¶÷µéµµ ÀÖ´Ù. - ÁÖ·Î ÇÏµå µð½ºÅ©³ª ´Ù¸¥ I/O¸¦ »ç¿ëÁßÀÎ °æ¿ìÀÌ´Ù. Ulf Tietz (<tt/ulf@rio70.bln.sni.de/): `³ªÀÇ ¸¶´õº¸µå°¡ ³Ê¹« ºü¸£°Ô Á¶Á¤µÇ¾î À־ ºñ½ÁÇÑ ¹®Á¦°¡ ÀÖ¾ú´Ù. ±×·¡¼­ ¸ðµç ½Ã°£¼³Á¤ (CLK, ´ë±â »óÅ µîµî)À» Àç¼³Á¤ÇÏ¿© Á» ´õ »ç¿ëÇϱâ ÆíÇÑ °ªÀ¸·Î ¹Ù²Ù¾ú´õ´Ï ¹®Á¦°¡ ÇØ°áµÇ¾ú´Ù.' Bill Hogan (<tt/bhogan@crl.com/): `AMI BIOS¸¦ »ç¿ëÇÑ´Ù¸é, Gate A20 ¿¡¹Ä·¹ÀÌ¼Ç ÆĶó¹ÌÅ͸¦ "(±× ¿É¼ÇÀÌ ÀÖ´Ù¸é) chipset"À¸·Î ¼³Á¤ÇØ¾ß ÇÒ Áöµµ ¸ð¸¥´Ù. ÀÌ °ªÀ» ´Ù¸¥ °Í("fast", "both", "disabled")À¸·Î ¼³Á¤Çϸé Á¾Á¾ Å°º¸µå lockup¿¡ °É¸®°ï Çß´Ù.' <sect>ÀúÀÛ±Ç(Copyright)<p> Copyright (c) 1993-1998 by Andries Brouwer. This document may be distributed under the terms set forth in the LDP license at <htmlurl url="http://sunsite.unc.edu/LDP/COPYRIGHT.html" name="http://sunsite.unc.edu/LDP/COPYRIGHT.html"> or <htmlurl url="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt" name="ftp://www.win.tue.nl/pub/linux/LDP/COPYRIGHT.txt">. Additions and corrections are welcome. Andries Brouwer - <tt/aeb@cwi.nl/ </article>