X Apps ¿ø°Ý ½ÇÇà ¹Ì´Ï ÇÏ¿ìÅõ(Remote X Apps mini-HOWTO) <author><htmlurl url="http://www.xs4all.nl/~zweije/" name="Vincent Zweije">, <htmlurl url="mailto:zweije@xs4all.nl" name="zweije@xs4all.nl"> <date>14 July 1998 <trans>À̵¿±Ô <htmlurl url="mailto:ntierlogicprmer@gmail.com" name="ntierlogicprmer@gmail.com"> <tdate>1998³â7¿ù26ÀÏ <abstract> ÀÌ mini-HOWTO´Â ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥À» ¿ø°ÝÀ¸·Î ½ÇÇà½ÃÅ°´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. Á»´õ Á¤È®È÷ ¸»Çϸé, ¿¢½º À©µµ¿ì ÇÁ·Î±×·¥À» Á¶ÀÛÁßÀÎ ÄÄÇ»Å͹ۿ¡ ´Ù¸¥ ÄÄÇ»ÅÍ display»ó¿¡ ½ÇÇà½ÃÅ°´Â ¹æ¹ý¿¡ ´ëÇÑ °ÍÀÌ´Ù. ȤÀº °Å²Ù·Î: ´ç½ÅÀÌ ¾É¾ÆÀÖ´Â ÄÄÇ»Å͹ۿ¡ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ¿¢½º À©µµ¿ì ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇµµ·Ï ÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ °ÍÀÌ´Ù. ÀÌ mini-HOWTO´Â º¸¾È ºÎºÐ¿¡µµ ½Å°æÀ» ½è´Ù. </abstract> <toc> <sect> ¼Ò°³(Introduction) <p> ÀÌ mini-HOWTO´Â ¿ø°ÝÀ¸·Î Á¶ÀÛ °¡´ÉÇÑ ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥À» ¾î¶»°Ô ½ÇÇà½ÃÅ°´Â°¡¿¡ ´ëÇÑ ¾È³»¼­ÀÌ´Ù. ÀÌ ±ÛÀº ¸î °¡Áö ÀÌÀ¯·Î ¾²¿©Á³´Ù. <enum> <item> ¿ø°ÝÀ¸·Î Á¶ÀÛ °¡´ÉÇÑ ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥À» ¾î¶»°Ô ½ÇÇà½ÃÅ°´Â °¡¶õ ¹°À½ÀÌ Åä·Ð±×·ì¿¡ ¸¹ÀÌ º¸¿©¿Ô´Ù. <item> ³ª´Â ¿¢½º À©µµ¿ì¿¡ ¿¬°áÇϱâ À§Çؼ± ``<tt/xhost +hostname/''¶Ç´Â ``<tt/xhost +/''À» ``ÀÌ¿ë''Ç϶ó´Â º¯Á×À» ¿ï¸®´Â ´äº¯À» ¼ö¾øÀÌ º¸¾Ò´Ù. <bf/ÀÌ°ÍÀº Å͹«´Ï¾øÀÌ ºÒ¸¸Á·½º·± ´äº¯À̾ú°í/, ´õ Á¶¸® ÀÖ´Â ´äº¯µéÀÌ ÀÖÀ» ¼ö ÀÖ¾ú´Ù. <item> ³ª´Â ´ç½ÅÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ ÅÃ<em/Çؾ߸¸ ÇÏ´Â/ »çÇ׵鿡 ´ëÇØ ¼³¸íÇÏ´Â °£´ÜÇÑ ¹®¼­°¡ ÀÖ´Ù°í µèÁö ¸øÇß´Ù. ¸¸¾à ´ç½ÅÀÌ ´õ ÁÁÀº ¹æ¹ýÀ» ¾Ë°í ÀÖ´Ù¸é ³ª¿¡°Ô ¾Ë·ÁÁֱ⠹ٶõ´Ù. </enum> ÀÌ ¹®¼­´Â À¯´Ð½º°è¿­ ½Ã½ºÅÛµéÀ» ¿°µÎ¿¡ µÎ°í ¾²¿©Á®¿Ô´Ù. ´ç½ÅÀÇ ·ÎÄà ¶Ç´Â ·ÎÄÃÀÇ ¿î¿µÃ¼Á¦°¡ ´Ù¸¥ ¼ºÁúÀÇ °ÍÀ̶ó¸é, ¾î¶»°Ô µ¿ÀÛÇϴ°¡¸¦ ´ç½ÅÀÌ Ã£¾Æ³»¾ß µÉÁöµµ ¸ð¸¥´Ù. ±×·¯³ª, ´ç½ÅÀÇ µ¶Æ¯ÇÑ ½Ã½ºÅÛ¿¡ Àû¿ëÇϱâ À§Çؼ­ ¿¹Á¦µéÀº ´ç½Å ÀÚ½ÅÀÌ ´Ù¸¥ Çü½ÄÀ¸·Î ¹Ù²Ù¾î¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ ¹®¼­ÀÇ ÃֽŠ¹öÀü ´ëºÎºÐÀº À¥ <htmlurl url= "http://www.xs4all.nl/~zweije/xauth.html" name= "http://www.xs4all.nl/˜zweije/xauth.html"> ¿¡¼­ Ç×»ó ¼Õ¿¡ ³ÖÀ» ¼ö ÀÖ´Ù. ¿ª½Ã <htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps" name="http://sunsite.unc.edu/LDP/HOWTO/mini/Remote-X-Apps">¿¡¼­µµ Linux Remote X Apps mini-HOWTO·Î ¼Õ¿¡ ³ÖÀ» ¼ö ÀÖ´Ù. Linux (mini-)HOWTOµéÀº <htmlurl url="http://sunsite.unc.edu/LDP/HOWTO/HOWTO-INDEX-2.html" name= "sunsite.unc.edu">·ÎºÎÅÍ http³ª ftp¸¦ ÀÌ¿ëÇؼ­ ¼Õ¿¡ ³ÖÀ» ¼ö ÀÖ´Ù. ÀÌ ±ÛÀº ¹öÀü 0.5.1ÀÌ´Ù. ±ÛÀ» ¾²´Âµ¥ ¼ö°íºñ´Â ¾ø¾ú´Ù, ´ÜÁö ÁÁÀº ¶æ¸¸ÀÌ ÀÖ¾úÀ» »ÓÀÌ´Ù. ³ª´Â Á¦¾È, °ßÇØ, Ãß°¡ÇÒ »çÇ×, À¯ÀÍÇÑ ÁöÀû, (ŸÀÚ)±³Á¤ µîÀ» ¹Þ¾ÆµéÀδÙ. ³ª´Â ÀÌ ±ÛÀÌ °£´ÜÇÏ°í Àб⠽¬¿î ¹®¼­·Î ³²¾Æ Àֱ⸦ ¹Ù¶õ´Ù, ±×·¡µµ, °¡Àå ÀÇ¹Ì ÀÖ´Â ¾ç½ÄÀÎ HOWTO ¾ç½ÄÀ¸·Î ³²¾Æ Àֱ⸦ ¹Ù¶õ´Ù. Àâ´ãÀº <tt> /dev/null</tt>¿¡ »Ñ¸®±â ¹Ù¶õ´Ù. Â÷·Ê´Â 1998³â 7¿ù 14ÀÏ¿¡ <htmlurl url="http://www.xs4all.nl/~zweije/index.html" name="Vincent Zweije">°¡ ¸¶Áö¸·À¸·Î °»½ÅÇß´Ù. <sect> Âü°í ÀÚ·á(Related Reading) <p> À¥¿¡¼­ Âü°íÇÑ ¹®¼­´Â ``What to do when Tk says that your display is insecure'', <htmlurl url="http://ce-toolkit.crd.ge.com/tkxauth/" name= "http://ce-toolkit.crd.ge.com/tkxauth/">ÀÌ´Ù. <htmlurl url= "http://ce-toolkit.crd.ge.com/people/kennykb.html" name="Kevin Kenny">¿¡ ÀÇÇؼ­ ¾²¿©Á³´Ù. ÀÌ ¹®¼­¿¡ ¿¢½º À©µµ¿ì ÀÎÁõ(Xauth)¿¡ ´ëÇÑ ºÎºÐ°ú À¯»çÇÑ ÇØ°áÃ¥À» Á¦¾ÈÇÑ´Ù. ±×·¯³ª, KevinÀº ´ç½Å¿¡°Ô XauthÀ» ¼³¸íÇÒ¶§ xdmÀ» ÀÌ¿ëÇÏ´Â °æ¿ì¿¡ ´õ ¸¹ÀÌ ÁßÁ¡À» µÐ´Ù. <htmlurl url="http://www.ora.com/" name="O'Reilly and Associates">·ÎºÎÅÍ ÃâÆÇµÈ X Window System Vol. 8 ``X Window System Administrator's Guide'' ¶ÇÇÑ Á¤º¸ÀÇ Ãâó·Î½á ³ªÀÇ ÁÖÀǸ¦ ²ø¾î¿Ô´Ù. ºÒÇàÇÏ°Ôµµ, ³ª´Â ±×°ÍÀ» ´Ù ÀÐÀ» ¼ö ¾ø´Â »óÅ¿¡ ÀÖ´Ù. ´Ù¸¥ ¹®¼­´Â, ´ç½ÅÀÌ Áö±Ý ´çÀå ÀÐÀ¸·Á¸é <htmlurl url= "http://ciac.llnl.gov/ciac/documents/ciac2316.html" name= "http://ciac.llnl.gov/ciac/documents/ciac2316.html">¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Â, ``Securing X Windows'' ¶õ Á¦¸ñÀÇ ¹®¼­¸¦ ¹«Ã´ ÁÁ¾ÆÇÑ´Ù. <tt/comp.windows.x/, <tt/comp.os.linux.x/, <tt/comp.os.linux.networking/°ú °°Àº À¯Áî³Ý ´º½º±×·ìµé¿¡µµ Àß °®Ãß¾îÁ® ÀÖÀ½À» ¾Ë±â ¹Ù¶õ´Ù. <sect> »óȲ(The Scene) <p> ´ç½ÅÀº µÎ ´ëÀÇ ÄÄÇ»Å͸¦ »ç¿ëÇÏ°í ÀÖ´Â ÁßÀÌ´Ù. ´ç½ÅÀº ù ¹ø° ¿¢½º À©µµ¿ì ½Ã½ºÅÛÀ» ¿öµå ÀÛ¾÷°ú ¿öµå ÀÛ¾÷ÀÇ °á°ú¸¦ º¸±â À§ÇØ »ç¿ëÁßÀÌ´Ù. µÎ ¹ø° ¿¢½º À©µµ¿ì ½Ã½ºÅÛÀº Áß¿äÇÑ ¸î °¡Áö ±×·¡ÇÈ ÀÛ¾÷À» À§ÇØ »ç¿ëÁßÀÌ´Ù. ´ç½ÅÀº ù ¹ø° ¿¢½º À©µµ¿ì ½Ã½ºÅÛ µð½ºÇ÷¹ÀÌ»ó¿¡ µÎ¹ø° ¿¢½º À©µµ¿ìÀÇ ±×·¡ÇÈ ÀÛ¾÷ÀÇ Ãâ·ÂÀÌ º¸¿©Áö±æ ¿øÇÑ´Ù. ¿¢½º À©µµ¿ì ½Ã½ºÅÛÀº ÀÌ ÇൿÀ» °¡´ÉÇϵµ·Ï ÇØÁØ´Ù. ¹°·Ð, ´ç½ÅÀº ÀÌ ÇൿÀ» À§ÇÑ ³×Æ®¿öÅ© ¿¬°áÀÌ Çϳª ÇÊ¿äÇÏ´Ù. ÅÃÇÒ¸¸ÇÑ °ÍÀ¸·Î; X protocolÀº ³×Æ®¿öÅ© ´ë¿ªÀ» ¾ÆÁÖ ¸¹ÀÌ »ç¿ëÇÑ´Ù. ±×·¯³ª ¾à°£ Àγ»¸¸ ÀÖÀ¸¸é µÇµµ·Ï ÇØÁÖ´Â ÀûÀýÇÑ porotocol ¾ÐÃàÀÌ ÀÖ´Ù. ½ÉÁö¾î ´ç½ÅÀº ¸ðµ©À» ÅëÇؼ­µµ ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥µéÀ» ½ÇÇà½Ãų ¼ö ÀÖ´Ù. X protocol ¾ÐÃà¿¡ ´ëÇؼ±, ´ç½ÅÀÌ dxpc <htmlurl url="http://ccwf.cc.utexas.edu/~zvonler/dxpc/" name= "http://ccwf.cc.utexas.edu/˜zvonler/dxpc/">³ª LBX <url url= "http://www.ultranet.com/~pauld/faqs/LBX-HOWTO.html" name= "http://www.ultranet.com/˜pauld/faqs/LBX-HOWTO.html">¸¦ »ìÆ캸±â ¹Ù¶öÁöµµ ¸ð¸£°Ú´Ù (<htmlurl url="http://suncite.unc.edu/LDP/HOWTO/mini/LBX" name="LBX mini-HOWTO">·Îµµ Àß ¾Ë·ÁÁ®ÀÖ´Ù.) ´ç½ÅÀº ÀÌ ÇൿÇϱâ À§ÇØ µÎ °¡Áö ÀÏÀ» ÇØ¾ß ÇÑ´Ù: <enum> <item> ¿ø°Ý ÄÄÇ»ÅͷκÎÅÍ ¿¬°áÀ» Çã¶ôÇÏ´Â ·ÎÄà µð½ºÇ÷¹ÀÌ(¼­¹ö)¸¦ ÀÏ·ÁÁÖ±â. <item> ´ç½ÅÀÇ Áö¿ª µð½ºÇ÷¹ÀÌ¿¡ Ãâ·ÂÀ» »Ñ¸± ¿ø°Ý ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥(Ŭ¶óÀ̾ðÆ®)¸¦ ÀÏ·ÁÁÖ±â. </enum> <sect> ¾à°£ÀÇ ³íÀÇ(A Little Theory) <p> <tt/DISPLAY/´Â ºÒ°¡»çÀÇÇÑ ÈûÀ» °¡Áø ´Ü¾îÀÌ´Ù. ¿¢½º À©µµ¿ì ½Ã½ºÅÛ¿¡¼­, µð½ºÇ÷¹ÀÌ Çϳª´Â (ÆòÀÌÇÏ°Ô) Å°º¸µå Çϳª, ¸¶¿ì½º Çϳª, ½ºÅ©¸° Çϳª·Î ÀÌ·ç¾îÁ®ÀÖ´Ù. ÇϳªÀÇ µð½ºÇ÷¹ÀÌ´Â ¿¢½º ¼­¹ö·Î ¾Ë·ÁÁø, ÇϳªÀÇ ¼­¹ö ÇÁ·Î±×·¥ÀÌ °ü¸®ÇÑ´Ù. ÀÌ ¼­¹ö°¡ °¢ ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÀ¿ëÇÁ·Î±×·¥ Àڽſ¡°Ô ¿¬°áµÈ µð½ºÇ÷¹ÀÌ¿¡ Ãâ·ÂÀ» Á¦´ë·Î Ãâ·ÂÇϵµ·Ï µµ¿ÍÁØ´Ù. ÇÑ °³ÀÇ µð½ºÇ÷¹ÀÌ´Â ÇÑ°¡Áö À̸§À¸·Î Ç¥½ÃÇÑ´Ù, ¿¹¸¦ µé¸é: <itemize> <item> <tt/DISPLAY=light.uni.verse:0/ <item> <tt/DISPLAY=localhost:4/ <item> <tt/DISPLAY=:0/ </itemize> DISPLAY´Â È£½ºÆ® À̸§ (<tt/light.uni.verse/³ª <tt/localhost/¿Í °°Àº) Çϳª¿Í ÄÝ·Ð (<tt/:/) Çϳª, ¼ø¹ø (<tt/0/³ª<tt/4/¿Í °°Àº) Çϳª·Î ÀÌ·ç¾îÁ®ÀÖ´Ù. DISPLAYÀÇ È£½ºÆ® À̸§Àº ¿¢½º ¼­¹ö¸¦ ½ÇÇà½ÃÅ°°í ÀÖ´Â ÄÄÇ»ÅÍ À̸§ÀÌ´Ù. È£½ºÆ® À̸§À» »ý·«ÇÏ¸é ·ÎÄà ȣ½ºÆ®¸¦ ÁöĪÇÑ °ÍÀÌ µÈ´Ù. ¼ø¹øÀº ´ë°³ 0ÀÌ´Ù -- ¿©·¯ °³ÀÇ µð½ºÇ÷¹À̵éÀÌ ÇÑ ÄÄÇ»ÅÍ¿¡ ¿¬°áµÇ¾îÀÖ´Ù¸é ´Ù¾çÇÏ°Ô ¹Ù²ð ¼ö ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ º°µµ·Î <tt/.n/°¡ ºÙÀº µð½ºÇ÷¹ÀÌ Ç¥½Ã¸¦ Á¢Çغ» ÀûÀÌ ÀÖ´Ù¸é, ±×°ÍÀº ½ºÅ©¸° ¹øÈ£ÀÌ´Ù. ÇϳªÀÇ µð½ºÇ÷¹ÀÌ´Â ½ÇÁö·Î ¿©·¯ °³ÀÇ ½ºÅ©¸°À» °¡Áú ¼ö ÀÖ´Ù. ±×·¸´õ¶óµµ ´ë°³ ÇÑ °³ÀÇ ½ºÅ©¸°¸¸À» °¡Áö°í ÀÖÀ¸¹Ç·Î,<tt/n=0/ÀÌ µðÆúÆ®·Î µÇ¾îÀÖ´Ù. <tt/DISPLAY/ÀÇ ´Ù¸¥ ¾ç½Äµµ Á¸ÀçÇÑ´Ù, ±×·¯³ª ±× ºÎºÐÀº ¿ì¸®ÀÇ ¸ñÀûÀ» ³Ñ¾î¼­´Â °ÍÀ̹ǷΠ´Ù·çÁö ¾Ê´Â´Ù. <sect> Ŭ¶óÀ̾ðÆ® ÀÏ·ÁÁÖ±â(Telling the Client) <p> Ŭ¶óÀ̾ðÆ® ÇÁ·Î±×·¥(¿¹¸¦ µé¾î, ´ç½ÅÀÇ ±×·¡ÇÈ ÀÀ¿ëÇÁ·Î±×·¥)Àº ȯ°æº¯¼ö <tt/DISPLAY/¸¦ »ìÆì¼­ ¾î´À µð½ºÇ÷¹ÀÌ¿¡ ¿¬°áÇØ¾ß Çϴ°¡¸¦ Á¤ÇÑ´Ù. ±×·¯³ª, ÀÌ ¼³Á¤Àº ¸í·ÉÇà ¿É¼Ç <tt/-display hostname:0/ÀÌ ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀ» ½ÃÀÛÇÒ ¶§ Ŭ¶óÀ̾ðÆ®¿¡ ÀüÇØÁö´Â °ÍÀ¸·Î, ¹«½Ã µÉ ¼ö ÀÖ´Ù. ¼³¸íÀ» ¸íÈ®ÇÏ°Ô ÇØÁÙÁöµµ ¸ð¸£´Â ¾î¶² ¿¹°¡ ÀÖ´Ù. ¿ì¸®ÀÇ ÄÄÇ»ÅÍ´Â ¿ÜºÎ¿¡¼­ light·Î ½Äº°ÇÏ°í, µµ¸ÞÀÎ uni.verse »ó¿¡ ÀÖ´Ù. ¿ì¸®°¡ º¸ÅëÀÇ ¿¢½º ¼­¹ö¸¦ ½ÇÇàÁßÀ̶ó¸é, µð½ºÇ÷¹ÀÌ´Â <tt/light.uni.verse:0/·Î ½Äº°ÇÑ´Ù. ¿ì¸®´Â, <tt/dark.matt.er/¶ó ºÒ¸®´Â, ¿ø°Ý ÄÄÇ»Åͻ󿡼­ ±×¸®±â ÇÁ·Î±×·¥ xfig¸¦ ½ÇÇàÇÏ°í, ¿©±â light¿¡ ±×°ÍÀÇ Ãâ·ÂÀ» Ç¥½ÃÇϱ⸦ ¿øÇÑ´Ù. ´ç½ÅÀº ÀÌ¹Ì ¿ø°Ý ÄÄÇ»ÅÍ <tt/dark.matt.er/¿¡ telnetÁ¢¼ÓÀÌ µÇ¾îÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ´ç½ÅÀÌ ¿ø°Ý ÄÄÇ»ÅÍ¿¡¼­ cshÀ» ½ÇÇàÁßÀ̶ó¸é: <tscreen><verb> dark% setenv DISPLAY light.uni.verse:0 dark% xfig & </verb></tscreen> ¶Ç´Â ´ë½Å¿¡: <tscreen><verb> dark% xfig -display light.uni.verse:0 & </verb></tscreen> ´ç½ÅÀÌ ¿ø°Ý ÄÄÇ»ÅÍ¿¡¼­ shÀ» ½ÇÇàÁßÀ̶ó¸é: <tscreen><verb> dark$ DISPLAY=light.uni.verse:0 dark$ export DISPLAY dark$ xfig & </verb></tscreen> ¶Ç´Â ´ë½Å¿¡: <tscreen><verb> dark$ DISPLAY=light.uni.verse:0 xfig & </verb></tscreen> ¶Ç´Â ´ç¿¬È÷: <tscreen><verb> dark$ xfig -display light.uni.verse:0 & </verb></tscreen> telnetÀÇ ¾î¶² ¹öÁ¯Àº ÀÚµ¿À¸·Î ¿ø°Ý È£½ºÆ® <tt/DISPLAY/º¯¼ö¿¡ ·ÎÄà ȣ½ºÆ® <tt/DISPLAY/º¯¼ö¸¦ Àü´ÞÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ ÀÌ·± Á¾·ùÀÇ telnetÀ» °¡Áö°í ÀÖ´Ù¸é, ´ç½ÅÀº ¿îÀÌ ÁÁÀº °ÍÀÌ´Ù, ¼öµ¿À¸·Î º¯¼ö¸¦ ¼³Á¤¾ÊÇصµ µÈ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì¶ó¸é, ´ëºÎºÐÀÇ ¹öÀüÀÇ telnetÀº <tt/TERM/ ȯ°æ º¯¼ö¸¸À» Àü´ÞÇÑ´Ù; ¾à°£ÀÇ »ç·Á ±íÀº ÇØÅ·À¸·Î <tt/DISPLAY/ º¯¼ö°¡ <tt/TERM/ º¯¼ö¿Í °°ÀÌ Àü´ÞµÇµµ·Ï ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. °°ÀÌ Àü´ÞµÇµµ·Ï ÇÏ´Â °³³äÀ» ´ç½ÅÀº ´ÙÀ½ÀÇ ÀÛ¾÷µéÀ» ¼öÇàÇÒ ¼ö ÀÖ´Â ¾à°£ÀÇ ½ºÅ©¸³Æ® ÀÛ¼ºÀ¸·Î ±¸ÇöÀÌ °¡´ÉÇÏ´Ù: telnetÁ¢¼ÓÀ» ÇϱâÀü¿¡, <tt/DISPLAY/ÀÇ °ªÀ» <tt/TERM/¿¡ ºÙÀδÙ. ±×¸®°í ³ª¼­ telnetÁ¢¼ÓÀ» ÇÑ´Ù. ¿ø°ÝÁ¢¼ÓÀÌ ÀÌ·ç¾îÁø ÈÄ¿¡, ½©¿¡ µû¶ó ½ÇÇàµÇ´Â <tt/.*shrc/ ÆÄÀÏÀÌ ½ÇÇà Áß¿¡, <tt/TERM/·ÎºÎÅÍ <tt/ DISPLAY/°ªÀ» Àд´Ù. <sect> ¼­¹ö ÀÏ·ÁÁÖ±â(Telling the Server) <p> ¼­¹ö´Â ¾Æ¹« °÷À¸·ÎºÎÅÍ Á¢¼ÓÀ» Çã¶ôÇÏÁø ¾ÊÀ» °ÍÀÌ´Ù. ´ç½ÅÀº ´ç½ÅÀÇ ½ºÅ©¸°¿¡ ¾Æ¹«³ª À©µµ¿ì¸¦ ¿­ ¼ö ÀÖ´Â °ÍÀ» ¿øÇÏÁö ¾Ê´Â´Ù. ȤÀº ´ç½ÅÀÌ Å¸ÀÌÇÁÇÑ °ÍÀ» ¾Æ¹«³ª ÀÐÀ» ¼ö ÀÖ´Â °ÍÀ» ¿øÇÏÁö ¾Ê´Â´Ù. -- ´ç½ÅÀÇ Å°º¸µå´Â ´ç½Å µð½ºÇ÷¹ÀÌÀÇ ÀϺÎÀÓÀ» ±â¾ïÇ϶ó! ¼Ò¼öÀÇ »ç¶÷µéÀº Áö³ªÄ¡°Ô µð½ºÇ÷¹ÀÌ¿¡ ¾ï¼¼½º¸¦ Çã¶ôÇÏ´Â °ÍÀ» º¸¾È À§Ç輺À» ³ôÀÌ´Â °ÍÀ¸·Î Àç Á¤ÀÇÇÏ´Â °Í°°´Ù. ´ç½ÅÀÇ µð½ºÇ÷¹ÀÌ¿¡ ¾ï¼¼½º ÁßÀÎ ´©±º°¡°¡ ´ç½ÅÀÇ ½ºÅ©¸°µé¿¡ ÀÐ°í ¾²±â¿Í, ´ç½ÅÀÌ ´©¸¥ Å° Àбâ¿Í, ´ç½ÅÀÇ ¸¶¿ì½º µ¿ÀÛ Àб⸦ ÇÒ ¼ö´Â ÀÖ´Ù. ´ëºÎºÐÀÇ ¼­¹öµéÀº ¼­¹ö¿¡ ¿¬°áÀ» ÀÎÁõÇÏ´Â ¹æ¹ý µÎ °¡Áö¸¦ ¾Ë°í ÀÖ´Ù. host list mechanism (xhost)°ú magic cookie mechanism (xauth)ÀÌ ±×°ÍÀÌ´Ù. ±× ´ÙÀ½À¸·Î´Â ssh(the secure shell)ÀÌ Àִµ¥ ¿¢½º À©µµ¿ì ¿¬°áÀ» Çâ»ó½Ãų ¼ö ÀÖ´Ù. <sect1> Xhost <p> Xhost´Â È£½ºÆ® À̸§¿¡ ±Ù°Å¸¦ µÎ°í ¿¢¼¼½º¸¦ Çã¶ôÇÑ´Ù. ¼­¹ö´Â ¼­¹ö¿¡ ¿¬°áÀ» Çã¶ôÇÑ È£½ºÆ® ¸ñ·ÏÀ» À¯ÁöÇÑ´Ù. ¿ª½Ã È£½ºÆ® È®ÀÎÀ» ¿ÏÀüÈ÷ ºÒ°¡´ÉÇÏ°Ô ÇÒ ¼öµµ ÀÖ´Ù. ÁÖÀÇÇ϶ó: ÀÌ°ÍÀº È®ÀÎÀ» ÀüÇô ÇÏÁö ¾Ê°Ô µÊÀ» ÀǹÌÇÑ´Ù. ±×·¡¼­ <em/¸ðµç/ È£½ºÆ®°¡ ¿¬°áÀÌ °¡´ÉÇÒ °ÍÀÌ´Ù! ´ç½ÅÀº xhost ÇÁ·Î±×·¥À¸·Î ¼­¹öÀÇ È£½ºÆ® ¸ñ·ÏÀ» °ü¸®ÇÒ ¼ö ÀÖ´Ù. ÀÌÀüÀÇ ¿¹¿¡¼­ ÀÌ ±â¹ý(mechanism)À» ÀÌ¿ëÇϱâ À§Çؼ­´Â, ÀÌ·¸°Ô Ç϶ó: <tscreen><verb> light$ xhost +dark.matt.er </verb></tscreen> ÀÌ°ÍÀº È£½ºÆ® <tt/dark.matt.er/·ÎºÎÅÍ ¸ðµç ¿¬°áÀ» Çã¶ôÇÑ´Ù. ´ç½ÅÀÇ ¿¢½º À©µµ¿ì Ŭ¶óÀ̾ðÆ®°¡ ¿¬°áÀ» ¸¸µé¾î âÀ» Çϳª Ç¥½ÃÇÏÀÚ¸¶ÀÚ, ¾ÈÀüÀ» À§ÇÏ¿©, ¾Æ·¡ ¸í·ÉÀ¸·Î ÇöÀç ¿­¸° â ÀÌÈÄ¿¡ ¿¬°áÀ» À§ÇÑ Çã°¡¸¦ ¹«È¿·Î ÇÑ´Ù: <tscreen><verb> light$ xhost -dark.matt.er </verb></tscreen> ´ç½ÅÀº È£½ºÆ® È®ÀÎÀ» ¾Æ·¡ ¸í·ÉÀ¸·Î ºÒ°¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> light$ xhost + </verb></tscreen> ÀÌ°ÍÀº È£½ºÆ® ¾ï¼¼½º È®ÀÎÀ» ºÒ°¡´ÉÇÏ°Ô ÇÏ¿© <em/´©±¸/¿¡°Ô³ª ¿¬°áÀ» Çã¶ôÇÑ´Ù. <em/¸ðµç/ ÀÌ¿ëÀÚ¸¦ ´ç½ÅÀÌ ½Å·ÚÇÒ ¼ö ¾ø´Â ³×Æ®¿öÅ©(ÀÎÅÍ³Ý °°Àº)»ó¿¡¼± <em/°áÄÚ/ ÀÌ ¸í·ÉÀ» ³»·Á¼± ¾ÈµÈ´Ù. ´ç½ÅÀÌ ¾Æ·¡ ¸í·ÉÀ¸·Î È£½ºÆ® È®ÀÎÀ» ´Ù½Ã °¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> light$ xhost - </verb></tscreen> xhost - ±× ÀÚü´Â ¾ï¼¼½º ¸®½ºÆ®·ÎºÎÅÍ ¸ðµç È£½ºÆ®µéÀ» Á¦°Å<em/ÇÏÁö ¾Ê´Â´Ù/ (¸ðµÎ Á¦°ÅÇÏ´Â ¸í·ÉÀº º°·Î ¾µ¸ð ¾øÀ» °ÍÀÌ´Ù - ´ç½ÅÀº ¾î´À °÷À¸·ÎºÎÅ͵µ ¿¬°áÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù, ½ÉÁö¾î ´ç½ÅÀÇ ·ÎÄà ȣ½ºÆ®·ÎºÎÅ͵µ ¿¬°áÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù). <em/Xhost´Â ´ë´ÜÈ÷ À§ÅÂ·Î¿î ¹æ¹ýÀÌ´Ù./ ¿ø°Ý È£½ºÆ®¿¡ ¿©·¯ »ç¿ëÀÚµé °ü¿¡ ±¸ºÐÀ» ÇÏÁö ¾Ê´Â´Ù. ¿ª½Ã, È£½ºÆ® À̸§(½ÇÁ¦ ÁÖ¼Ò)Àº ´«¼ÓÀÓÀ» ´çÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀÌ ´ç½ÅÀÌ ½Å·ÚÇÒ ¼ö ¾ø´Â ³×Æ®¿öÅ© (¿¹¸¦ µé¾î ÀÎÅͳݿ¡ ÀÌ¹Ì ÀüÈ­¼±À» ÀÌ¿ëÇÑ PPP ¾ï¼¼½º¸¦ ÇÑ »óÅÂ)»ó¿¡ ÀÖ´Ù¸é ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù. <sect1> Xauth <p> Xauth´Â ¿Ã¹Ù¸¥ ¿­¼è¸¦ ¾Æ´Â »ç¶÷¿¡°Ô ¾ï¼¼½º¸¦ Çã¶ôÇÑ´Ù. ¿­¼è´Â authorization record³ª magic cookie·Î ºÒ¸®´Â °Í µûÀ§ÀÌ´Ù. ÀÌ Àΰ¡ ¹æ¹ý´Â Á¤½ÄÀ¸·Î MIT-MAGIC-COOKIE-1¶ó ºÒ¸°´Ù. ¿©·¯ °³ÀÇ µð½ºÇ÷¹ÀÌ¿¡ ´ëÇÑ ÄíÅ°µéÀº <tt>˜/.Xauthority</tt>¿¡ ÇÔ²² ÀúÀåÇÑ´Ù. ´ç½ÅÀÇ <tt>˜/.Xauthority</tt>Àº ±×·ì ±¸¼º¿øÀ̳ª ´Ù¸¥ »ç¿ëÀÚµéÀÌ °¡±îÀÌÇϱ⠾î·Á¿î °ÍÀÓ¿¡ Ʋ¸²¾ø´Ù. xauth ÇÁ·Î±×·¥Àº ÀÌ ÄíÅ°µéÀ» °ü¸®ÇÑ´Ù, ¿©±â¼­ºÎÅÍ ÀÌ ¹æ¹ýÀº ¾àĪÀ¸·Î xauth¶ó ÇÏ°Ú´Ù. ÇÑ ¼¼¼ÇÀÌ ½ÃÀÛÇÔ°ú µ¿½Ã¿¡, ¼­¹ö´Â <tt/-auth/ ¿É¼ÇÀÌ °¡¸®Å°´Â ÆÄÀϷκÎÅÍ ÄíÅ° Çϳª¸¦ Àд´Ù. ±×¸®°í ³ª¼­, ¼­¹ö´Â µ¿ÀÏÇÑ ÄíÅ°¸¦ ¼÷ÁöÇÏ°í Àִ Ŭ¶óÀ̾ðÆ®·Î ºÎÅÍÀÇ ¿¬°á¸¸À» Çã¶ôÇÑ´Ù. <tt>˜/.Xauthority</tt>¿¡ ÄíÅ°°¡ ¹Ù²Ù¾úÀ» °æ¿ì¿¡, <em/¼­¹ö´Â ¹Ù²ï °ÍÀ» ¼Õ¿¡ ³ÖÀ¸·Á ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù/. ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô ¸÷½Ã ºÐÁÖÇÏ°Ô ¿ä±¸ÇÏ´Â ÄíÅ°¸¦ °áÄÚ »ý¼ºÇÒ ¼ö ¾ø´Ù. ±×·¸Áö¸¸ ÄíÅ°µéÀº ¼­¹ö ³»ºÎ¿¡ ¹«»çÈ÷ º¸Á¸µÈ´Ù; Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö¿¡ ÄíÅ°µéÀ» µ¤¾î¾²Áö ¾Ê´Â´Ù¸é ÄíÅ°µéÀº <tt>˜/.Xauthority</tt>¿¡¼­ ¾ø¾îÁöÁö ¾Ê´Â´Ù. David Wiggins¿¡ ÀÇÇϸé: <quote> ´ç½ÅÀÌ °ü½ÉÀ» °¡Áö°í ÀÖÀ»Áö ¸ð¸£´Â ¾Õ¼± ¹¦¾ÈÀ» X11R6.3¿¡ Ãß°¡Çß´Ù. »õ·Î¿î ``º¸¾È'' È®Àå¿¡ ÀÇÇÏ¿©, ¿¢½º ¼­¹ö ÀÚü°¡ ¸÷½Ã ºÐÁÖÇÏ°Ô »õ·Î¿î ÄíÅ°¸¦ »ý¼º½ÃÅ°°í µÇµ¹¸± ¼ö ÀÖ´Ù. ´õ±º´Ù³ª, ÄíÅ°µéÀº ``½Å·ÚÇÒ ¼ö ¾ø´Ù''°í ÁöÀûµÉ ¼ö À־ ±×·¯ÇÑ ÄíÅ°µé·Î ¿¬°áÀ» ÇÑ ÀÀ¿ëÇÁ·Î±×·¥Àº ½ÇÇà Áß¿¡ Á¦ÁöµÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ½Å·ÚÇÒ ¼ö ¾ø´Â °ÍµéÀº Å°º¸µå/¸¶¿ì½º ÀÔ·ÂÀ̳ª À©µµ¿ì ÄÜÅÙÃ÷¸¦ ¿©·¯ ½Å·Ú¼º Àִ Ŭ¶óÀ̾ðÆ®µé·ÎºÎÅÍ ¼Õ¿¡ ³ÖÀ» ¼ö ¾øÀ» °ÍÀÌ´Ù. ¾È½ÉÇϱ⠾î·Æ´Ù¸é, À¢¸¸ÇÑ ½Ç·ÂÀ¸·Îµµ »ç¿ë °¡´ÉÇÑ »õ·Î¿î ``»ý¼º'' ÇϺθí·ÉÀÌ ÀÖ´Ù. </quote> xauth´Â xhost »ç¿ë»ó¿¡¼­ ¸í¹éÇÑ º¸¾È»ó ÀÌÁ¡À» °¡Áø´Ù. ´ç½ÅÀº ƯÁ¤ÇÑ ÄÄÇ»ÅÍ »ó¿¡ ƯÁ¤ÇÑ »ç¿ëÀڷκÎÅÍÀÇ ¾ï¼¼½º¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. xauth´Â xhostó·³ ÁÖ¼Ò¸¦ ¼ÓÀÌ´Â ÀÏ¿¡ °í»ýÇÏÁö ¾Ê´Â´Ù. ±×¸®°í ´ç½ÅÀÌ ¿øÇÑ´Ù¸é, xauth°¡ ¿¬°áÀ» Çã¶ôÇÑ ´ÙÀ½¿¡ xhost¸¦ °è¼Ó »ç¿ëÇÒ ¼ö ÀÖ´Ù. <sect2> ÄíÅ° »ý¼ºÇϱâ(Making the Cookie) <p> xauth¸¦ »ç¿ëÇϱ⠿øÇÑ´Ù¸é, ´ç½ÅÀº X server¸¦ <tt/-auth authfile/ ¿É¼ÇÀ¸·Î ½ÃÀÛÇØ¾ß ÇÑ´Ù. ´ç½ÅÀÌ startx ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù¸é, ±× ½ºÅ©¸³Æ®°¡ xauth¸¦ »ç¿ëÇϱâ À§ÇÑ ÀûÀýÇÑ Àå¼ÒÀÌ´Ù. ´ç½ÅÀÇ startx ½ºÅ©¸³Æ®¿¡ ¾Æ·¡¿Í °°ÀÌ authorization record¸¦ ¸¸µé¾î¶ó. <tt>/usr/X11R6/bin/startx</tt>·ÎºÎÅÍ ¹ßÃé: <tscreen><verb> mcookie|sed -e 's/^/add :0 . /'|xauth -q xinit -- -auth "$HOME/.Xauthority" </verb></tscreen> Mcookie´Â ¸®´ª½º-À¯Æ¿ ÆÐÅ°Áö(ÁÖ¿ä »çÀÌÆ®´Â <htmlurl url= "ftp://ftp.math.uio.no/pub/linux/" name="ftp://ftp.math.uio.no/pub/linux/">) ¼Ó¿¡ ¾ÆÁÖ ÀÛÀº ÇÁ·Î±×·¥ÀÌ´Ù. ÅÃÇÒ¸¸ÇÑ °ÍÀ¸·Î, ´ç½ÅÀº ÀÓÀÇÀÇ ¹«ÀÛÀ§ µ¥ÀÌŸ(¿¹¸¦µé¾î, <tt>/dev/urandom</tt>³ª <tt/ps -axl/°°Àºµ¥·ÎºÎÅÍ)¸¦ ÃßÃâÇؼ­ ÄíÅ° ÇüÅ ¼Ó¿¡ ³Ö±â À§ÇØ md5sumÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> dd if=/dev/urandom count=1|md5sum|sed -e 's/^/add :0 . /'|xauth -q xinit -- -auth "$HOME/.Xauthority" </verb></tscreen> ´ç½ÅÀÌ startx ½ºÅ©¸³Æ®¸¦ (root°¡ ¾Æ´Ï¶ó¼­) ÆíÁýÇÒ ¼ö ¾ø´Ù¸é, startx¸¦ Á¤È®È÷ ¼³Á¤Çϱâ À§ÇØ ½Ã½ºÅÛ °ü¸®ÀÚ ±ÇÇÑÀ» ¾ò°Å³ª, ´ë½Å¿¡ °ü¸®ÀÚ°¡ xdmÀ» ¼³Á¤ÇÏ°Ô Ç϶ó. °ü¸®ÀÚ°¡ ÇÒ ¼ö ¾ø¾ú°Å³ª ÇÏ·Á°í ÇÏÁö ¾Ê´Â´Ù¸é, ´ç½ÅÀº <tt> ˜/.xserverrc</tt> ½ºÅ©¸³Æ®¸¦ ¸¸µé ¼ö ÀÖ´Ù. ´ç½ÅÀÌ ÀÌ ½ºÅ©¸³Æ®¸¦ °¡Áö°í ÀÖ´Ù¸é, xinit¿¡ ÀÇÇØ ½ÇÀç X server ´ë½Å¿¡ ÀÌ ½ºÅ©¸³Æ®°¡ ½ÇÇàµÈ´Ù. ±×¸®°í ³ª¼­ ´ç½ÅÀº ÀÌ ½ºÅ©¸³Æ®¿¡¼­ Àû´çÇÑ ¿É¼ÇÀ¸·Î ½ÇÀç X server¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. ±×·¸°Ô ÇÏ·Á¸é, ´ç½ÅÀÇ <tt>˜/.xserverrc</tt>°¡ ÄíÅ° Çϳª¸¦ ¸ÕÀú ¸¸µé°í³ª¼­ magic cookie ÇàÀ» ½ÇÇàÇÏ°í À̾ ½ÇÀç X server¸¦ ½ÇÇàÇϵµ·Ï Çضó: <tscreen><verb> #!/bin/sh mcookie|sed -e 's/^/add :0 . /'|xauth -q exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority" </verb></tscreen> ´ç½ÅÀÌ ´ç½ÅÀÇ X ¼¼¼ÇÀ» °ü¸®ÇÏ´Â xdmÀ» »ç¿ëÇÑ´Ù¸é, ´ç½ÅÀº xauth¸¦ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. <tt>/etc/X11/xdm/xdm-config</tt>¿¡ DisplayManager.authDir ÀÚ¿øÀ» Á¤ÀÇÇ϶ó. XdmÀº X server°¡ ½ÃÀÛÇÒ ¶§ X server¿¡ <tt/-auth/ ¿É¼ÇÀ» ³Ñ±æ °ÍÀÌ´Ù. ´ç½ÅÀÌ À̶§ xdm¿¡¼­ ·Î±×ÀÎÀ» Çß´Ù¸é, xdmÀº ´ç½ÅÀ» À§ÇØ ´ç½ÅÀÇ <tt> ˜/.Xauthority</tt>¿¡ ÄíÅ°¸¦ ºÙÀδÙ. ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ¸·Á¸é xdm(1) ¸ÇÆäÀÌÁö¸¦ º¸±â ¹Ù¶õ´Ù. ¿¹¸¦ µé¸é, ³ªÀÇ <tt>/etc/X11/xdm/xdm-config</tt>Àº ³»ºÎ¿¡ ´ÙÀ½ ÇàµéÀ» °¡Áö°í ÀÖ´Ù: <tscreen><verb> DisplayManager.authDir: /var/lib/xdm </verb></tscreen> <sect2> ÄíÅ° Àü´ÞÇϱâ(Transporting the Cookie) <p> ÀÌÁ¦ ¸· ´ç½ÅÀº ¼­¹ö È£½ºÆ® <tt/light.uni.verse/¿¡ ´ç½ÅÀÇ X ¼¼¼ÇÀ» ½ÃÀÛÇÏ°í <tt>˜/.Xauthority</tt>¿¡ ´ç½ÅÀÇ ÄíÅ°¸¦ ¾ò¾ú´Ù, ´ç½ÅÀº Ŭ¶óÀ̾ðÆ® È£½ºÆ® <tt/dark.matt.er/¿¡ ÄíÅ°¸¦ ÀüÇØ¾ß ÇÒ °ÍÀÌ´Ù. ´ç½ÅÀÇ È¨ µð·ºÅ丮°¡ ¹ã³·À¸·Î °øÀ¯µÇ¾î ÀÖÀ¸¸é °¡Àå ½¬¿î °æ¿ìÀÌ´Ù. <tt> ˜/.Xauthority</tt> ÆÄÀϵéÀº ´ÜÁ¶·Ó´Ù, ±×·¡¼­ ÄíÅ°´Â ¼ø°£ÀûÀ¸·Î Àü´ÞµÈ´Ù. ±×·¯³ª, ºÙµé¸± ¼öµµ ÀÖ´Ù: ´ç½ÅÀÌ <tt>˜/.Xauthority</tt>¿¡ <tt/:0/¿¡ ´ëÇÑ ÄíÅ° Çϳª¸¦ ºÙÀÏ ¶§, dark ÄÄÇ»ÅÍ´Â lightÄÄÇ»Å͸¦ À§ÇÑ °ÍÀÌ ¾Æ´Ï°í darkÄÄÇ»Å͸¦ À§ÇÑ °ÍÀ¸·Î ¿©±æ °ÍÀÌ´Ù. ´ç½ÅÀº ÄíÅ°¸¦ ¸¸µé ¶§ ¶Ñ·ÇÇÑ È£½ºÆ® À̸§À» »ç¿ëÇØ¾ß ÇÑ´Ù; ´ç½ÅÀº ±×°ÍÀ» ¹«½ÃÇÒ ¼ö ¾ø´Ù. ´ç½ÅÀº <tt/:0/°ú <tt/light:0/¸¦ À§ÇÑ ÄíÅ°¸¦ °°Àº °ÍÀ¸·Î ÀνºÅçÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> #!/bin/sh cookie=`mcookie` xauth add :0 . $cookie xauth add "$HOST:0" . $cookie exec /usr/X11R6/bin/X "$@" -auth "$HOME/.Xauthority" </verb></tscreen> Ȩ µð·ºÅ丮°¡ °øÀ¯µÇ¾îÀÖÁö ¾Ê´Ù¸é, ´ç½ÅÀº rsh(the remote shell)·Î ÄíÅ°¸¦ Àü´ÞÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> light$ xauth nlist :0 | rsh dark.matt.er xauth nmerge - </verb></tscreen> <enum> <item> ´ç½ÅÀÇ ·ÎÄà <tt>˜/.Xauthority</tt>¿¡¼­ ÄíÅ°¸¦ »©³½´Ù (<tt/xauth nlist :0/). <item> ÄíÅ°¸¦ dark.matt.er¿¡ Àü´ÞÇÑ´Ù (<tt/| rsh dark.matt.er/). <item> °Å±â <tt>˜/.Xauthority</tt>¿¡ ÄíÅ°¸¦ ºÙÀδ٠(<tt/xauth nmerge -/). </enum> rsh°¡ ´ç½ÅÀ» À§ÇØ µ¿ÀÛÇÏÁö ¾Ê°í ÀÖ´Â °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ´Ù. rshÀº °Ô´Ù°¡, º¸¾È»ó ¾àÁ¡(³» ±â¾ïÀÌ ¿Ç´Ù¸é, È£½ºÆ® À̸§À» °ÅÁþÀ¸·Î ´ë´äÇϴµ¥ ¼ÓÀ» ¼ö ÀÖ´Ù)µµ °¡Áö°í ÀÖ´Ù. ´ç½ÅÀÌ rsh¸¦ »ç¿ëÇÒ ¼ö ¾ø°Å³ª ¹Ù¶óÁö ¾Ê´Â´Ù¸é, ´ç½ÅÀº ´ÙÀ½°ú °°ÀÌ ÄíÅ°¸¦ ¼öµ¿À¸·Îµµ Àü´ÞÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> light$ echo $DISPLAY :0 light$ xauth list $DISPLAY light/unix:0 MIT-MAGIC-COOKIE-1 076aaecfd370fd2af6bb9f5550b26926 light$ rlogin dark.matt.er Password: dark% setenv DISPLAY light.uni.verse:0 dark% xauth add $DISPLAY . 076aaecfd370fd2af6bb9f5550b26926 dark% xfig & [15332] dark% logout light$ </verb></tscreen> ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ¸·Á¸é ¿ª½Ã rsh(1)¿Í xauth(1x)ÀÇ ¸ÇÆäÀÌÁö¸¦ º¸±â ¹Ù¶õ´Ù. ´ç½ÅÀÌ ¿ø°Ý È£½ºÆ®¿¡ telnet Á¢¼ÓÀ» ÇÒ ¶§ <tt/TERM/À̳ª <tt/DISPLAY/ º¯¼ö ¼Ó¿¡ ÄíÅ°¸¦ °°ÀÌ Àü´ÞÇÏ´Â °ÍÀÌ °¡´ÉÇÒÁö ¸ð¸¥´Ù. ÀÌ°ÍÀº <tt/TERM/ º¯¼ö ³»¿¡ <tt/ DISPLAY/ º¯¼ö¸¦ °°ÀÌ Àü´ÞÇÏ´Â °Í°ú ¶È°°Àº ¹æ¹ýÀÌ ÅëÇÒ °ÍÀÌ´Ù. 5Àå : Ŭ¶óÀ̾ðÆ® ¾Ë·ÁÁÖ±â(Telling the Client)¸¦ º¸¾Æ¶ó. ³ªÀÇ ÁöħÀ» Åä´ë·Î ÀÌ ºÎºÐÀº ´ç½Å ÀÚ½ÅÀÇ ÈûÀ¸·Î Çغ¸¶ó, ±×·¯³ª ³ª´Â ´©±º°¡°¡ ÀÌ°ÍÀ» È®ÀÎÀ̳ª ºÎÁ¤À» ÇÒ ¼ö ÀÖ´ÂÁö ±Ã±ÝÇÏ´Ù. <sect2> ÄíÅ° »ç¿ëÇϱâ(Using the Cookie) <p> dark.matt.er»ó¿¡, xfig°°Àº ¶Ù¾î³­, X ÀÀ¿ëÇÁ·Î±×·¥Àº ÀúÀý·Î ÀÚ½ÅÀ» ÀÎÁõ¹Þ±â À§ÇÑ ÄíÅ°¸¦ ±× ÄÄÇ»ÅÍ¿¡ <tt>˜/.Xauthority</tt>¿¡¼­ Á¶»çÇØ º¼ °ÍÀÌ´Ù. <sect1> Ssh <p> Authority recordµéÀº ¾ÏȣȭÇÏÁö ¾Ê°í ¹ß¼ÛÇÑ´Ù. ´ç½ÅÀÌ ´©±º°¡°¡ ´ç½ÅÀÇ ¿¬°áÀ» ¿³º¸´Â °ÍÀ» °ÆÁ¤ Çغ¸¾Ò´Ù¸é, ssh(the secure shell)À» »ç¿ëÇ϶ó. ¾ÏȣȭµÈ ¿¬°á »ó¿¡¼­ X protocol ¿¬°áÀ» Çâ»ó½Ãų °ÍÀÌ´Ù. °Ô´Ù°¡, ±× ¿Ü¿¡ ÁÁÀº Á¡µµ ÀÖ´Ù. ±× ¿Ü¿¡ ÁÁÀº Á¡À¸·Î´Â ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÁÁÀº ±¸Á¶»óÀÇ °³¼±ÀÌ ÀÖ´Ù. ±×³É <htmlurl url="http://www.cs.hut.fi/ssh/" name="http://www.cs.hut.fi/ssh/" >, ssh ȨÆäÀÌÁö¸¦ ¹æ¹®ÇØ º¸¶ó. ÀÎÁõ ¹æ¹ýÀ̳ª ¾Ïȣȭ X ¿¬°á¿¡ °üÇؼ­ ¿©±â¿¡ ¾ð±ÞÇÑ °Í ¿Ü¿¡ ´Ù¸¥ °ÍÀÌ Àְڴ°¡? ¾Æ¸¶ Ä¿¹ö·Î½º (Kerberos) ÇÁ·ÎÅäÄÝ ¹Û¿¡ ¾øÀ» °ÍÀÌ´Ù. <sect> ¹®Á¦ ÇØ°á(Troubleshooting) <p> óÀ½À¸·Î ¿©·¯ºÐÀÌ ¿ø°Ý ¿¢½º À©µµ¿ì ÀÀ¿ëÇÁ·Î±×·¥ ½ÇÇàÀ» ½ÃµµÇßÀ» ¶§, ´ë°³´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇÁö ¾Ê´Â´Ù. ¿©±â¿¡ ¾à°£ÀÇ ÈçÇÑ ¿¡·¯ ¸Þ½ÃÁöµé°ú ±×°ÍµéÀÇ ¿øÀÎ, Àǵµ´ë·Î µÇµµ·Ï ´ç½ÅÀ» µµ¿ï ¼ö ÀÖ´Â ÇØ°áÃ¥ÀÌ ÀÖ´Ù. <tscreen><verb> xterm Xt error: Can't open display: </verb></tscreen> <tt/DISPLAY/ ȯ°æº¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â µ¥´Ù°¡, ´ç½ÅÀº<tt/-display/ Ç÷¯±×·Îµµ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô µð½ºÇ÷¹À̸¦ ¾Ë·ÁÁÖÁö ¾Ê¾Ò´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ÅÖºó ¹®ÀÚ¿­À» ¶°¸Ã¾ÒÁö¸¸, ±¸¹®»óÀÇ ¸ð¼ø¸¸ ÀÖ¾ú´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ±, <tt/DISPLAY/ ȯ°æº¯¼ö ¼³Á¤À» È®½ÇÈ÷ Ç϶ó ( ´ç½ÅÀÇ ½©¿¡ µû¶ó <tt/setenv/³ª <tt/export/ ¸í·ÉÀ¸·Î). <tscreen><verb> _X11TransSocketINETConnect: Can't connect: errno = 101 xterm Xt error: Can't open display: love.dial.xs4all.nl:0 </verb></tscreen> ¿¡·¯ 101Àº ``³×Æ®¿öÅ©°¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù''´Â »óȲÀÌ´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº ¼­¹ö¿¡ ³×Æ®¿öÅ© ¿¬°áÀ» ÇÏÁö ¸øÇß´Ù. ´ç½ÅÀÌ <tt/DISPLAY/¸¦ ¿Ã¹Ù¸£°Ô ¼³Á¤Çß´ÂÁö, ´ç½ÅÀÇ Å¬¶óÀ̾ðÆ®¿¡¼­ ¼­¹ö ÄÄÇ»ÅÍ·Î Á¢±ÙÀÌ °¡´ÉÇÑÁö »ìÆ캸¾Æ¶ó (¾î·µç ´ç½ÅÀº ¼­¹ö¿¡ ´ë°³ ·Î±×ÀÎ µÇ¾îÀÖ°í Ŭ¶óÀ̾ðÆ®¿¡ telnetÁ¢¼ÓÀ» ÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù). <tscreen><verb> _X11TransSocketINETConnect: Can't connect: errno = 111 xterm Xt error: Can't open display: love.dial.xs4all.nl:0 </verb></tscreen> ¿¡·¯ 111Àº ``¿¬°áÀÌ °ÅÀý''µÈ »óȲÀÌ´Ù. ´ç½ÅÀÌ ¿¬°áÀ» ½ÃµµÇÑ ¼­¹ö ÄÄÇ»ÅÍ¿¡ Á¢±Ù ÇÒ ¼ö´Â ÀÖÁö¸¸, ÁöÀûÇÑ ¿¢½º ¼­¹ö°¡ °Å±â¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ´ç½ÅÀÌ ¿Ã¹Ù¸¥ ¼­¹ö À̸§°ú µð½ºÇ÷¹ÀÌ ¼ø¹øÀ» »ç¿ëÇß´ÂÁö »ìÆ캸¾Æ¶ó. <tscreen><verb> Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server xterm Xt error: Can't open display: love.dial.xs4all.nl:0.0 </verb></tscreen> Ŭ¶óÀ̾ðÆ®´Â ¼­¹ö¿¡ ¿¬°áÇÒ ¼ö ÀÖ¾úÁö¸¸, ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¼­¹ö¸¦ »ç¿ëÇÏ´Â °ÍÀ» Çã¶ôÇÏÁø ¾Ê¾Ò´Ù (ÀÎÁõ¹ÞÁö ¸øÇß´Ù). ´ç½ÅÀº Ŭ¶óÀ̾ðÆ®¿¡ ¿Ã¹Ù¸¥ magic cookie¸¦ Àü´ÞÇÏ°í, ÄíÅ°°¡ ¸¸±â°¡ ¾ÈµÇµµ·Ï È®½ÇÈ÷ Ç϶ó (¼­¹ö´Â »õ·Î¿î ¼¼¼ÇÀ» ½ÃÀÛÇÏ¸é »õ·Î¿î ÄíÅ°¸¦ »ç¿ëÇÑ´Ù). </article> ---- CategoryKLDP ---- CategoryKLDP ---- CategoryKLDP ---- CategoryKLDP