The Linux Printing HOWTOÀú ÀÚ : Grant Taylor, < gtaylor+pht@picante.com>¹ö Àü : 3.10 ¹ø ¿ª ÀÚ : ¾ö±â¼º, < nowlinux@soback.kornet.nm.kr> ÃÖÁ¾¼öÁ¤ÀÏ : 1996³â 9¿ù 10ÀÏ1. ÁÖÀÇ ¹× °æ°í´ÙÀ½ÀÇ ¹®¼´Â Grant TaylorÀÇ Linux Printing HOWTOÀÇ ÇÑ±Û ¹ø¿ªÆÇÀÌ´Ù. Linux Printing HOWTO´Â Linux ȯ°æ¿¡¼ (±âŸ À¯´Ð½º ȯ°æ¿¡¼µµ º¸ÆíÀûÀÎ ºÎºÐÀº Àû¿ë °¡´É) ÇÁ¸°Æ® Ãâ·Â(print), ¹Ì¸®º¸±â(preview), Æѽº(fax) »ç¿ë¿¡ ´ëÇÑ ÀڷḦ ¼öÁýÇÑ °ÍÀÌ´Ù. Âü°í·Î, ¿ªÀÚ´Â ¿ø¹®¿¡ ´ëÇÑ ¹ø¿ªÀ¸·Î ÀÎÇØ ¹ß»ýÇÒ ¼ö ÀÖ´Â À¯/¹«ÇüÀÇ ¼Õ½Ç¿¡ ´ëÇؼ ¾î¶°ÇÑ Ã¥ÀÓÀ̳ª º¸»óÀÇ Àǹ«¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù´Â Á¡À» ¹Ì¸® ¹àÇôµÐ´Ù. ±×¸®°í, ¿ªÀÚÀÇ Áö½ÄÀÌ ºÎÁ·ÇÑ °ü°è·Î ¿ø¹®ÀÇ ³»¿ëÀÌ À߸ø ¹ø¿ªµÉ °¡´É¼ºµµ ÀÖ´Ù´Â Á¡À» ÁÖÀÇÇ϶ó. (¿ø¹®ÀÇ ³»¿ëÀ» ½±°Ô Àü´ÞÇϱâ À§Çؼ ÀÇ¿ªÇÑ ºÎºÐÀÌ ¸¹´Ù.) 1.1 ¹ø¿ªÁß Á¦¿ÜµÈ ³»¿ëº» ¹®¼¸¦ ¹ø¿ªÇÏ´Â °úÁ¤¿¡¼ "Á÷·Ä Æ÷Æ®¿¡ ¿¬°áµÈ ÇÁ¸°ÅÍÀÇ È¯°æ¼³Á¤"¿¡ °üÇÑ ºÎºÐÀº ¹ø¿ªÇÏÁö ¾Ê¾Ò´Ù. ÇÊ¿äÇÑ ºÐÀº ¿µ¹®ÆÇÀ» Âü°íÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº 8ÀåÀ» Âü°íÇ϶ó. 2. ¼Ò°³(Intro)ÀÌ ¹®¼¸¦ ´Ù½Ã ÀÛ¼ºÇ߱⠶§¹®¿¡ ±¸¹öÀüÀÇ ³»¿ë¿¡¼ ¸¹Àº ÀÚ·á°¡ ºüÁ³´Ù. ÀÌ´Â ÀÌÀüÀÇ HOWTO ¹®¼°¡ ¾çÀûÀ¸·Î 60 typeset ÂÊ¿¡ À̸¦ Á¤µµ·Î Ä¿Á³À¸¸ç Áö·çÇÑ À̾߱â½ÄÀÇ ±¸¼º¹æ½ÄÀ» °¡Áö°í ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. º» ¹®¼¿¡¼ ¿øÇÏ´Â ÇØ°áÃ¥À» ãÀ» ¼ö ¾ø´Ù¸é a) PHT ȨÆäÀÌÁö < www.picante.com/~gtaylor/pht/> ¿¡¼ ±¸¹öÀüÀÇ PHT¸¦ µÚÁö°Å³ª b) ³ª(PHTÀÇ ÀúÀÚÀÎ grant taylor)¿¡°Ô ºüÁø °ÍÀÌ ¹«¾ùÀÎÁö °¡¸£ÃÄ ÁÖ¸é µÈ´Ù. Printing HOWTO ȨÆäÀÌÁöÀÎ < www.picante.com/~gtaylor/pht/>¿¡¼ °¡Àå ÃֽŹöÀüÀÇ PHT¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù; ¹°·Ð Sunsite(sunsite.unc.edu)³ª °¡±î¿î LDP ¹Ì·¯ »çÀÌÆ®¿¡¼µµ ±¸ÇÒ ¼ö ÀÖ´Ù. 2.1 º¯Ãµ»ç(History)ÀÌ ¹®¼´Â ¼¼ ¹ø° ¼öÁ¤ÆÇÀÌ´Ù. Áï, ¸ðµç ³»¿ëÀÌ »õ·Î ÀÛ¼ºµÇ´Â °úÁ¤À» ¼¼ ¹ø°·Î °ÅÃÆ´Ù´Â ÀǹÌÀÌ´Ù. PHTÀÇ º¯Ãµ»ç´Â ½Ã°£Àû ¼ø¼·Î ³ª¿Çؼ ´ÙÀ½°ú °°´Ù.
2.2 ÀúÀÛ±Ç(Copyright)ÀÌ ¹®¼ÀÇ ÀúÀÛ±ÇÀº Grant Taylor ¿¡°Ô ÀÖ´Ù.(Copyright (c) 1996 by Grant Taylor) ¹èÆ÷ ¶Ç´Â º¹»ç½Ã ÀúÀÚÀÇ À̸§À» Áö¿ì°Å³ª, ³»¿ëÀ» ¼öÁ¤ÇÏÁö ¾Êµµ·Ï Ç϶ó. 3. Ãâ·ÂÇÏ´Â ¹æ¹ý(How to print)´ç½ÅÀÇ ÇÁ¸°ÅÍ¿¡ ¸ÂÃç¼ lpd ¼³Á¤À» ¸¶Ãưųª ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ±×·¯ÇÑ ¼³Á¤À» ÇØ µÎ¾ú°Å³ª, ÆǸž÷Àڱ⠹̸® ȯ°æ¼³Á¤À» ÇØ ³õÀº °æ¿ì, lpr ¸í·É¾î¿¡ ´ëÇÑ °Í¸¸ ¹è¿ì¸é µÈ´Ù. The Printing-Usage HOWTO < sunsite.unc.edu/mdw/HOWTO/Printing-Usage-HOWTO.html> ¿¡¼ ±×·± ³»¿ëÀ» ´Ù·ç°í ÀÖÀ¸¸ç ÇÁ¸°Æ® Å¥(queue)¸¦ ´Ù·ç´Â ¸î °¡Áö Çʼö ¸í·É¾î¿¡ ´ëÇؼµµ ¼³¸íÇÏ°í ÀÖ´Ù. 4. Kernel printer devices4.1 lp devicelp µð¹ÙÀ̽º¸¦ Ä¿³Î¿¡¼ Áö¿øÇϵµ·Ï ÄÄÆÄÀÏÇϰųª ¸ðµâ·Î Àоîµé¿´´Ù°í °¡Á¤ÇÒ °æ¿ì (cat /proc/devices ¶ó°í ½ÇÇàÇϸé lp µð¹ÙÀ̽º¿¡ ´ëÇÑ ³»¿ëÀÌ Ãâ·ÂµÈ´Ù) ¸®´ª½º Ä¿³Î¿¡ ¼´Â /dev/lp0, /dev/lp1, /dev/lp2Áß Çϳª ÀÌ»óÀÇ µð¹ÙÀ̽º¸¦ Áö¿øÇÑ´Ù. ÀÌ ÀåÄ¡µéÀº µ¿ ÀûÀ¸·Î(dynamically) ÇÒ´çµÇ´Â °ÍÀº ¾Æ´Ï¸ç °¢°¢ÀÇ µð¹ÙÀ̽º´Â ƯÁ¤ÇÑ H/W ÀÔÃâ·Â ÁÖ¼Ò¿¡ ´ëÀÀÇÑ´Ù. Áï, ´ç½ÅÀÇ ÇÁ¸°ÅÍ Çϵå¿þ¾î¿¡ µû¶ó ù ¹ø° ÇÁ¸°ÅÍ´Â lp0 À̳ª lp1ÀÌ µÉ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. µÑ ´Ù Å×½ºÆ®ÇØ º¸¶ó.. :) plip¿Í lp µå¶óÀ̹ö¸¦ µ¿ÀÏÇÑ Æ÷Æ®¿¡¼ µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö´Â ¾ø´Ù. ±×·¯³ª, ¼öµ¿ ¶Ç´Â Ä¿³Î 2.0.x¿¡¼ Á¦°øÇÏ´Â (¶Ç´Â 1.3.x ÈĹݺÎÀÇ) kerneld¸¦ ÀÌ¿ëÇؼ º°µµÀÇ ½Ã°£µ¿¾È ¸ðµâ µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÎÅÍ·´Æ®(interrupt) ¼³Á¤À» ½ÅÁßÇÏ°Ô ÇÑ ´ÙÀ½ À§ÀÇ ¹æ¹ýÀ» ÀÌ¿ëÇϸé, ¾Æ¸¶µµ ÇÑÂÊ Æ÷Æ®¿¡¼´Â plip, ´Ù¸¥ÂÊ¿¡¼´Â lp¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ» °Í À¸·Î ÃßÃøµÈ´Ù. ¾î¶² ÀÌ´Â µå¶óÀ̹ö ¼Ò½º¸¦ ¼öÁ¤ÇÏ¿© ÀÌ·¸°Ô Çß´Ù. ; ³ª´Â ´Ü¼øÈ÷ ¸í·É¾î ÀԷ¸¸À¸·Î ¼º°øÇß´Ù´Â »ç¿ë´ãÀ» °í´ëÇÏ°í ÀÖ´Ù. tunelp¶ó´Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¸é ·çÆ®(root)·Î ·Î±äÇؼ lp µð¹ÙÀ̽ºÀÇ ÀÎÅÍ·´Æ® »ç¿ë Á¤µµ(interrupt usage), Æú¸µÀ²(polling rate) ¹× ±âŸ ¿É¼ÇÀ» Á¶ÀýÇÒ ¼ö ÀÖ´Ù. Ä¿³Î 2.0, ¶Ç´Â 1.3.x¿¡¼ Ä¿³Î¼Ó¿¡ lp µå¶óÀ̹ö°¡ Æ÷Ç﵃ °æ¿ì, Ä¿³ÎÀº ÀÎÅÍ·´Æ®¿Í ÀÔÃâ·Â ÁÖ¼Ò¸¦ ¼³Á¤Çϱâ À§ÇÑ " lp = " ¿É¼ÇÀ» ÀÌÇØÇÑ´Ù. lp µå¶óÀ̹ö°¡ Ä¿³Î¿¡ Æ÷ÇԵǾúÀ» ¶§, LILO/LOADLIN ¸í·É¾î¸¦ ÀÌ¿ëÇؼ µå¶óÀ̹ö°¡ »ç¿ëÇÒ Æ÷Æ® ÁÖ¼Ò¿Í ÀÎÅÍ·´Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¹®¹ý: lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]] ¿¹Á¦: lp=0x378,0 or lp=0x278,5,0x378,7 ** ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÒ ¶§, »ç¿ëÇϱæ Èñ¸ÁÇÏ´Â Æ÷µç Æ÷Æ®¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ±âº» ¼³Á¤°ª(default)´Â ¾ø´Ù. lp=0 À¸·Î ¼³Á¤Çϸé Ä¿³ÎÀÇ µå¶óÀ̹ö¸¦ »ç¿ëºÒ°¡(disable)·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. Ä¿³Î 2.0 ¹× 1.3.x ÈĹݺÎÀÇ Ä¿³Î¿¡¼ ¸ðµâ·Î »ç¿ëµÉ ¶§, insmod ¸í·É¾î ¿É¼Ç¿¡ LILO/LOADLIN ó·³ ÀÔÃâ·Â ÁÖ¼Ò¿Í ÀÎÅÍ·´Æ® ¶óÀÎÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. (¶Ç´Â /etc/conf.modules¿¡ ³Ö¾î¼ kerneld¿¡¼ »ç¿ëÇϵµ·Ï ÁöÁ¤) ¸Å°³º¯¼ö(parameter)´Â io=port0,port1,port2¿Í irq=irq0,irq1,irq2 ÀÌ´Ù. ¿©±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº insmodÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó. **(³ªÃ³·³) ÇÑ ¹øµµ Ç¥ÁØ Æ÷Æ® ¹øÈ£¸¦ ãÀ» ¼ö ¾ø¾ú´ø »ç¶÷µéÀº À§ÀÇ µÎ ¹ø° ¿¹Á¦ »óȲÀÎ °ÍÀÌ´Ù. ³ª¸ÓÁö Æ÷Æ®(lp0)ÀÇ ÁÖ¼ÒÀº 0x3bcÀÌ´Ù. ÀÌ Æ÷Æ®°¡ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ÀÎÅÍ·´Æ®¿¡ ´ëÇؼ ¾Ë°í ÀÖÁö ¾Ê´Ù. 4.2 Á÷·Ä Æ÷Æ® µð¹ÙÀ̽º(Serial devices)¸®´ª½º¿¡¼ Á÷·Ä Æ÷Æ®¿¡ ¿¬°áµÈ µð¹ÙÀ̽º´Â /dev/ttyS1°ú ºñ½ÁÇÑ Çü½ÄÀ¸·Î À̸§À» °¡Áö°í ÀÖ´Ù. stty¶ó´Â ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© Á÷·ÄÆ÷Æ®ÀÇ »óŸ¦ º¸°Å³ª ¼³Á¤°ªÀ» º¯°æÇÒ ¼ö ÀÖ´Ù; setserialÀ» ÀÌ¿ëÇÏ¸é ¸î °¡Áö È®ÀåµÈ Ư¼º Á¦¾î, ުǥÁØ Æ÷Æ®ÀÇ IRQ ¿Í ÀÔÃâ·Â ÁÖ¼Ò ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º¿¡¼ÀÇ Á÷·Ä Æ÷Æ®¿¡ °üÇÑ ÀÌÈÄÀÇ ÀÚ·á´Â Serial-HOWTO < sunsite.unc.edu/mdw/HOWTO/Serial-HOWTO.html>.¿¡¼ ãÀ» ¼ö ÀÖ´Ù. È帧 Á¦¾î(flow control)»óÅ·Π¿¬°áµÈ Àú¼ÓÀÇ Á÷·Ä ÇÁ¸°Å͸¦ »ç¿ëÇÒ ¶§, Ãâ·ÂÀÛ¾÷ ÁßÀÎ ´ç½ÅÀÇ µ¥ÀÌÅÍ ³¡ºÎºÐÀÌ Àß·Á ¾ø¾îÁö´Â Çö»óÀ» ¹ß°ßÇÒ ¼öµµ ÀÖ´Ù. ÀÌ·± Çö»óÀÇ ¿øÀÎÀº Æ÷Æ®¿¡ ¿¬°áµÈ ÀåÄ¡°¡ Æ÷Æ®¸¦ Æó¼âÇÑ ´ÙÀ½, 30ÃÊ À̳»¿¡ ¹öÆ۾ȿ¡ ÀÖ´Â Àü¼ÛÀ» ¸¶Ä¡Áö ¸øÇÑ ¹®ÀÚ¿(characters)À» ±ú²ýÀÌ Áö¿ö¹ö¸®´Â Á÷·Ä Æ÷Æ®ÀÇ ±âº»ÀûÀΠƯ¡¿¡¼ ãÀ» ¼ö ÀÖ´Ù. ¹öÆÛ´Â 4096ÀÚÀÇ ¹®ÀÚ¿À» ´ãÀ» ¼ö ÀÖÀ¸¸ç, ¿¬°áµÈ ÇÁ¸°ÅÍ°¡ È帧Á¦¾î¸¦ »ç¿ëÇÏ°í, ÇØ´ç Ãâ·Â ¼ÒÇÁÆ®¿þ¾î°¡ Á÷·ÄÆ÷Æ®¸¦ Æó¼âÇÑ µÚ 30ÃÊ À̳»¿¡ ¸ð µç ÀڷḦ Ãâ·ÂÇÒ ¼ö ¾øÀ» Á¤µµ·Î ´À¸®´Ù¸é, ¹öÆÛ¿¡ ´ã±ä ³»¿ëÁß ²¿¸®¿¡ ÇØ´çÇÏ´Â ¸¶Áö¸· ºÎºÐÀÇ ³»¿ëÀ» ÀÒ¾î¹ö¸± °ÍÀÌ´Ù. ``cat file1 > /dev/ttyS?''¶ó°í ¸í·ÉÇßÀ» ¶§, ÀÛÀº ÆÄÀÏÀÇ °æ¿ì Á¦´ë·Î Ãâ·ÂµÇ°í Å« ÆÄÀÏÀº ³»¿ëÀÌ Àß·Á¼ Ãâ·ÂµÇ¸é, À§¿¡¼ ¼³¸í ÇÑ È¯°æ¿¡ óÇØ ÀÖ´Ù°í º¼ ¼ö ÀÖ´Ù. ioctl() call¸¦ ÀÌ¿ëÇÏ´Â Á÷·ÄÆ÷Æ®ÀÇ ÀڷᱸÁ¶¿ä¼ÒÀÎ "closing_wait"¸¦ ÀÌ¿ëÇϸé 30ÃÊ °£°ÝÀ» Á¶ÀýÇÒ ¼ö ÀÖ´Ù. SetserialÀº ÀÌ·¯ÇÑ ¿ä¼Ò¸¦ Á÷Á¢ Ãë±ÞÇÏÁö ¾ÊÁö¸¸, µ¿ÀÏÇÑ ±¸Á¶¿¡¼ ´Ù¸¥ °ÍÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼, closing_wait¸¦ Á¶ÀýÇϱâ À§ÇØ ¼ setserialÀ» »ç¿ëÇÏ´Â °ÍÀÌ °£ÆíÇÏ´Ù. rc.serial¿¡ Á÷·Ä ÇÁ¸°ÅÍ°¡ ¿¬°áµÈ Á÷·ÄÆ÷Æ®¿¡ ´ëÇÑ setserial ¸í·ÉÀ» Ãß°¡/»ðÀÔÇÑ´Ù. ÀÌ·¸°Ô ÇÏ¿© ƯÁ¤ Æ÷Æ®ÀÇ closing_wait ¿Í ´Ù¸¥ »çÇ×À» µ¿½Ã¿¡ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. 5. Ãâ·Â¿ë ÇÁ·Î±×·¥Àº ¾î¶²°ÍÀÌ Àִ°¡?(Which spooling software?)ÃÖ±Ù±îÁö ¸®´ª¼µéÀÇ ¼±ÅÃÀº °£´ÜÇß´Ù. - ¸ðµç»ç¶÷Àº BSD Net-2 ¹èÆ÷º»¿¡¼ ±×´ë·Î º£³¤ ±¸½ÄÀÇ lpd¸¦ »ç¿ëÇß´Ù. ÃÖ±Ù¿¡µµ ´ë´Ù¼ö ¾÷ÀÚµéÀº ÀÌ ÇÁ·Î±×·¥À» Áý¾î³Ö´Â´Ù. ±×·¯³ª, º¯ÈÀÇ Á¶ÁüÀÌ º¸ÀÌ°í ÀÖ´Ù. ¼±(Sun)ÀÇ ¼Ö¶ó¸®½º(Solaris)µîÀÇ SVR4 °è¿ ½Ã½ºÅÛ¿¡¼ ÀüÇô ´Ù¸¥ Ãâ·Â¿ë ÇÁ·Î±×·¥ (print spooling package)À» ¼±º¸ÀÌ°í ÀÖ´Ù. ÀϺΠ¸®´ª½º ¾÷ü°¡ LPRng - ÀÚÀ¯·Ó°Ô ¹èÆ÷°¡ °¡´ÉÇϸç, ºñ±³Àû ÃÖ½ÅÀÇ Ãâ·Â ÇÁ·Î±×·¥ ÆÐÅ°Áö - ¸¦ Á¦°øÇÏ·Á´Â ½ÅÈ£µµ ÀÖ´Ù. LPRng´Â ´ë±Ô¸ð·Î ¼³Ä¡ÇÒ ¶§, °ü¸®°¡ ÈξÀ ÆíÇÏ°í lpd¿¡ ºñÇØ »ç¿ëÇϱ⠽±´Ù. ¼±ÅÃÀÇ ¿©Áö°¡ ³Ð¾îÁú °¡´É¼ºÀÌ ÀÖÁö¸¸, ÇöÀçÀÇ ½ÃÁ¡¿¡¼ lpd´Â ´ëºÎºÐÀÇ ¸®´ª¼µé¿¡°Ô Çö½ÇÀûÀ¸·Î ÃÖ»óÀÇ ´ë¾ÈÀÌ´Ù. Áö³ªÄ¡°Ô ±î´Ù·Î¿î ½Ã½ºÅÛÀÌ ¾Æ´Ï¶ó¸é ÇÑ ¹øÀÇ ¼³Á¤À¸·Î ¸ðµç °ÍÀÌ Àß µ¹¾Æ°¡¸ç, lpd´Â ¼µåÆÄƼÀÇ À¯´Ð½º ÆÄÀÏ·Î µÈ Ã¥À» Á¦´ë·Î ÀоîµéÀÌ°í Ãâ·ÂÇÒ ¼öµµ ÀÖ´Ù. LPRng¿¡ ´ëÇؼ °ü½ÉÀÌ ÀÖ´Ù¸é LPRng - An Enhanced Printer Spooler - ȨÆäÀÌÁö ¸¦ »ìÆ캸¶ó. < www.gsfc.nasa.gov/ltpcf/about/unix/Depotdoc/LPRng/>. ÀÌ ¹®¼ÀÇ ÀÌÈÄ ¹öÀü¿¡¼´Â LPRng¿Í º¸ÅëÀÇ lpd »ç¿ë¿¡ °üÇÑ ÀڷḦ ÇÔ²² Á¦°øÇÒ °ÍÀÌ´Ù. 6. Ãâ·ÂÀÛ¾÷ÀÇ ±âº»°úÁ¤(How it works, basic)Ãâ·ÂÀÛ¾÷ÀÌ Àß µÇ·Á¸é, ´ÙÀ½ÀÇ lpd ½Ã½ºÅÛÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù. lpd¶õ Line Printer DaemonÀ» ÀǹÌÇϸç, ¹®¸Æ(context)À¸·Î ÆľÇÇÒ ¶§ daemon ¶Ç´Â Ãâ·ÂÀÛ¾÷¿¡ °ü·ÃµÈ ÇÁ·Î±×·¥ÀÇ Àüü ¸ðÀ½À¸·Î ÀÌÇØµÉ ¼ö ÀÖ´Ù. ´ÙÀ½Àº À§¿¡¼ ¾ð±ÞµÈ Ãâ·Â¿¡ °ü·ÃµÈ ÇÁ·Î±×·¥ÀÌ´Ù.
7. ±âº»ÀûÀΠȯ°æ¼³Á¤ (How to set things up, basic)7.1 ÀϹÝÀûÀÎ lpd ¼³Á¤(Traditional lpd configuration)lpd¿¡ ÃÖ¼ÒÇÑÀÇ ¼³Á¤À» ÅëÇؼ ½Ã½ºÅÛÀº ÈÀÏÀ» ÇÁ¸°Æ® Å¥·Î º¸³»¾î Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ÀÌ °úÁ¤Àº ÇØ´ç ÆÄÀÏÀ» ÇÁ¸°ÅÍ°¡ ÀÌÇØÇÒ ¼ö ÀÖ´ÂÁöÀÇ ¿©ºÎ, Ãâ·Â ¹°ÀÌ º¸±âÁÁ°Ô ³ª¿Ã ¼ö Àִ°¡¿¡ ´ëÇؼ´Â ÀüÇô °í·ÁÇÏÁö ¾Ê¾Ò´Ù. ±×·¸Áö¸¸, °¡Àå ±âº»ÀûÀÎ ´Ü°èÀÌ´Ù. °è¼Ó ÀÐ¾î º¸µµ·Ï! ±âº»ÀûÀ¸·Î, lpd¿¡ ÇÁ¸°Æ® Å¥¸¦ Ãß°¡ÇÏ·Á¸é /etc/printcapÀÇ ¸ñ·ÏÀ» ÆíÁý ÇØ¾ß Çϸç, /var/spool/lpd¿¡ »õ·Î¿î ½ºÇ® µð·ºÅ丮¸¦ ¸¸µé¾î¾ß ÇÑ´Ù. /etc/printcapÀÇ ¸ñ·ÏÀº ´ÙÀ½ÀÇ Çü½ÄÀ» °¡Áø´Ù. # LOCAL djet500 lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :sh:À§ÀÇ ³»¿ëÀº lp, dj, deskjetÀ̶ó´Â (°¡»óÀÇ) ÇÁ¸°Å͸¦ Á¤ÀÇÇϸç, /var/spool/lpd/dj µð·ºÅ丮¿¡ ÀڷḦ ÀÓ½ÃÀúÀåÇÏ°í, ÆÄÀÏ(ÀÛ¾÷)´ç ÃÖ´ë Å©±âÀÇ ÇÑ°è°¡ ¾øÀ¸¸ç, µð¹ÙÀ̽º /dev/lp0À¸·Î ÀڷḦ Ãâ·ÂÇÑ´Ù. ±×¸®°í, ÇØ´ç ÀÛ¾÷ÀÇ ¾ÕÂÊ¿¡ Ãß°¡µÇ´Â banner page - Ãâ·Â ÀÛ¾÷À» ¸í·ÉÇÑ »ç¶÷°ú ±âŸ Á¤º¸¸¦ Æ÷½ÃÇÑ´Ù. - °¡ ¾ø´Ù. printcapÀÇ ¸ÇÆäÀÌÁö¸¦ ÀÚ¼¼È÷ ÀÐ¾î º¸±æ ±ÇÀåÇÑ´Ù. À§ÀÇ ³»¿ëÀº ¾ÆÁÖ °£´ÜÇØ º¸ÀÌÁö¸¸, ÇÔÁ¤(catch)ÀÌ ÀÖ´Ù - DeskJet 500ÀÌ ÀÌÇØÇÒ ¼ö ¾ø´Â ³»¿ëÀÇ ÆÄÀÏÀ» º¸³½´Ù¸é, ÇÁ¸°ÅÍ´Â ÀÌ»óÇÑ(?) °á°ú¹°À» Ãâ·ÂÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î º¸ÅëÀÇ unix ¹®¼ ÆÄÀÏÀ» DeskJet ÇÁ¸°ÅÍ·Î º¸ ³»¸é newlineÀ» ±×´ë·Î Àоîµé¿© ´ÙÀ½°ú °°ÀÌ Ãâ·ÂÇÑ´Ù.(°è´ÜÇö»óÀÇ ¿¹) This is line one. This is line two. This is line three.PS(PostScript ÀÌÇÏ PS) ÆÄÀÏÀ» ÀÌ·¸°Ô ½ºÇ®·Î º¸³»¾î Ãâ·ÂÇϸé ÀÌ»Ú°Ô ³ª¿µÈ PS¸í·É¾î¸¸ ÀÜ¶à ¸¸³ª°Ô µÉ °ÍÀÌ´Ù.8^) ¹°·Ð À§¿¡¼ ¾ð±ÞµÈ °è´ÜÇö»ó(staircase effect)µµ ÇÔ²²... ºÐ¸íÈ÷ º°µµÀÇ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù. À̸¦ À§Çؼ ÇÊÅÍ(filter)°¡ »ç¿ëµÈ´Ù. printcapÀÇ ¸ÇÆäÀÌÁö¸¦ ¿½ÉÈ÷ ÀÐÀº »ç¶÷À̶ó¸é spoolÀÇ Æ¯Â¡À¸·Î ``if''¿Í ``of''¸¦ ÁÖ¸ñÇÒ °ÍÀÌ´Ù. ¿©±â¼ if - input filter - °¡ ¿ì¸®¿¡ °Ô ÇÊ¿äÇÑ ºÎºÐÀÌ´Ù. newline ÀÌÀü¿¡ CR(Carriage Returen)À» »ðÀÔÇÏ´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù¸é °è´ÜÇö»óÀ» ÇØ°áÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î, À§ÀÇ printcapÀÇ ³»¿ë¿¡ if·Î ½ÃÀÛ ÇÏ´Â ÁÙÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù. lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :if=/var/spool/lpd/dj/filter:\ :sh:°£´ÜÇÑ ÇÊÅÍ ½ºÅ©¸³Æ®´Â ´ÙÀ½ÀÇ ³»¿ëó·³ ÀÛ¼ºÇÏ¸é µÈ´Ù. (¾Æ·¡ÀÇ ½ºÅ©¸³Æ®´Â perlÀ» ÀÌ¿ëÇß´Ù.) #!perl while(<STDIN>){chop $_; print "$_\n";}; À§ÀÇ Áö½Ã´ë·Î ÇÑ´Ù¸é, ÀϹÝÀûÀÎ À¯´Ð½º ÅؽºÆ® ÆÄÀÏÀ» Ãâ·ÂÇÒ ¼ö ÀÖ´Â ½ºÇ® ȯ°æÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù. (¹°·Ð À§ÀÇ ÇÊÅ͸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀº ¼ö¹é¸¸ °¡Áö°¡ ÀÖÁö¸¸, ¿¹Á¦·Î »ï±â¿¡ Àû´çÇÑ °ÍÀº ÀûÀº ÆíÀÌ´Ù. À§ÀÇ ÀÛ¾÷ÀÌ Á» ´õ È¿À²ÀûÀ¸·Î ¼öÇàµÉ ¼ö ÀÖµµ·Ï »ý°¢ÇØ º¸¶ó) ÀÌÁ¦´Â ÀÏ¹Ý ÅؽºÆ® ÆÄÀÏÀÇ Ãâ·ÂÀÌ ³Î¸® ¾Ö¿ëµÇ´Â ¹æ¹ýÀÌ ¾Æ´Ï¶ó´Â ¹®Á¦°¡ ³²¾ÆÀÖ´Ù. - ¾Æ¸¶µµ PS³ª ´Ù¸¥ Á¾·ùÀÇ ¹®¼¾ç½Ä(dviµî)À̳ª ±×·¡ÇÈ ÆÄÀϵéÀ» Ãâ·ÂÇÒ ¼ö ÀÖ¾î¾ß ÇÒ °ÍÀÌ´Ù. Áß¿äÇÑ ¹®Á¦À̸ç, ½ÇÁ¦·Î ȯ°æ¼³Á¤µµ ½±´Ù. À§¿¡¼ »ç¿ëµÈ line-feed ÇÊÅÍÀÇ È®ÀåµÈ ÇüŸ¦ »ç¿ëÇÏ¸é µÈ´Ù. Ãâ·Â½Ã ÀÔ·ÂµÈ ÀÓÀÇÀÇ ÆÄÀÏÇüŸ¦ ÀÌÇØÇÏ¿© DeskJetÀÌ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Â Çü½ÄÀ¸·Î º¯È¯ÇØ ÁÖ´Â ÇÊÅ͸¦ ÀÛ¼ºÇÑ´Ù¸é, ¾ÆÁÖ ÈǸ¢ÇÑ Ãâ·Â ȯ°æÀ» °®Ãá °ÍÀÌ´Ù. ÀϹÝÀûÀÎ °æ¿ì, Àڱ⸸ÀÇ ÇÊÅ͸¦ ÀÛ¼ºÇÏ·Á°í ¾Ö¾²Áö ¸»¶ó. ÀÎÅͳݿ¡´Â À¯¿ëÇÑ ÇÊÅÍ°¡ ³Î·Á Àֱ⠶§¹®ÀÌ´Ù. 7.2 ÆÄÀÏ ±ÇÇÑ(File Permissions)´Ù¸¥ »ç¶÷µéÀÇ ºÎŹ¶§¹®¿¡ ³» ¸®´ª½º ¹Ú½ºÀÇ ÆÄÀÏ ±ÇÇÑ¿¡ ´ëÇÑ ¼³¸íÀ» Ãß°¡Çß´Ù. ±ÇÇÑ ¼³Á¤¿¡ ´ëÇÑ ¹æ¹ýÀº ¸Å¿ì ¸¹´Ù. SGID ¼³Á¤µÈ ¹ÙÀ̳ʸ®¸¸À» »ç¿ëÇÏ°í °ü·ÃµÈ ¸ðµç °ÍµéÀ» SUID root·Î ¼³Á¤ÇÏÁö ¾Ê´Â °ÍÀÌ °¡Àå ÀÌ»óÀûÀÌ´Ù. ´ÙÀ½Àº ³» ¸®´ª½º ¹Ú½ºÀÇ ³»¿ëÀ̸ç, ³» °æ¿ì Àß µ¹¾Æ°£´Ù. -r-sr-sr-x 1 root lp /usr/bin/lpr* -r-sr-sr-x 1 root lp /usr/bin/lprm* -rwxr--r-- 1 root root /usr/sbin/lpd* -r-xr-sr-x 1 root lp /usr/sbin/lpc* drwxrwxr-x 4 root lp /var/spool/lpd/ drwxr-xr-x 2 root lp /var/spool/lpd/lp/ÇöÀç lpd´Â lp ¼ºñ½º Æ÷Æ®¸¦ ¹ÙÀεå(bind)Çϱâ À§Çؼ root·Î ½ÇÇà µÇ¾î¾ß ÇÑ´Ù. bindÀÌÈÄ UID°¡ lp³ª ´Ù¸¥ °ÍÀ¸·Î µÇ¾î¾ß ÇÏ°ÚÁö¸¸, ±×·² ÇÊ¿ä´Â ¾øÀ» °Í °°´Ù. Bummer.... 8. ¸ÅÁ÷ ÇÊÅÍ ±¸Çϱâ(How to obtain an appropriate magic filter)(¿ªÀÚÁÖ:¸ÅÁ÷ÇÊÅͶõ »ç¿ëÀÚ°¡ ÇÊÅÍÀÛ¾÷¿¡ ½Å°æ¾²Áö ¾Ê¾Æµµ ´Ù¾çÇÑ ÆÄÀϵéÀ» ó¸®ÇÒ ¼ö ÀÖ´Â ´Ù¿ëµµ ÇÊÅÍ ÇÁ·Î±×·¥ ¶Ç´Â ÆÐÅ°Áö¸¦ ÀǹÌÇÑ´Ù.) 8.1 APS ÇÊÅÍ(APS Filter)¾µ¸¸ÇÑ ¸ÅÁ÷ÇÊÅÍ ÇÁ·Î±×·¥Áß ÇÑ°¡ÁöÀ̸ç Andreas Klemm°¡ ¿øÀÛÀÚÀÌ´Ù. lsm(Linux Software Map)ÀÇ ³»¿ëÀº ´ÙÀ½°ú °°´Ù. Begin3 Title: apsfilter Version: 4.9.1 Entered-date: Montag, 10. Juli 1995, 21:22:35 Uhr MET DST Description: magicfilter for lpd with auto filetype detection Keywords: lpd magicfilter aps apsfilter Author: <url url="mailto:andreas@knobel.GUN.de" name="andreas@knobel.GUN.de"> (Andreas Klemm) Maintained-by: <url url="mailto:sledge@hammer.oche.de" name="sledge@hammer.oche.de"> (Thomas Bueschgens) <url url="mailto:andreas@knobel.GUN.de" name="andreas@knobel.GUN.de"> (Andreas Klemm) Primary-site: sunsite.unc.edu /pub/Linux/system/Printing/ 211KB aps-491.tgz Original-site: ftp-i2.informatik.rwth-aachen.de /pub/Linux/pak/APSfilter/aps-491.tgz Platforms: C-Compiler, gs Postscript emulator, pbmutils Copying-policy: GPL End APS ÇÊÅÍ´Â ÇÁ¸°ÅÍ Å¥¿¡ if ÇÊÅÍ·Î ¼³Ä¡µÇ¸ç, ´Ù¾çÇÑ ÆÄÀÏ Á¾·ù¸¦ ÇØ´çÇÁ¸°ÅÍ¿¡ ÀûÇÕÇÑ ¸í·É¾î·Î º¯È¯Çϸç, ÀÏ¹Ý ÅؽºÆ® ÆÄÀÏ, PS, dvi, gif µîÀ» Áö¿øÇÑ´Ù. 8.2 ¸ÅÁ÷ ÇÊÅÍ(Magic-filter)B.A.McCawley°¡ ÀÛ¼ºÇÑ ¸ÅÁ÷ ÇÊÅÍ´Â APS ÇÊÅÍ¿Í µ¿ÀÏÇÑ ¿ªÇÒÀ» ÇÏÁö¸¸, bash ½© ½ºÅ©¸³Æ®·Î ÀÛ¼ºµÇ¾ú±â ¶§¹®¿¡ °³º°ÀûÀ¸·Î ÃÖÀûÈÇϱâ ÆíÇÏ´Ù. ´ÙÀ½Àº LSMÀÌ´Ù. Version: 0.4 Description: Bash scripts to simplify the task of configuring lpd to auto-detect file types using /etc/magic. (As advertised in the printing-HOWTO). This package uses existing filters so it only prints file types for which one already has filters (or compressed versions thereof). Alterative magic filter approches are described in the printing-HOWTO. Keywords: lpd, /etc/magic, printing, filter Author: <url url="mailto:B.A.McCauley@bham.ac.uk" name="B.A.McCauley@bham.ac.uk"> (Brian McCauley) Maintained-by: <url url="mailto:B.A.McCauley@bham.ac.uk" name="B.A.McCauley@bham.ac.uk"> Primary-site: tsx-11.mit.edu pub/linux/sources/usr.bin magic-filter-0.4.tar.gz 5709 Copying-policy: GNU GPL 8.3 ±× ¹ÛÀÇ ¸ÅÁ÷ÇÊÅÍ..magic filter¶ó À̸§Áö¾îÁø ÆÐÅ°Áö´Â µÎ Á¾·ù°¡ ÀÖ¾î¼ »ç¶÷µéÀ» Çò°¥¸®°Ô ¸¸µç´Ù. (¾Æ´Ï¸é µÑ ´Ù °°Àº ÇÁ·Î±×·¥Àΰ¡?) ´ÙÀ½Àº LSMÀÌ´Ù. Title: magicfilter Version: 1.1b Entered-date: 04APR95 Description: A customizable, extensible automatic printer filter. Lets you automatically detect and print just about any data type you can find a conversion utility for. This filter is written in C and is controlled completely from an external printer configuration file. This version adds automagic creation of configuration files based on the installed software on your system, courtesy of GNU Autoconf. This version is a bug fix from 1.1/1.1a; filters for non-ASCII capable PostScript printers have been added. Author: H. Peter Anvin <<url url="mailto:Peter.Anvin@linux.org" name="Peter.Anvin@linux.org">> Primary-site: sunsite.unc.edu 53000 /pub/Linux/system/Printing/magicfilter-1.1b.tar.gz Copying-policy: GPL 9. lpd ȯ°æÀÇ Á÷·Ä Æ÷Æ® ÇÁ¸°ÅÍ9.1 printcapÀÇ ¼³Á¤9.2 ÀڷḦ ÀÒ¾î¹ö¸®´Â ±¸Çü Á÷·Ä ÇÁ¸°ÅÍ** ¿ªÀÚÁÖ: Á÷·Ä Æ÷Æ®¿ë ÇÁ¸°ÅÍÀÇ ¼³Á¤¿¡ °üÇÑ ºÎºÐÀº »© ¹ö·È½À´Ï´Ù.( Á¦¿Ü½ÃŲ ÀÌÀ¯·Î a) Á¦°¡ Á÷·Ä Æ÷Æ®¿ë ÇÁ¸°ÅÍ »ç¿ë¿¡ ´ëÇؼ ¹«ÁöÇÏ°í b) Çö½ÇÀûÀ¸·Î º´·ÄÆ÷Æ® ¶Ç´Â ³×Æ®¿÷¿ë ÇÁ¸°Å͵éÀÌ ³Î¸® È°¿ëµÇ°í ÀÖ°í c) ÀüÇô °æÇèÀÌ ¾ø´Â ºÎºÐÀÇ ³»¿ëÀ» ¹ø¿ªÇÏ´Â °úÁ¤¿¡¼ ** ¾ÈÇÏ´Â °Íº¸´Ù ¸øÇÑ ** ¹ø¿ªÀÌ µÉ À§ÇèÀÌ ÀÖ¾ú½À´Ï´Ù. Á÷·Ä Æ÷Æ®¿ë ÇÁ¸°ÅÍÀÇ ¼³Á¤¿¡ °üÇؼ °øºÎÇÏ½Ç ºÐµéÀº ¿µ¹® Print Setup HOWTO¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.) 10. ÆǸž÷ÀÚÃøÀÇ ÇÁ·Î±×·¥µé(Vendor Solutions)ÀÌ Àå(section)Àº ÇöÀç ¿Ï°áµÇÁö ¸øÇß´Ù. (¹°·Ð ¿µ¿øÈ÷ ¿Ï°áµÇÁö ¸øÇÒ °ÍÀÌ´Ù.. ^^) °¡Àå ÁÁ¾ÆÇÏ´Â ¸®´ª½º ¹èÆ÷º»ÀÇ È¯°æ¿¡ ´ëÇÑ ÀڷḦ ºÎ´ã¾øÀÌ º¸³»¸é µÈ´Ù. 10.1 ·¹µåÇÞ 2.x and 3.0.3 (Picasso)(¿ªÀÚÁÖ: ·¹µåÇÞ 4.2ÀÌ °¡Àå ÃÖ±Ù ¹öÀüÀÓÀ» ÁÖÀÇÇ϶ó) ·¹µåÇÞ(RedHat) ¹èÆ÷º»¿¡´Â local°ú remote ÇÁ¸°Å͸¦ Ãß°¡/»èÁ¦ÇÒ ¼ö ÀÖ´Â GUI ȯ°æ(XÀ©µµ ±â¹Ý)ÀÇ "ÇÁ¸°ÅÍ °ü¸® µµ±¸(printer administration tool)" °¡ ÀÖ´Ù. ÀÌ µµ±¸¸¦ ÀÌ¿ëÇؼ ghostscript¸¦ Áö¿øÇÏ´Â ÇÁ¸°ÅÍ Á¾·ù ¹× Ãâ·Â ¸ñÇ¥(target)ÀÌ µÉ À¯´Ð½º µð¹ÙÀ̽º ÆÄÀÏÀ» ¼±ÅÃÇÒ ¼ö ÀÖÀ¸¸ç, /etc/printcap¿¡ ³í¸® ÇÁ¸°Å͸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ±×¸®°í ³ª¼, ghostscript ¿Í nenscript¸¦ ÀÌ¿ëÇÏ¿© PS¿Í ÀÏ¹Ý ¾Æ½ºÅ° ¹®¼ÆÄÀÏÀ» ó¸®ÇÏ´Â ¸ÅÁ÷ ÇÊÅ͸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. ·¹µåÇÞÀÇ ÀÌ·¯ÇÑ ¹æ¹ýÀº Àß ÀÛµ¿µÇ¸ç, ´ë°³ º°µµÀÇ È¯°æ¼³Á¤Àº ÇÊ¿ä¾ø´Ù. ·¹µåÇÞÀÇ °¡Àå ÃÖ±ÙÆÇÀÎ (Rembrant II)¿¡¼´Â LPRng¸¦ »ç¿ëÇÏ´Â °Í °°´Ù. ÇÊÀÚ´Â ¾ÆÁ÷±îÁö´Â Rembrandt¸¦ ±¸°æÇÏÁö ¸øÇß´Ù.. 10.2 ±× ¹ÛÀÇ ¹èÆ÷º»µé(Other Distributions)ÇÊÀÚ¿¡°Ô ´Ù¸¥ ¹èÆ÷º»µé¿¡ °üÇÑ ÀڷḦ Á¦°øÇØ ÁÖ±æ ¹Ù¶õ´Ù. 11. ³×Æ®¿÷À¸·Î ¿¬°áµÈ ÇÁ¸°Å͸¦ ÀÌ¿ëÇÏ¿© Ãâ·ÂÇϱâ(How to print to a printer over the network) lpd´Â ³×Æ®¿÷À¸·Î ¿¬°áµÈ ´Ù¸¥ ±â°è¿¡ ¿¬°áµÈ ÇÁ¸°Å͸¦ ÅëÇؼ Ãâ·ÂÇÏ´Â °ÍÀ» Áö¿øÇÑ´Ù. ÇÊÅÍ ¹× ÀûÀýÇÑ À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÑ´Ù¸é ¸ðµç ³×Æ®¿÷ ȯ°æ¿¡¼ lprÀ» ÀÌ¿ëÇؼ ½±°Ô Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. 11.1 À¯´Ð½º/lpd È£½ºÆ®·Î Ãâ·Â (To a Unix/lpd host)¿ø°ÝÁöÀÇ ±â°è°¡ ´ç½ÅÀÇ ¸®´ª½º ¹Ú½º¿¡ ¿¬°áµÈ ÇÁ¸°ÅÍ·Î Ãâ·ÂÇÏ´Â °ÍÀ» Çã°¡ÇÏ·Á¸é /etc/hosts.equiv³ª /etc/hosts.lpd¿¡ ÇØ´ç±â°è(ÀÇ ÁÖ¼Ò³ª À̸§)¸¦ µî·ÏÇØ¾ß ÇÑ´Ù. (hosts.equiv¿¡´Â ´Ù¸¥ ¿ªÇÒÀ» Çϴ ȣ½ºÆ®ÀÇ À̸§µµ ´ã°í ÀÖ´Ù. ÀÓÀÇÀÇ ±â°è¸¦ µî·ÏÇÑ´Ù¸é ½ÅÁßÇÏ°Ô Ç϶ó) /etc/printcapÀÇ "rs" Ư¼ºÀ» ÀÌ¿ëÇÏ¿© ´Ù¸¥ ±â°èÀÇ Æ¯Á¤ »ç¿ëÀÚ¸¸ ´ç½ÅÀÇ ÇÁ¸°ÅÍ¿¡ Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù; ¿©±â¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº lpdÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó. 11.2 lpd¸¦ ÀÌ¿ëÇÏÀÚ (With lpd)´Ù¸¥ ±â°è·Î Ãâ·ÂÇÏ·Á¸é /etc/printcap¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇØ¾ß ÇÑ´Ù. # REMOTE djet500 lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :rm=machine.out.there.com:\ :rp=printername:\ :lp=/dev/null:\ :sh:remote machineÀ¸·Î Ãâ·ÂÇÏ´Â °æ¿ì¿¡µµ lpd°¡ µ¹¾Æ°¡´Â local machine (ÀÚ½ÅÀÇ ¸®´ª½º ¹Ú½º)¿¡ ½ºÇ®µð·ºÅ丮°¡ Á¸ÀçÇÑ´Ù´Â Á¡¿¡ ÁÖ¸ñÇ϶ó. ¸¸¾à remote machineÀÌ ´Ù¸¥ ÀÛ¾÷¶§¹®¿¡ ¹Ù»Ú°Å³ª Àü¿øÀÌ ²¨Áø »óŶó¸é local machine¿¡¼ Áö½ÃÇÑ ÇÁ¸°Æ® ÀÛ¾÷Àº ½ºÇ® ¿µ¿ª(¿¹. ½ºÇ®µð·ºÅ丮)¿¡ ´ë±âÇÏ°í ÀÖ´Ù°¡ Ãâ·ÂÀÌ °¡´ÉÇØÁö¸¸ ´Ù½Ã Àü¼ÛµÈ´Ù. 11.3 rlprÀ» ÀÌ¿ëÇÏÀÚ(With rlpr)lpdÀÇ È¯°æÀ» ¼³Á¤ÇÏ´Â °ñÄ¡¾ÆÇ °úÁ¤À» °ÅÄ¥ ÇÊ¿ä ¾øÀÌ rlprÀ» ÀÌ¿ëÇÑ´Ù¸é °¢°¢ÀÇ ÇÁ¸°Æ® ÀÛ¾÷À» °ð¹Ù·Î(directly) remote machineÀÇ ÇÁ¸°Æ® Å¥·Î Àü¼Û ÇÑ´Ù.¾ÆÁÖ °¡²û¾¿ ¿©·¯ Á¾·ùÀÇ ÇÁ¸°Å͸¦ »ç¿ëÇϴ ȯ°æ¿¡¼ À¯¿ëÇÏ´Ù . rlpr ¹ßÇ¥¹®¿¡¼ ÀοëÇϸé: rlprÀº TCP/IP ¸¦ ÀÌ¿ëÇÏ¿© ÇÁ¸°Æ® ÀÛ¾÷À» ³×Æ®¿÷ »óÀÇ À§Ä¡¿¡ Á¦¾à¹ÞÁö ¾Ê°í lpd ¼¹ö·Î Àü¼ÛÇÒ ¼ö ÀÖ´Ù. lpr°ú´Â ´Þ¸® ÀÛ¾÷À» Àü¼ÛÇÏ´Â ÃøÀÇ ±â°è¿¡°Ô(local machine) ¿ø°ÝÁöÀÇ ±â°è(remote machine)°¡ µî·ÏµÉ(¿¹¸¦ µé¾î /etc/printcap) ÇÊ¿ä°¡ ¾ø´Ù. µû¶ó¼, rlprÀº Á» ´õ À¯¿¬ÇÏ°í (»ó´ëÀûÀ¸·Î) °ü¸®°¡ ÆíÇÏ´Ù. rlprÀº lprÀÌ »ç¿ëµÇ´Â ¸ðµç ȯ°æ¿¡¼ »ç¿ë°¡´ÉÇϸç, ÀüÅëÀûÀÎ BSD lpr°ú ÇÏÀ§È£È¯¼º(backwares compatible)À» °¡Áø´Ù. rlprÀÇ ÈǸ¢ÇÑ Á¡Àº ƯÁ¤ ½Ã½ºÅÛ¿¡ ´ëÇؼ °í·Á ÇÒ ÇÊ¿ä¾øÀÌ ¸ðµç °÷¿¡¼ Àü¼Û/Ãâ·ÂÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù. ¶ÇÇÑ ÀüÅëÀûÀÎ lpró·³ ÇÊÅÍ·Î ÀÛµ¿ÇÏ¿© ¿ø°ÝÁöÀÇ ±â°è¿¡¼ ½ÇÇàµÇ´Â netscape, xemacs µîÀÇ Å¬¶óÀ̾ðÆ® ÇÁ·Î±×·¥¿¡¼ local machineÀ¸·Î ½±°Ô Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. rlprÀº ¼±»çÀÌÆ®(SunSite)¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. < sunsite.unc.edu/pub/Linux/system/Printing/>. 11.4 À©µµ 95/NT, LanManager, Samba·Î ¿¬°áµÈ ÇÁ¸°ÅÍ·Î Ãâ·Âlpd Å¥¿¡ µé¾îÀÖ´Â ÇÁ¸°Æ® ÀÛ¾÷ÀÇ ³»¿ëÀ» smbclient (sambaÆÐÅ°ÁöÁß ÀϺÎ) ¸¦ ÀÌ¿ëÇؼ TCP/IP±â¹ÝÀÇ SMB ÇÁ¸°Æ® ¼¹ö·Î Á÷Á¢ Àü¼ÛÀÌ °¡´ÉÇÏ´Ù.samba ÆÐÅ°ÁöÀÇ smbprint¶ó´Â ½ºÅ©¸³Æ® ÆÄÀÏÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. °£´ÜÈ÷ ¼³¸íÇϸé, ½ºÇ® µð·ºÅ丮¿¡ ƯÁ¤ ÇÁ¸°ÅÍ¿ë ¼³Á¤ ÆÄÀÏÀ» Áý¾î ³Ö°í, smbprint ½ºÅ©¸³Æ® ¸¦ /etc/printcapÀÇ "if"·Î ¼³Ä¡ÇÏ¸é µÈ´Ù. /etc/printcapÀÇ ³»¿ëÀº ´ÙÀ½°ú ºñ½ÁÇÒ °ÍÀÌ´Ù. lp|remote-smbprinter:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lp:\ :if=/usr/local/sbin/smbprint:smbprint ½ºÅ©¸³Æ®¿¡ Æ÷ÇÔµÈ ¹®¼¸¦ ¹Ýµå½Ã ÀÐ¾î º¼ °ÍÀ» ±ÇÀåÇÑ´Ù. lpd¸¦ ÇÊ¿ä·Î ÇÏÁö ¾Ê°í smbclinet¸¦ ÀÌ¿ëÇÏ¿© SMB printing ¼¹ö·Î ÆÄÀÏÀ» Á÷Á¢ Àü¼ÛÇÏ´Â ¹æ¹ýµµ °¡´ÉÇÏ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó. 11.5 ³×Æ®¿þ¾î ÇÁ¸°ÅÍ »ç¿ë(To a NetWare Printer)"ncpfs" ÆÐÅ°Áö¿¡ Æ÷ÇÔµÈ nprint´Â NetWare ȯ°æ¿¡¼ smbprint¿Í µ¿ÀÏÇÑ ±â´ÉÀ» ¼öÇàÇÑ´Ù. ncpfs´Â < linux01.gwdg.de/pub/ncpfs/> ¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº LSMÀÇ ³»¿ëÀÌ´Ù. version 0.16: With ncpfs you can mount volumes of your netware server under Linux. You can also print to netware print queues and spool netware print queues to the Linux printing system. You need kernel 1.2.x or 1.3.54 and above. ncpfs does NOT work with any 1.3.x kernel below 1.3.54.lpd¸¦ ÅëÇÏ¿© nprint°¡ ÀÛµ¿Çϱâ À§Çؼ´Â NetWare(·Î ¿¬°áµÈ)ÇÁ¸°ÅÍ·Î (Ç¥ÁØ)Ãâ·ÂÀ» ³Ñ±â´Â ÀÛÀº ½© ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ¿© ÀÌ°ÍÀ» lpd ÇÁ¸°ÅÍ Å¥ ÀÇ "if"·Î ¼³Ä¡ÇØ¾ß ÇÑ´Ù. ´ÙÀ½ÀÇ ³»¿ë°ú ºñ½ÁÇÒ °ÍÀÌ´Ù. sub2|remote-NWprinter:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/sub2:\ :if=/var/spool/lpd/nprint-script: nprint-scriptÀÇ ³»¿ëÀº ´ÙÀ½°ú °°´Ù. #! /bin/sh /usr/local/bin/nprint -S net -U name -P passwd -q printq-q - 11.6 EtherTalk (¾ÖÇÃ) ÇÁ¸°ÅÍ·Î Ãâ·Â(To an EtherTalk (Apple) printer)netatalk ÆÐÅ°Áö¿¡´Â nprint³ª smbclient¿Í ºñ½ÁÇÑ ¿ªÇÒÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. Werner EugsterÀÇ ¹®¼¿¡¼ ¾ÖÇà ³×Æ®¿÷¿¡¼ÀÇ ÇÁ¸°ÅÍ Ãâ·Â °úÁ¤¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ´Ù. ±×ÀÇ È¨ÆäÀÌÁö¸¦ Âü°íÇ϶ó. < garnet.berkeley.edu/~weugster/appleprint.html> È®½ÇÇÏÁö ¸øÇÑ ¼Ò¹® : Netatalk´Â DEC tulip ĨÀ» ÀåÂøÇÑ SMC Etherpower PCIÄ«µå¿¡¼´Â ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù°í ÇÑ´Ù. 11.7 HP ¹× ±âŸ ³×Æ®¿÷ ÇÁ¸°ÅÍ·Î Ãâ·Â(To an HP or other ethernet printer)HP¹× ÀϺΠÇÁ¸°ÅÍ¿¡ ÀÖ´Â ethernet ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇϸé lpd¸¦ ÀÌ¿ëÇؼ ÀڷḦ Á÷Á¢ Àü¼Û/Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. ÇÁ¸°Åͳª ÀÌ´õ³Ý ¾î´ðÅÍ¿¡ Æ÷ÇÔµÈ ¸Å´º¾ó À» ÀÚ¼¼È÷ ÀÐ°í ±× Áö½Ã´ë·Î µû¸£¸é µÈ´Ù. º¸Åë À̵é ÇÁ¸°ÅÍ´Â lpd¸¦ ½ÇÇà ÇÏ¸é¼ Çϳª ÀÌ»óÀÇ ³í¸®Àû ÇÁ¸°ÅÍ Å¥¸¦ Á¦°øÇÑ´Ù. HP Á¦Ç°Àº ´ÙÀ½°ú °°ÀÌ /etc/printcap¿¡ ¼³Á¤µÉ ¼ö ÀÖ´Ù. lj-5|remote-hplj:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lj-5:\ :rm=printer.name.com:rp=raw:±Ô¸ð°¡ Å« °÷¿¡¼, ƯÈ÷ ¸î¸î ÇÁ¸°ÅÍ°¡ PS¸¦ Áö¿øÇÏÁö ¸øÇÒ ¸¸Å Å©´Ù¸é, Àü¿ëÀÇ print server¸¦ ±¸ÃàÇÏ°í ±× ¼¹ö·Î ¸ðµç ÇÁ¸°ÅÍ ÀÛ¾÷À» Àü¼ÛÇÏ¿© ±× ¼¹ö¿¡¼ Ghostscript ÀÛ¾÷ÀÌ ¼öÇàµÇ¾î 󸮵Ǵ °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ¿À·¡µÈ HP Á¦Ç°(To older HPs)ÀϺΠÇÁ¸°ÅÍ(¶Ç´Â "ºí·¢¹Ú½º"·Î ĪÇÏ´Â ³×Æ®¿÷ Á¦Ç°µé)´Â ¼ø¼öÇÑ TCP Á¢¼Ó°úÁ¤ÀÇ Ç¥ÁØÀÌ ¾Æ´Ñ ¹æ¹ý¸¸À» Áö¿øÇÑ´Ù. ÀÌ·¯ÇÑ ¹üÁÖ¿¡ ¼ÓÇÏ´Â Á¦Ç°¿¡´Â JetDirect Ãʱ⠸ðµ¨(ÀϺΠJetDirectEx Á¦Ç° Æ÷ÇÔ)ÀÌ ÀÖ´Ù. ±âº»ÀûÀ¸·Î, À̵é ÇÁ¸°ÅÍ·Î Ãâ·ÂÇÏ·Á¸é ƯÁ¤ Æ÷Æ®·Î (ÁÖ·Î 9100) tcp Á¢¼ÓÀ» ÇÏ¿© ÇÁ¸°ÅÍ ÀÛ¾÷ ÀڷḦ Àü¼ÛÇÏ¸é µÈ´Ù. ÀÌ°ÍÀ» ±¸ÇöÇÏ´Â ¹æ¹ý Àº ¿©·¯°¡Áö°¡ ÀÖÀ¸³ª, ´ÙÀ½¿¡¼´Â PerlÀ» ÀÌ¿ëÇÞ´Ù. #!/usr/bin/perl # Thanks to Dan McLaughlin for writing the original version of this # script (And to Jim W. Jones for sitting next to Dan when writing me # for help ;) $fileName = @ARGV[0]; open(IN,"$fileName") || die "Can't open file $fileName"; $dpi300 = "\x1B*t300R"; $dosCr = "\x1B&k3G"; $ends = "\x0A"; $port = 9100 unless $port; $them = "bach.sr.hp.com" unless $them; $AF_INET = 2; $SOCK_STREAM = 1; $SIG{'INT'} = 'dokill'; $sockaddr = 'S n a4 x8'; chop($hostname = `hostname`); ($name,$aliases,$proto) = getprotobyname('tcp'); ($name,$aliases,$port) = getservbyname($port,'tcp') unless $port =~ /^\d+$/;; ($name,$aliases,$type,$len,$thisaddr) = gethostbyname($hostname); ($name,$aliases,$type,$len,$thataddr) = gethostbyname($them); $this = pack($sockaddr, $AF_INET, 0, $thisaddr); $that = pack($sockaddr, $AF_INET, $port, $thataddr); if (socket(S, $AF_INET, $SOCK_STREAM, $proto)) { # print "socket ok\n"; } else { die $!; } # Give the socket an address. if (bind(S, $this)) { # print "bind ok\n"; } else { die $!; } # Call up the server. if (connect(S,$that)) { # print "connect ok\n"; } else { die $!; } # Set socket to be command buffered. select(S); $| = 1; select(STDOUT); # print S "@PJL ECHO Hi $hostname! $ends"; # print S "@PJL OPMSG DISPLAY=\"Job $whoami\" $ends"; # print S $dpi300; # Avoid deadlock by forking. if($child = fork) { print S $dosCr; print S $TimesNewR; while (<IN>) { print S; } sleep 3; do dokill(); } else { while(<S>) { print; } } sub dokill { kill 9,$child if $child; } 11.8 remote printer¿ë if ½ÇÇà (Running an if for remote printers)lpdÀÇ Æ¯Â¡Àº ¿ø°ÝÁöÀÇ ÇÁ¸°ÅÍ(remote printer)¿ë "if"´Â ½ÇÇàµÇÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. "if"¸¦ ½ÇÇàÇϱâ À§Çؼ µÎ°³ÀÇ ÇÁ¸°Å͸¦ Á¤ÀÇÇÏ°í ÇÁ¸°ÅÍ ÀÛ¾÷À» Çѹø ´õ ó¸®ÇÑ´Ù. ±×·¯ÇÑ ¿¹·Î ´ÙÀ½ÀÇ printcapÀ» Âü°íÇ϶ó. lj-5:remote-hplj:\ :lp=/dev/null:sh:\ :sd=/var/spool/lpd/lj-5:\ :if=/usr/lib/lpd/filter-lj-5: lj-5-remote:lp=/dev/null:sh:rm=printer.name.com:\ :rp=raw:sd=/var/spool/lpd/lj-5-raw: filter-lj-5 scriptÀÇ ³»¿ëÀº ´ÙÀ½°ú °°´Ù. #!/bin/sh gs <options> -q -dSAFER -sOutputFile=- - | \ lpr -Plj-5-remote -U$5 -U ¿É¼ÇÀ¸·Î lprÀº (º¹»çº»ÀÎ)lprÀÌ ´ë¸ó(daemon)À¸·Î ½ÇÇàµÇ°í ÀÖ´Ù¸é óÀ½ Ãâ·Â ¸í·ÉÀ» Áö½ÃÇÑ »ç¶÷ÀÇ À̸§ÀÌ ´Ù½Ã 󸮵Ǵ ÇÁ¸°ÅÍ ÀÛ¾÷¿¡ µ¿ÀÏ ÇÏ°Ô ÁöÁ¤µÈ´Ù. usernameÀ» ¹Þ´Â ¹æ¹ýÀ¸·Î Á» ´õ ³ªÀº(robust)¹æ¹ýÀ» »ç¿ëÇØ ¾ß ÇÒ °ÍÀÌ´Ù. ¿Ö³ÄÇϸé Ưº°ÇÑ °æ¿ì $5(argument 5)°¡ ¾Æ´Ò¼öµµ ÀÖ´Ù. printcapÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó. 12. Æѽº·Î Ãâ·Â12.1 Æѽº ¸ðµ© »ç¿ë(Using a faxmodem)Æѽº¸¦ ÀÌ¿ëÇÏ¿© ¹®¼¸¦ ¼Û½Å/¼ö½ÅÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥Àº ¸¹ÀÌ ÀÖ´Ù. À̰͵é Áß °¡Àå ´Ù¾çÇÑ ±â´ÉÀ» °¡Áø °ÍÀÌ Sam Leffler ÀÇ HylaFax À̸ç ftp.sgi.com¿¡ ¼ ±¸ÇÒ ¼ö ÀÖ´Ù. ¿©·¯°³ÀÇ ¸ðµ©À» Áö¿øÇϸç broadcasting µµ Áö¿øÇÑ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ¹Ú½º¿¡¼ ³Î¸® »ç¿ëµÇ´Â ÇÁ·Î±×·¥À¸·Î efax°¡ ÀÖ´Ù. efax ´Â fax¸¦ º¸³»´Â °£´ÜÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. getty ÇÁ·Î±×·¥ÀÇ ÀÏÁ¾ÀÎ mgetty ´Â fax¸¦ ¹ÞÀ» ¼ö ÀÖ´Ù.(ÀϺΠƯÁ¤ ¸ðµ©¿¡¼´Â voicemailµµ Áö¿øÇÑ´Ù.) 12.2 ¿ø°Ý Ãâ·Â ¼ºñ½º ÀÌ¿ë(Using the Remote Printing Service)e-mailÀ» º¸³»¸é fax·Î ¿øÇÏ´Â °÷¿¡ º¸³»ÁÖ´Â ½ÃÇèÀûÀÎ ¼ºñ½º°¡ ÀÖ´Ù. (¿ªÀÚÁÖ: ´ëºÎºÐÀÇ ISP¿¡¼ Áö¿øÇÏ´Â ÀÎÅÍ³Ý Æѽº ¼ºñ½º¿Í À¯»ç) PS¿Í °°Àº ±ò²ûÇÑ Æ÷¸ËÀÌ Áö¿øµÈ´Ù. Àü¼¼°è¸¦ ´ë»óÀ¸·Î ÇÏ´Â ¼ºñ½º´Â ¾ÆÁ÷ ¹®Á¦°¡ ¸¹Áö¸¸, ¿©ÀüÈ÷ ¾µ¸ð°¡ ¸¹Àº ¼ºñ½º´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â FAQ¸¦ Âü°íÇ϶ó.< www.town.hall.org/fax/faq.html>. 13. Ãâ·Â¿ë ¹®¼ ¸¸µé±â(How to generate something worth printing)¿©±â¿¡¼ ¼ö¸¹Àº ÇÁ·Î±×·¥ÀÌ ¼Ò°³µÈ´Ù. ±âº»ÀûÀ¸·Î ¸®´ª½º´Â 4°¡Áö À¯ÇüÀÇ ¹ÙÀ̳ʸ® ½ÇÇà ÆÄÀÏÀ» (¾ÈÁ¤¼ºÀÇ Â÷ÀÌ´Â ÀÖÁö¸¸) ½ÇÇà½Ãų ¼ö ÀÖ´Ù: Linux, iBCS, Win16/Win32s (dosemu ¶Ç´Â wine ÀÌ¿ë), Mac/68k (Executor ÀÌ¿ë) (¿ªÀÚÁÖ : ÇöÀç ÀϺΠ¹èÆ÷º»Àº alpha¿Í sparcÀ¸·Î Æ÷ÆõǾî ÆǸŵǰí ÀÖ´Ù.) ¿©±â¼´Â Linux Àü¿ë(native) ÇÁ·Î±×·¥°ú ÀϹÝÀûÀÎ À¯´Ð½º¿ë ÇÁ·Î±×·¥¿¡ ´ëÇؼ ¼³¸íÇÏ°Ú´Ù. SCO¿ë ¿öµåÆÛÆå ó·³ iBCS ¿¡¹Ä·¹À̼ÇÀ» ÅëÇؼ Àß ÀÛµ¿ÇÏ´Â »ó¿ë ÇÁ·Î±×·¥µéÀº ³í¿Ü·Î ÇÏ°Ú´Ù. ¸®´ª½ºÀÇ °æ¿ì Unix ȯ°æ¿¡¼ º¸ÆíÀûÀ¸·Î ¸¹ÀÌ »ç¿ëµÇ´Â ÇÁ·Î±×·¥À¸·Î ¼±ÅÃÀÇ ÆøÀÌ Á¦ÇѵȴÙ. 13.1 ¸¶Å©¾÷ ¾ð¾î (Markup languages)´ëºÎºÐÀÇ markup language´Â ´ë±Ô¸ð ¶Ç´Â ¹Ýº¹ÀûÀÎ ÇÁ·ÎÁ§Æ®³ª ¾÷¹« - ¹®¼ÀÇ ÀüüÀûÀÎ È帧(layout)À» ÄÄÇ»ÅÍ·Î Á¤¸®ÇÏ¿© ÀÏ°üµÈ È帧À» À¯Áö - ¿¡ ÀûÇÕÇÑ µµ±¸ÀÌ´Ù. markup language¸¦ ÀÌ¿ëÇؼ ¸ÚÁø »çÀÎÀ» ¸¸µé·Á°í ÇÏ´Â °ÍÀº »ó´çÇÑ ³ë·ÂÀ» ÇÊ¿ä·Î ÇÑ´Ù...
13.2 À§ÁöÀ¨(WYSIWYG)À§ÁöÀ¨ÀÇ ´ÜÁ¡À» ¾È°í ÀÖ´Â ¹®¼Ã³¸® ÇÁ·Î±×·¥µéÀÌ´Ù. »ç¿ëÇØ º¸°í, ´ÙÀ½¿¡¼ ºü¶ß¸° ³»¿ë¿¡ ´ëÇؼ ¾Ë·Á´Þ¶ó.
14. GhostscriptGhostscript´Â ¸®´ª½º¿¡¼ Ãâ·ÂÀÛ¾÷½Ã ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. À¯´Ð½º¿ë Ãâ·Â ÇÁ·Î±×·¥Àº ´ë°Ô PS ÆÄÀÏÀ» »ý¼ºÇϴµ¥, ·¹ÀÌÀú ÇÁ¸°ÅÍ¿¡¼ PS Áö¿øÀ» ÇϱâÀ§Çؼ´Â $100 $300 Á¤µµÀÇ Ãß°¡ ºñ¿ëÀÌ µç´Ù. (¿ªÀÚÁÖ: ±¹³» °¡°ÝÀº Á¶±Ý ´Ù¸¦ °ÍÀÌ´Ù.) ±×·¯³ª, ¹«·á·Î ±¸ÇÒ ¼ö ÀÖ´Â Ghostscript¸¦ ÀÌ¿ëÇÏ¿© °ª½Ñ ÇÁ¸°ÅÍ¿¡¼µµ PS ÆÄÀÏÀ» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. /etc/printcapÀÇ "if" ÇÊÅÍ¿Í ÀûÀýÈ÷ Á¶ÇÕÇØ »ç¿ëÇÑ´Ù¸é PostScript¸¦ Áö¿øÇÏ´Â ÇÁ¸°Å͸¦ °¡Áø °Íó·³ Ãâ·ÂÀÛ¾÷ÀÌ ¾ÆÁÖ ÆíÇØÁø´Ù. Ghostscript´Â 2°¡Áö ÇüÅ·Π±¸ÇÒ¼ö ÀÖ´Ù. »ó¿ë¹öÀüÀÎ Aladdin Ghostscript´Â °³Àο¡°Ô(for personal use)´Â ¹«·á·Î Á¦°øµÇÁö¸¸, »ó¿ë ¸®´ª½º ¹èÆ÷º»¿¡´Â Æ÷ÇÔ½ÃÄÑ ÆÈ ¼ö ¾ø´Ù. ÇÁ¸® ¹öÀüÀÎ GNU Ghostscript¿¡ ºñÇØ ¾à 1³âÁ¤µµÀÇ ±â¼úÀûÀÎ °ÝÂ÷À» °¡Áö°í ÀÖ´Ù. ¿¹¸¦ µé¾î Aladdin ¹öÀüÀº Adobe AcrobatÀÇ PDF(Portable Document Format)À» Áö¿øÇÑ´Ù. GhostscriptÀÇ free ¹öÀüÀº GNU Ghostscript·Î ºÒ¸®¸ç, 1³âÁ¤µµ Áö³ ±¸¹öÀüÀÇ Aladdin Ghostscript¸¦ GNU·Î ±âÁõ¹ÞÀº °ÍÀÌ´Ù. (Aladdin»çÀÇ ÀÌ·¯ÇÑ ÇùÁ¶¸¦ ³ôÀÌ Æò°¡ÇÑ´Ù. ´õ ¸¹Àº ¼ÒÇÁÆ®¿þ¾î ¾÷üµéÀÌ ÀÌ·± ¹æ½ÄÀ¸·Î free ¼ÒÇÁÆ®¿þ¾î¸¦ Áö¿øÇØ¾ß ÇÑ´Ù.) GhostscriptÀÇ ÃÖ´ë ´ÜÁ¡Àº ºñÆ®¸Ê¿¡¼ ÃßÃâÇÑ ±Û²Ã¿¡ ÀÖ´Ù. ±×·¯³ª Ghostscript°¡ Adobe type 1 ±Û²ÃÀ» ÀνÄÇÒ ¼ö ÀÖÀ¸¸ç, »ó¿ë ±Û²ÃÀº ¿©·¯ °÷¿¡¼ ±¸ÇÒ ¼ö ÀÖ´Ù. Adobe´Â ±¦ÂúÀº ±Û²ÃÀ» Acrobat PDF reader ÇÁ·Î±×·¥°ú ÇÔ²² ¹èÆ÷ÇÏ°í ÀÖÀ¸¸ç ATM(Adobe Type Manager)³ª ±Û²ÃÆÑ (fontpack)¿¡¼ ±¸ÇÒ ¼öµµ ÀÖ´Ù. Ghostscript·Î ÀÛ¾÷ÇÒ ¶§¿¡´Â -dSAFER ¿É¼Ç(file¿¡ ´ëÇÑ Á¢±Ù ºÒÇã) À» ²À »ç¿ëÇ϶ó. PostScript´Â ³Ê¹« ¸¹Àº ±â´ÉÀ» °¡Áö°í Àֱ⠶§¹®¿¡ À߸øµÈ PS ÇÁ·Î±×·¥Àº ´ç½ÅÀ» ÇÇ°ïÇÏ°Ô ¸¸µé ¼öµµ ÀÖ´Ù. 14.1 GhostscriptÀÇ Ãâ·Â¹° ¶â¾î °íÄ¡±â (Ghostscript output tuning)GhostscriptÀÇ Ãâ·Â¹° ¼öÁØÀÌ ¹ÌÈíÇÏ´Ù¸é, ±×°ÍÀ» ¼öÁ¤ÇÏ´Â ¹æ¹ýÀº ¸¹ÀÌ ÀÖ´Ù.(¼Ò½ºÄڵ尡 Á¦°øµÇ¹Ç·Î ¸ðµç °ÍÀÌ °¡´ÉÇÏ´Ù.) Ãâ·Â¹°ÀÇ À§Ä¡¿Í Å©±â(Output location and size)À§Ä¡, Å©±â, À̹ÌÁöÀÇ °¢µµ´Â Ghostscript¿¡ Æ÷ÇÔµÈ ÇØ´ç ÇÁ¸°ÅÍ µå¶óÀ̹ö ¿¡ ÀÇÇØ Á¶ÀýµÈ´Ù. ÂÊÀÇ ±æÀÌ°¡ ³Ê¹« ª°Å³ª ±ä °æ¿ì, ¶Ç´Â 2ÂÊÀ¸·Î ³ª´² ÂïÀ» ¶§ ÇÑÂʸ¸ Å©°Ô ÂïÈ÷´Â µî ¹®Á¦°¡ ÀÖÀ» ¶§, µå¶óÀ̹öÀÇ ¼Ò½º ¸ðµâÀ» »ìÆ캻 ´ÙÀ½ ƯÁ¤ÇÑ ¸Å°³º¯¼ö(parameter)¸¦ ÀÔ¸À´ë·Î Á¶ÀýÇÏ¸é µÈ´Ù. À¯°¨½º·´°Ôµµ, °¢°¢ÀÇ µå¶óÀ̹ö´Â ¼·Î ´Ù¸¥ ³»¿ëÀ» ´ã°í ÀÖÀ¸¹Ç·Î ±¸Ã¼ÀûÀÎ ¹æ¹ýÀº Á÷Á¢ ã¾Æ¾ß ÇÑ´Ù. ÇÏÁö¸¸, ´ëü·Î ÁÖ¼®À¸·Î µÈ Çؼ³ÀÌ Àß µÇ¾î ÀÖ´Ù. Gamma, dotsizes, etc.·¹ÀÌÀú ÇÁ¸°ÅÍ°¡ ¾Æ´Ñ (À×Å©Á¬, µµÆ®)ÇÁ¸°ÅÍÀÇ Ãâ·Â¹°¿¡ ³ªÅ¸´Â Á¡ÀÇ Å©±â´Â ´ëü·Î ·¹ÀÌÀúÀÇ Ãâ·Â¹°¿¡ ºñÇØ Å©´Ù. À̶§¹®¿¡ ±×·¡ÇÈ Ãâ·Â¹°Àº ³Ê¹« ¾îµÎ¿ö Áø´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é º°µµÀÇ ¹æ¹ýÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. ¾Æ·¡ÀÇ ÆÄÀÏÀ» GhostscriptÀÇ libµð·ºÅ丮¿¡ º¹»çÇÑ ´ÙÀ½ gs°¡ ½ÇÁ¦·Î ƯÁ¤ ÆÄÀÏÀ» ó¸®Çϱ⿡ ¾Õ¼¼ ÀÌ ÆÄÀÏÀ» ¸ÕÀú ÀоîµéÀ̵µ·Ï gs¿¡ À̸§À» Ãß°¡ÇÑ´Ù. ±¸Ã¼ÀûÀÎ ¼öÄ¡´Â °¢ÀÚÀÇ ÇÁ¸°ÅÍ¿¡ ¸ÂÃç¼ º¯°æÇصµ ÁÁ´Ù. ¼öÄ¡¸¦ ÁÙÀϼö·Ï (»ó´ëÀûÀ¸·Î) ´õ ¹à°Ô Ãâ·ÂµÈ´Ù. ƯÈ÷, °¡Áö°í ÀÖ´Â ÇÁ¸°ÅÍ°¡ Floyd-Steinberg ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù¸é 0.2 - 0.15 Á¤µµÀÇ °ªÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ---8<---- gamma.ps ----8<--- %! %transfer functions for cyan magenta yellow black {0.3 exp} {0.3 exp} {0.3 exp} {0.3 exp} setcolortransfer ---8<------------------8<--- ÀÌ °ªÀ» º¯°æÇؼ »ç¿ëÇÏ´Â °æ¿ì Ä÷¯ Ãâ·Â½Ã ÇÁ¸°ÅÍ¿¡ ¼Õ»óÀ» ÀÔÈú °¡´É¼ºµµ ÀÖ´Ù. ±×·¯¹Ç·Î colorcir.ps ÆÄÀÏÀ» ÀÌ¿ëÇؼ Å×½ºÆ®Çϵµ·Ï Ãæ°í ÇÑ´Ù. (±× ÆÄÀÏÀº ghostscript°¡ ¼³Ä¡µÈ °÷ÀÇ examples/µð·ºÅ丮¿¡ ÀÖ´Ù) 15. Ãâ·ÂÁ÷ÀüÀÇ ¹Ì¸®º¸±â (On-screen previewing of printable things)´ëºÎºÐÀÇ Ãâ·Â¹°Àº ȸéÀ» ÅëÇØ ¹Ì¸® »ìÆ캼 ¼ö ÀÖ´Ù. 15.1 PostScriptGhostscript´Â Ghostview¶ó´Â X11µå¶óÀ̹ö¸¦ ÅëÇؼ PS ÆÄÀÏÀ» X ȸé»ó¿¡¼ »ìÆ캼 ¼ö ÀÖ´Ù. (¿ªÀÚÁÖ: gv¶ó´Â º¯Á¾ ÇÁ·Î±×·¥ÀÌ ´õ ¾µ¸¸ÇÏ´Ù) °¡Àå ÃֽŠ¹öÀüÀº PDF ÆÄÀϵµ ó¸®ÇÒ ¼ö ÀÖ´Ù. 15.2 TeX dviTeXÀÇ Ãâ·Â¹°ÀÎ DVI(DeVice Independant) ÆÄÀÏÀ» ¹Ì¸® »ìÆì º¸±â À§Çؼ xdvi¶ó´Â X11¿ë ÇÁ·Î±×·¥À» ÀÌ¿ëÇÑ´Ù. ÃÖ±Ù ¹öÀüÀÇ xdvi´Â PS ºÎºÐ À» Ç¥½ÃÇϱâ À§Çؼ ghostscript¸¦ È£ÃâÇÒ ¼öµµ ÀÖ´Ù. vt100 µå¶óÀ̹öµµ ÀÖ´Ù. dgvg·Î ºÒ¸°´Ù. tmview´Â Linux ¹× svgalib¿¡¼ Àß ÀÛµ¿ÇÑ´Ù. 16. µµ¿ò ÁֽŠºÐµé(Credits)smbprint¿¡ °üÇÑ ³»¿ëÀº Marcel Roelofs< marcel@paragon.nl> ÀÇ ±Û¿¡¼ °¡Á®¿Ô´Ù. Netware ÇÁ¸°ÅÍ¿Í nprint¿¡ °üÇÑ ³»¿ëÀº Michael Smith < mikes@bioch.ox.ac.uk>°¡ Á¦°øÇÑ °ÍÀÌ´Ù. lpdȯ°æÀÇ Á÷·Ä Æ÷Æ® ÇÁ¸°ÅÍ¿¡ °üÇÑ ºÎºÐÀº Andrew Tefft°¡ Á¦°øÇß´Ù. gamma ¼³Á¤¹× ghostscript¿¡ °üÇÑ ¼³¸íÀº Andreas°¡ º¸³½ °ÍÀÌ´Ù. < quasi@hub-fue.franken.de>. Chris Johnson < cdj@netcom.com>ÀÌ Á÷·ÄÆ÷Æ®¿¡¼ 30ÃÊ°£ÀÇ closing_wait¸¦ ´Ù·é µÎ°³ÀÇ ´Ü¶ô¿¡ µµ¿òÀ» ÁÖ¾ú´Ù. |
Put not your trust in money, but put your money in trust. |