¸®´ª½º ±âŸ ÀÚ·á |
---|
Á¦¸ñ | X-Windows Programming #1 1998/07/04 (16:25) |
À̸§ | ±èÈ¿¿ø |
¹øÈ£ | 40 |
Á¶È¸ | 325 |
º»¹® |
¡º¸®´ª½º Çдç-¸®´ª½º °Á / ¿¬Àç (go LINUX)¡» 225¹ø Á¦ ¸ñ:[°Á 01] X ÇÁ·Î±×·¡¹Ö ±âÃÊ : Xlib ¿Ã¸°ÀÌ:geoman (À̸¸¿ë ) 96/03/21 01:01 ÀÐÀ½:3688 °ü·ÃÀÚ·á ¾øÀ½ ----------------------------------------------------------------------------- X À©µµ¿ì ÇÁ·Î±×·¡¹Ö¿¡ µµÀüÇϽô ¿©·¯ºÐÀ» ȯ¿µÇÕ´Ï´Ù. Àúµµ ¾Æ´Â °ÍÀº ¸¹ÀÌ ¾ø Áö¸¸ ¿©·¯ºÐÀ» Á¶±ÝÀÌ¶óµµ µµ¿ï ¼ö ÀÖ´Ù¸é, ±×¸®°í ÀúÀÇ °Á¸¦ °è±â·Î ´õ¿í ´õ ¸¹ Àº ¼öÁسôÀº X À©µµ¿ì ÇÁ·Î±×·¡¹Ö °ÁµéÀÌ »ý°Ü³ª±æ ±â´ëÇÏ¸é¼ X À©µµ¿ì ÇÁ·Î±×·¡ ¹Ö ±âÃÊ°úÁ¤À» ½ÃÀÛÇÒ±î ÇÕ´Ï´Ù. ¾î·Æ´õ¶óµµ Æ÷±âÇÏÁö ¸¶½Ã°í ³¡±îÁö Àú¿Í ÇÔ²² °¡¼Å¼ ´ç´çÇÑ X À©µµ¿ì ÇÁ·Î±×·¡¸Ó·Î ¿ì¶Ò ¼½Ê½Ã¿ä. ±×¸®°í ¸®´ª½º¸¦ ºû³»ÁÝ´Ï´Ù. 0) X À©µµ¿ì ÇÁ·Î±×·¡¹Ö¿¡ µé¾î°¡±â ¾Õ¼ ¿©·¯ºÐÀÇ ¼±ÅÃÀº Á¤¸»·Î Ź¿ùÇÕ´Ï´Ù. X À©µµ¿ì ½Ã½ºÅÛÀº MS À©µµ¿ìÁî 95¿Í °°Àº ¾ûÅ͸®¿¡´Ù ´Ü¸íÇϴ üÁ¦¿Í´Â ÀüÇô ´Ù¸¥ ¼öÁØÀÇ ¾ÈÁ¤µÇ°í Ç¥ÁØÀûÀÎ ½Ã½ºÅÛÀÔ´Ï´Ù. ¿©·¯ºÐ²²¼ ¹Ì·¡¸¦ »ý°¢ÇϽŴٸé, ¹Ù·Î X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ» ¼±ÅÃÇϽʽÿä. ÀÚ, ¿ì¼± Á¡°ËÇØ¾ß ÇÒ °ÍµéÀÌ ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀÇ ½Ã½ºÅÛÀÌ X ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ÁØ ºñ°¡ µÇ¾î ÀÖ´ÂÁö ¾Ë¾ÆºÁ¾ß ÇÏÁö ¾ÊÀ»±î¿ä? ÀÌ ±ÛÀ» Àд ºÐµéÀº ÃÖ¼ÒÇÑ X À©µµ¿ì°¡ ÀÛµ¿ÇÏ°í °è½Å ¼±ÅùÞÀº(?) ºÐµéÀÏ °ÍÀÌ°í, ³²Àº °ÍÀº ¿©·¯ºÐÀÌ ½½·¢¿þ¾î ¼³Ä¡½Ã X ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Â Çì´õ ÆÄÀÏ µîÀ» Á¦´ë·Î ¼³Ä¡Çϼ̴ÂÁö È®ÀÎÇغ¸½Ã±â ¹ß ¶ø´Ï´Ù. /usr/include/X11 ¤Ô±×¸®°í /usr/X11/lib ¿¡ ÈÀϵéÀÌ ÀÖ´ÂÁö ¸»ÀÔ´Ï´Ù. ¸ðµÎ ÀÌ»ó¾ø´Ù°í¿ä? ³×, ±×·¯¸é ½ÃÀÛÇսôÙ. 1) X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ̶õ ? X À©µµ¿ì ÇÁ·Î±×·¥À̶õ X À©µµ¿ìÀÇ 'ÀÚ¿ø(Resource)'À» ÀÌ¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. XÀÇ ÀÚ¿øµéÀº ´ëÇ¥ÀûÀ¸·Î â(Window), »ö»ó(Color Map), ÆùÆ®(font) µîÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÀÚ¿øµéÀ» X À©µµ¿ì ¼¹ö(Server)¶ó°í ÇÏ´Â ³à¼®ÀÌ Àü±ÇÀ» °¡Áö°í °ü¸®ÇÏ°í ÀÖ½À´Ï´Ù. ¿ì¸®ÀÇ ¿ªÇÒÀº ÀÌ¹Ì Á¤ÇØÁ® ÀÖ´Â '±ÔÄ¢'¿¡ µû¶ó¼, ÀÚ¿øÀ» °ü¸®ÇÏ°í ÀÖ´Â ¼¹ö¿¡ ¿¬°áÇÏ¿©, ¼¹ö´õ·¯ ¿ì¸®°¡ ¿øÇÏ´Â ÀÚ¿øÀ» ¼ºñ½ºÇØ´Þ¶ó°í ¿äûÇÏ´Â ÀÏÀÔ´Ï ´Ù. ¹Ù·Î ¿ì¸®´Â ¼¹ö¶ó´Â ³ð°ú ¾î¶»°Ô ¿¬°áÇÒ °ÍÀÎÁö, ±×¸®°í ¾î¶»°Ô ¼¹ö´õ·¯ ÀÌ °Í Àú°Í ¿ì¸®°¡ ¿øÇÏ´Â °ÍÀ» ´Þ¶ó°í ÇÏ´ÂÁö¸¦ ¹è¿ì´Â °ÍÀ» ¸ñÇ¥·Î ÇÏ°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥À» Ŭ¶óÀ̾ðÆ®(Client)¶ó°í ÇÏÁö¿ä. ¼¹ö/Ŭ¶óÀ̾ðÆ® °³³äÀ̶ó°í Çؼ Ç×»ó ÇÁ·Î±×·¥À» "¹«¾ùÀÌ ¹«¾ù¿¡ ¿¬°áÇÏ¿© ¿øÇÏ´Â ÀÏÀ» ÇÑ´Ù"¶ó´Â »ç°í¹æ½Ä ÇÏ ¿¡ ¸ðµç ÇÁ·Î±×·¥À» Â¥°Ô µË´Ï´Ù. ÀÌ´Â ´õ ³ª¾Æ°¡ ¼¼°è ÀúÆí¿¡ ÀÖ´Â ¼¹ö¿¡ ¿ì¸® Áý ÀÇ Å¬¶óÀ̾ðÆ®°¡ ¿¬°áÀ» ÇÏ¿© ¼ºñ½º¸¦ ¹Þ´Â´Ù´Â "³×Æ®¿öÅ© ÁöÇâÀû"ÀÌ°í ¹Ì·¡ÀûÀÎ ÇÁ·Î±×·¡¹ÖÀÌ µË´Ï´Ù. ÀÎÅÍ³Ý ½Ã´ë¸¦ »ì°í ÀÖ´Â ¿ì¸®¿¡°Ô´Â ¾ÆÁÖ Áß¿äÇÑ °³³äÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ºÐ²²¼ Àú¿Í ÇÔ²² X ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è¸¦ ŽÇèÇϽô٠º¸¸é ¾ÆÁÖ ÀÚ¿¬½º·´°Ô ¸ÚÁø ³×Æ®¿öÅ© ÇÁ·Î±×·¥¿¡ µµÀüÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ¿ì¸®´Â ´ÜÁö Á¤ÇØÁø ±ÔÄ¢¿¡ µû¶ó ¼¹ö¿¡ ¿¬°áÇÏ°í, ¼ºñ½º¸¦ ¹Þ°í, ¿¬°áÀ» ÇØÁ¦ ÇÏ´Â °ÍÀ» ¹è¿ì´Â °ÍÀÏ »ÓÀ̶ó´Â »ç½ÇÀ» Ç×»ó ¸í½ÉÇØÁÖ¼¼¿ä! 2) ¾Ë¾ÆµÎ¾î¾ß ÇÒ »ç½Ç (1) ¿©·¯ºÐ ¸ðµÎ ´çÀå¿¡ ½ÇÁ¦ÀûÀÎ X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í ½ÍÀ¸½Ç °Ì´Ï´Ù. ÇÏÁö¸¸, ÀÌ·¯ÇÑ »ç½ÇµéÀº ¾Ë°í µé¾î°¡¼Å¾ß ´õ¿í ´õ »¡¸® ÇÁ·Î±×·¡¹Ö¿¡ Àͼ÷ÇØÁö½Ç ¼ö ÀÖ´Ù °í »ý°¢ÇÕ´Ï´Ù. cd /usr/X11/lib Çغ¸¼¼¿ä. ±×¸®°í ls ... lib¶ó´Â ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ¸¹Àº ÈÀϵéÀÌ ÀÖ´Â °ÍÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ÀÌ ³à¼®µé '¶óÀ̺귯¸®'´Â ¿ì¸®¸¦ Ç×»ó µµ¿Í ÁÖ´Â ³ðµéÀÔ´Ï´Ù. À̵éÀÌ ¾øÀ¸¸é ¾Æ¹« °Íµµ ÇÒ ¼ö°¡ ¾ø½À´Ï´Ù. ÀÌ ³à¼®µéÀ» ¿©·¯ºÐ ²² ¼Ò°³½ÃÄÑ µå¸®°íÀÚ ÇÕ´Ï´Ù. libX11 : À̸§¿¡µµ µå·¯³ªµíÀÌ °¡Àå ±âº»ÀûÀÎ ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ¸ðµç Ä£±¸µéÀº ÀÌ Ä£±¸ ¾øÀÌ´Â ¹«¿ëÁö¹°ÀÔ´Ï´Ù. °¡Àå Áß¿äÇÑ, ±×¸®°í °¡Àå º»ÁúÀûÀÎ X ÀÇ ±â´ÉÀ» ½ÇÇöÇØÁÖ´Â Xlib ÀÔ´Ï´Ù. libXt : X ÅøŶ(X Toolkit Intrinsic)À̶ó°í ºÎ¸¨´Ï´Ù. Xlib À§¿¡¼ ±¸ÇöµÇ¾î ÀÖ´Â ¾ÆÁÖ À¯¿ëÇÑ ·çƾµéÀÔ´Ï´Ù. ³ªÁß¿¡ À§Á¬À̶ó°í ÇÏ´Â X ÀÎÅÍÆäÀ̽º ¿¡¼ ¾ÆÁÖ Áß¿äÇÑ ³ðµéÀ» ´Ù·ê ¶§ ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù. ÀÌ°ÍÀ» ÀÚÀ¯ÀÚÀç·Î »ç¿ëÇÏ½Ç ¼ö ÀÖ´Â ¼öÁØÀÌ µÇ½Ã¸é X ÇÁ·Î±×·¡¹ÖÀº ³¡³ °Å³ª ´Ù¸§¾øÁÒ. libXaw : Athena Widget ÀÔ´Ï´Ù. ¾Õ±ÛÀÚ¸¦ µû¼ aw ÀÔ´Ï´Ù. Áö±Ý ÇöÀç´Â °ÅÀÇ »ó¿ë ¸ðƼÇÁ(Motif)¸¸ÀÌ »ç¿ëµÇ¾î °ÅÀÇ ¾ºÀÌÁö ¾Ê´Â °Í °°½À´Ï´Ù. ÇÏÁö¸¸ X¸¦ °³¹ßÇÑ MIT°¡ ¸¸µç °ÍÀ¸·Î¼ Free À̹ǷÎ, Àú´Â ¿©·¯ºÐ°ú ¹ÌÈíÇϳª¸¶ ÀÌ Ä£±¸¸¦ °¡Áö°í ¿¹»Û ÇÁ·Î±×·¥ ÀÎÅÍÆäÀ̽º¸¦ ¸¸µé¾î º¼±î ÇÕ´Ï´Ù. ¸ðƼÇÁ¿¡ °üÇÑ °ÍÀº ¼Á¡¿¡ Ã¥ÀÌ ¿ÂÅë ±ò·Á ÀÖÀ¸´Ï ±×°ÍÀ» Âü°í ÇÏ½Ã¸é µË´Ï´Ù. ¾îÂî µÇ¾úµç ¾Ë¾ÆµÎ½Ã¸é, ¸ðƼÇÁµµ ±Ý¹æ »ç¿ëÇÏ½Ç ¼ö ÀÖ ½À´Ï´Ù. ¿äÁò libXaw3d°¡ ³ª¿ÍÀִµ¥, ¿øÆÇ libXaw°¡ ¿ö³« ÃʶóÇؼ ÇÑ°è °¡ ÀÖ±â´Â ÇÏÁö¸¸, Á¦ °³ÀÎÀûÀÎ °ßÇØ´Â ±×·¡µµ ¼³Ä¡ÇϽô °ÍÀÌ ´õ ÁÁ´Ù ÀÔ´Ï´Ù. ¼¼¿¬À̳ª °í½ºÆ®½ºÅ©¸³Æ®ÀÇ ¹öÆ°ÀÌ ¾à°£ 3Â÷¿øÀûÀ¸·Î, ±×¸®°í ¸ðƼÇÁ ³¿»õ¸¦ dz±â´õ±º¿ä. ÀÚ·á½Ç¿¡ ÀÖ½À´Ï´Ù. libXmu : Miscellaneous UtilitiesÀÇ ¾Õ±ÛÀڵ鸸 µû¼ mu ÀÔ´Ï´Ù. ±âŸ µîµîÀÇ ±â´ÉÀ» ±¸ÇöÇØÁÖ´Â ³à¼®ÀÌÁö¸¸, ¾ø¾î¼´Â ¾ÈµÉ ³à¼®ÀÔ´Ï´Ù. ±× ±âŸ µî µîÀ̶ó°í ÇÏ´Â °ÍÀÌ Çϵµ ¸¹ÀÌ ¾²¿©¼... libXpm : È®ÀåÀÚ°¡ xpmÀÎ ÈÀÏµé º¸½Å Àû ÀÖÀ¸½ÃÁÒ? Ä÷¯ ºñÆ®¸Ê ÈÀÏ Áö¿ø µîÀÇ ±×·¡ÇÈ Áö¿ø ¶óÀ̺귯¸®ÀÔ´Ï´Ù. ¾È Áß¿äÇÒ ¸®°¡ ÀÖÀ»±î¿ä? ³ª¸ÓÁö Ä£±¸µéÀº ¼Ò°³½ÃÄÑ µå¸®±â Èûµé±º¿ä. ¾ÆÁ÷ ¶§°¡ µÇÁö ¾Ê¾Æ¼... ³ªÁß¿¡ ¼Ò°³½ÃÄÑ µå¸± ±âȸ°¡ ¿Ã Áö... 3) ÀÚ, ÀÌÁ¦ ½ÃÀÛÇغ¼±î¿ä? Ŭ¶óÀ̾ðÆ®°¡ Á¦ÀÏ ¸ÕÀú ÇØ¾ß ÇÒ ÀÏÀº ¹«¾ùÀϱî¿ä? ... ¼¹ö¿¡ Á¢¼ÓÇÏ´Â ÀÏÀÔ´Ï´Ù. << °Á¶ »çÇ× >> °ú¿¬ ³ª´Â ¾î¶² ¼¹ö¸¦ ¼±ÅÃÇÒ °ÍÀΰ¡? ÇÏ´Â ¹®Á¦¸¦ ÇØ°áÇØ¾ß ÇÕ´Ï´Ù. º¸Åë µµ½º/ À©µµ¿ìÁî ȯ°æ¿¡ Àͼ÷ÇϽŠºÐµéÀº Á» »ý¼ÒÇÑ °³³äÀÌÁö¿ä. ÇÏÁö¸¸ ¿äÁòÀº ÀÎÅͳÝÀ» ¸¹ÀÌ ÇϽñ⠶§¹®¿¡ ÀÌÇØÇϽñ⠾î·ÆÁö´Â ¾ÊÀ» °Ì´Ï´Ù. ¸®´ª½º X À©µµ¿ì ȯ°æ¿¡¼ ´Â ¾ÆÁÖ °£´ÜÇÑ ¹®Àåµé·Î ¿©·¯ºÐ ¿·¿¡ ÀÖ´Â ÄÄÇ»ÅÍ ¸»°íµµ ¼¼»ó ÀúÆí¿¡ ÀÖ´Â ÄÄÇ» ÅÍÀÇ ¸ð´ÏÅÍ¿¡´Ù ÇϳªÀÇ Ã¢À» ¶ç¿ì´Â ÀÏ Á¤µµ´Â ³Ê¹«µµ ½±°Ô ÇÒ ¼ö Àְŵç¿ä. vi, emacs¿Í °°Àº ¿¡µðÅ͸¦ ÀÌ¿ëÇؼ ´ÙÀ½°ú °°Àº ³»¿ëÀÌ µé¾î ÀÖ´Â ÈÀÏÀ» Çϳª ¸¸µé¾î º¸¼¼¿ä. ¿¹Á¦ 1) #include <X11/Xlib.h> main() { Display *d ; d = XOpenDisplay ("localhost:0.0") ; XCloseDisplay (d) ; } ¸¸¾à À§ÀÇ ³»¿ëÀ» ex01.c¶ó´Â À̸§À¸·Î ÀúÀåÇϼ̴ٸé, cc -o ex01 ex01.c -lX11 Çغ¸½Ê½Ã¿ä. ÄÄÆÄÀÏÀÌ Àߵ˴ϱî? ¾ÈµÈ´Ù±¸¿ä? ¿Ö ±×·²±î¿ä? Èûµç ¿µ¾îÁö¸¸ ¿¡·¯ »çÀ¯¸¦ Àß º¸½Ã¸é ¾Æ¸¶µµ Çì´õÆÄÀÏÀ» ¸øã´Â´Ù°í ±×·¯Áö ¾Ê³ª¿ä? ±×·¯¸é ´ÙÀ½°ú °°ÀÌ INCLUDE µð·ºÅ丮¸¦ ÁöÁ¤ÇØÁֽʽÿä. cc -o ex01 ex01.c -I/usr/include/X11 -lX11 ÄÄÆÄÀÏÀº µÇµµ ¸µÅ©°¡ ¾ÈµÇ´Ù¸é ¶óÀ̺귯¸® µð·ºÅ丮µµ ÁöÁ¤ÇØÁÖ¼¼¿ä. -L/usr/X11/lib ¸¦ ¸í·ÉÇà¿¡ Ãß°¡½ÃÅ°½Ã¸é µË´Ï´Ù. Á¦´ë·Î ÄÄÆÄÀÏÀÌ ÀÌ·ç¾îÁ³´Ù¸é, ½ÇÇàÀ» ½ÃÄѺ¸ÁÒ. ex10 ¿£ÅÍ! ¿©·¯ºÐ²²¼ ½Ç¸ÁÇϽô °ÍÀ» ´À³¥ ¼ö ÀÖ½À´Ï´Ù. :) ÀÌ°Ô ¹¹³Ä? ÇÏÁö¸¸! ÀÌ ÇÁ·Î±×·¥Àº X À©µµ¿ì ÇÁ·Î±×·¡¹ÖÀÇ °ÅÀÇ ¸ðµç °ÍÀ» º¸¿©ÁÖ´Â °ÍÀ̳ª ´Ù¸§¾ø´Â ¾ÆÁÖ Áß¿äÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. Àú´Â ±×·¸°Ô ¿ì±â°í ½Í³×¿ä. :) ÀÌ ¾ûÅ͸®(?) X À©µµ¿ì ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¼³¸íÀ» µå¸®°íÀÚ ÇÕ´Ï´Ù. ùÁÙ INCLUDE ¹®ÀåÀº XOpenDisplay, XCloseDisplay, Display º¯¼ö°¡ ¼±¾ðµÇ¾î ÀÖ´Â Çì´õÈÀÏ Xlih.h¸¦ Æ÷ÇÔ½ÃÅ°´Â ¹®ÀåÀÔ´Ï´Ù. ´ÙÀ½À¸·Î ´ç¿¬È÷ main ÇÔ¼ö°¡ Á¤ÀǵǾî¾ß°ÚÁÒ? DisplayÇü Æ÷ÀÎÅÍ d ¸¦ ¼±¾ðÇÕ´Ï´Ù. 3-1) Display¶õ? µð½ºÇ÷¹ÀÌ°¡ ¹«¾ùÀÎÁö Àß ¾Æ½Ç °Ì´Ï´Ù. ¿©·¯ºÐ²²¼ ¹Ù·Î ´« ¾Õ¿¡ µÎ°í °è½Å °ÍÀÌ ¸ð´ÏÅͶó°í ÇÏ´Â 'µð½ºÇ÷¹ÀÌ'ÀÔ´Ï´Ù. ±×·±µ¥ ¿©±â¼ Display¶ó°í ÇÏ´Â °ÍÀº X À© µµ¿ì ½Ã½ºÅÛ¿¡¼ ¾à°£ È®ÀåµÈ Àǹ̷Π»ý°¢ÇÕ´Ï´Ù. Á¤ÀÇ : Display¶õ ÇϳªÀÇ ¼¹ö°¡ °ü¸®ÇÏ°í ÀÖ´Â 1°³ ÀÌ»óÀÇ ½ºÅ©¸°(Screen), 1°³ÀÇ Å°º¸µå, ¸¶¿ì½º µîµîÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Â ÁýÇÕüÀÌ¸ç ¿öÅ©½ºÅ×À̼Ç(Workstation)ÀÌ ¶ó°í ºÎ¸£±âµµ ÇÑ´Ù. ÀÌ·¯ÇÑ µð½ºÇ÷¹ÀÌ´Â º¸Åë ¸ð´ÏÅÍ Çϳª Àüü¸¦ ³ªÅ¸³»´Â ½ºÅ©¸°À» Çϳª °®´Â °æ¿ì °¡ º¸ÅëÀÌÁö¸¸ Ư¼öÇÑ °æ¿ì 2°³ ÀÌ»óÀÇ ½ºÅ©¸°À» °®´Â °æ¿ìµµ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÇϳªÀÇ ÄÄÇ»ÅÍ¿¡ µÎ °³ÀÇ ¸ð´ÏÅ͸¦ ¾²´Â "µà¾ó ¸ð´ÏÅÍ" ½Ã½ºÅÛµµ Á¾Á¾ º¼ ¼ö ÀÖ ½À´Ï´Ù. ±× °æ¿ì Çϵå¿þ¾î°¡ ¹ÞÃÄÁشٸé, X ½Ã½ºÅÛÀº µÎ °³ÀÇ È¸éÀ» °¢°¢ ÀÌ¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÀÌ·± ÇÁ·Î±×·¥ Çϳª ¸¸µé¸é Á¤¸» Àç¹ÌÀÖ°ÚÁÒ? X À©µµ¿ì ½Ã½ºÅÛ¿¡ ¼´Â ³Ê¹«µµ ½±°Ô ÀÌ·ç¾îÁý´Ï´Ù. 3-2) XOpenDisplay ÇÔ¼ö ÀÚ, ÀÌÁ¦ ¿ì¸®°¡ ¿øÇÏ´Â µð½ºÇ÷¹ÀÌ ¼¹ö¿¡ Á¢¼ÓÀ» Çغ¾½Ã´Ù. XOpenDisplay ("localhost:0.0"); ÀÌ ¹®ÀåÀº localhostÀÇ 0¹ø µð½ºÇ÷¹ÀÌ(Áï, ù¹ø° µð½ºÇ÷¹ÀÌ)ÀÇ 0¹ø ½ºÅ©¸°(Áï, ù¹ø° ½ºÅ©¸°)¿¡ Á¢¼ÓÇ϶ó´Â ¶æÀÔ´Ï´Ù. localhost´Â ¹Ù·Î ¿©·¯ºÐ ÄÄÇ»Å͸¦ ÁöĪ Çϴ ȣ½ºÆ®¸íÀÔ´Ï´Ù. ÀÌ°ÍÀ» ¸¸¾à ´Ù¸¥ ÀÎÅÍ³Ý È£½ºÆ® ÁÖ¼Ò·Î ½áÁشٸé, ¾î¶»°Ú ´Ï±î? ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ°¡ ³×Æ®¿öÅ©¿¡ ¹°·ÁÀÖ°í, »ó´ë¹æ È£½ºÆ®¸¦ »ç¿ëÇÒ ±ÇÇÑÀÌ ÁÖ¾îÁ® ÀÖ´Ù¸é, ¿ì¸® ÇÁ·Î±×·¥Àº Àú ¸Ö¸®¿¡ Àִ ȣ½ºÆ® ¼¹ö¿Í ¿¬°áÀ» ÇÏ°Ô µË´Ï ´Ù. ¾Æ´Ï, ÀÌ·¸°Ô °£´ÜÇÒ ¼ö°¡!!! ÀÎÅÍ³Ý ÇÁ·Î±×·¥À̶ó´Â °ÍÀÌ º° °Í ¾Æ´Ï±º¿ä. localhost:0.0 °ú °°Àº Ç¥Çö½ÄÀ» ´«¿©°Ü º¸¾ÆÁֽʽÿä. ¸í·ÉÇà¿¡¼ ÇÑ ¹ø set À̶ó°í Ãĺ¸¼¼¿ä. ¾Æ¸¶ ³»¿ëÀÌ ¸¹¾Æ¼ more ¸¦ ÇØÁÖ¼Å¾ß ÇÒ °Ì´Ï´Ù. ÇÑ ¹ø ±× ³»¿ëÀ» ÁÖ·ç·è »ìÆ캸½Ã¸é DISPLAY=:0.0À̶ó´Â Ç¥Çö½ÄÀ» ãÀ¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ±× ´ÙÀ½À¸·Î HOSTDISPLAY=freeyong:0.0 ÀÌ·± Ç¥Çöµµ º¸½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ¹°·Ð freeyong°ú °°Àº ºÎºÐÀº ¿©·¯ºÐ¸¶´Ù ´Ù¸£Áö¿ä. ¿©·¯ºÐ²²¼ ÁöÁ¤ÇØÁֽŠÀ̸§ÀÌ ³ªÅ¸³¯ °Ì´Ï´Ù. localhost:0.0 À» freeyong:0.0µîÀ¸·Î ¹Ù²Ù¾î Áּŵµ µË´Ï´Ù. ÇÏÁö¸¸ ÀϺη¯ ¾Æ¹« Àǹ̵µ ¾ø´Â À̸§À» Á־½Ê½Ã¿ä. ÄÄÆÄÀÏÇÏ°í ½ÇÇàÀ» ½ÃÄѺ¸ ½Ã¸é ±× °á°ú¸¦ ¾Æ½Ç ¼ö ÀÖÀ» °Ì´Ï´Ù. ²À! È®ÀÎÇغ¸¼¼¿ä. º¸ÅëÀº Ç¥Çö½Ä ºÎºÐ¿¡ NULLÀ» ÁÖ¸é ÇöÀç DISPLAY¶ó´Â ȯ°æº¯¼öÀÇ °ªÀ» ÀÐ¾î¼ ¼¹ö ·Î »ç¿ëÇÕ´Ï´Ù. 3-3) XCloseDisplay ÇÔ¼ö Á¢¼ÓÇؼ ÇÑ ÀÏÀº Çϳªµµ ¾øÁö¸¸, ÀÌÁ¦ Á¢¼ÓÀ» ¸¶ÃÄ¾ß ÇÏÁö ¾ÊÀ»±î¿ä? ±× ÇÔ¼ö°¡ ¹Ù·Î XCloseDisplay ÇÔ¼öÀÔ´Ï´Ù. ¿À´ÃÀº ¾ÆÁÖ ¾ÆÁÖ °£´ÜÇÏÁö¸¸, ¶ÇÇÑ ¾ÆÁÖ ¾ÆÁÖ ±Ùº»ÀûÀÎ ÇÁ·Î±×·¥À» Çϳª Â¥º¸¾Ò ½À´Ï´Ù. ¸ðµç X À©µµ¿ì ÇÁ·Î±×·¥Àº ±âº»ÀûÀ¸·Î ¿¹Á¦ 1 ÇÁ·Î±×·¥°ú ±× Çü½ÄÀÌ °°½À ´Ï´Ù. ¼¹ö¿¡ ¿¬°áÇÏ°í ¼ºñ½º ¹ÞÀº ÈÄ, Á¢¼ÓÀ» ÇØÁ¦ÇÕ´Ï´Ù. ¸ðµç À¯¿ëÇÑ ÀÛ¾÷Àº XOpenDisplay ÇÔ¼ö¿Í XCloseDisplay ÇÔ¼ö »çÀÌ¿¡ Àû¾îÁÖ½Ã¸é µË´Ï´Ù. ÀÌ ±ÛÀ» ´Ù ÀÐÀ¸½Å ÈÄ, ²À Xlib.h ÈÀÏÀÇ ³»¿ëÀ» »ìÆ캸½Ê½Ã¿ä. ¿¹¸¦ µé¾î Display Çü º¯¼ö´Â ¾î¶»°Ô ¼±¾ð, Á¤ÀǵǾî ÀÖ´ÂÁö º¸½Ã¸é, Á¤¸»·Î ¸¹Àº Á¤º¸¸¦ Áö ´Ï°í ÀÖ´Â ±¸Á¶Ã¼(struct)¶ó´Â °ÍÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. ¾Æ¸¶µµ ¿À´Ã X À©µµ¿ì »ó¿¡¼ â Çϳª´Â ¶ç¿ö º¼ ¼ö ÀÖÁö ¾ÊÀ»±î? »ý°¢ÇϽŠºÐµé²² ´Â Á˼۽º·´±º¿ä. ´ÙÀ½ ¹ø¿¡´Â ²À â Çϳª¸¦ ¸ÚÁö°Ô ¶ç¿öº¸ÁÒ. ±×·³, ¾È³çÈ÷ °è½Ê½Ã¿ä. Ȱ ¿ìÀå»ê ¾Æ·¡¿¡¼... |