The Linux Printing HOWTO Àú ÀÚ : Grant Taylor, > ¹ö Àü : 3.10 ¹ø ¿ª ÀÚ : ¾ö±â¼º, > ÃÖÁ¾¼öÁ¤ÀÏ : 1996³â 9¿ù 10ÀÏ ______________________________________________________________________ ¸ñÂ÷ 1. ÁÖÀÇ ¹× °æ°í 1.1 ¹ø¿ªÁß Á¦¿ÜµÈ ³»¿ë 2. ¼Ò°³(Intro) 2.1 º¯Ãµ»ç(History) 2.2 ÀúÀÛ±Ç(Copyright) 3. Ãâ·ÂÇÏ´Â ¹æ¹ý(How to print) 4. Kernel printer devices 4.1 lp device 4.2 Á÷·Ä Æ÷Æ® µð¹ÙÀ̽º(Serial devices) 5. Ãâ·Â¿ë ÇÁ·Î±×·¥Àº ¾î¶²°ÍÀÌ Àִ°¡?(Which spooling software?) 6. Ãâ·ÂÀÛ¾÷ÀÇ ±âº»°úÁ¤(How it works, basic) 7. ±âº»ÀûÀΠȯ°æ¼³Á¤ (How to set things up, basic) 7.1 ÀϹÝÀûÀÎ lpd ¼³Á¤(Traditional lpd configuration) 7.2 ÆÄÀÏ ±ÇÇÑ(File Permissions) 8. ¸ÅÁ÷ ÇÊÅÍ ±¸Çϱâ(How to obtain an appropriate magic filter) 8.1 APS ÇÊÅÍ(APS Filter) 8.2 ¸ÅÁ÷ ÇÊÅÍ(Magic-filter) 8.3 ±× ¹ÛÀÇ ¸ÅÁ÷ÇÊÅÍ.. 9. lpd ȯ°æÀÇ Á÷·Ä Æ÷Æ® ÇÁ¸°ÅÍ 9.1 printcapÀÇ ¼³Á¤ 9.2 ÀڷḦ ÀÒ¾î¹ö¸®´Â ±¸Çü Á÷·Ä ÇÁ¸°ÅÍ 10. ÆǸž÷ÀÚÃøÀÇ ÇÁ·Î±×·¥µé(Vendor Solutions) 10.1 ·¹µåÇÞ 2.x and 3.0.3 (Picasso) 10.2 ±× ¹ÛÀÇ ¹èÆ÷º»µé(Other Distributions) 11. ³×Æ®¿÷À¸·Î ¿¬°áµÈ ÇÁ¸°Å͸¦ ÀÌ¿ëÇÏ¿© Ãâ·ÂÇϱâ 11.1 À¯´Ð½º/lpd È£½ºÆ®·Î Ãâ·Â (To a Unix/lpd host) 11.2 lpd¸¦ ÀÌ¿ëÇÏÀÚ (With lpd) 11.3 rlprÀ» ÀÌ¿ëÇÏÀÚ(With rlpr) 11.4 À©µµ 95/NT, LanManager, Samba·Î ¿¬°áµÈ ÇÁ¸°ÅÍ·Î Ãâ·Â 11.5 ³×Æ®¿þ¾î ÇÁ¸°ÅÍ »ç¿ë(To a NetWare Printer) 11.6 EtherTalk (¾ÖÇÃ) ÇÁ¸°ÅÍ·Î Ãâ·Â(To an EtherTalk (Apple) printer) 11.7 HP ¹× ±âŸ ³×Æ®¿÷ ÇÁ¸°ÅÍ·Î Ãâ·Â(To an HP or other ethernet printer) 11.7.1 ¿À·¡µÈ HP Á¦Ç°(To older HPs) 11.8 remote printer¿ë if ½ÇÇà (Running an if for remote printers) 12. Æѽº·Î Ãâ·Â 12.1 Æѽº ¸ðµ© »ç¿ë(Using a faxmodem) 12.2 ¿ø°Ý Ãâ·Â ¼­ºñ½º ÀÌ¿ë(Using the Remote Printing Service) 13. Ãâ·Â¿ë ¹®¼­ ¸¸µé±â(How to generate something worth printing) 13.1 ¸¶Å©¾÷ ¾ð¾î (Markup languages) 13.2 À§ÁöÀ¨(WYSIWYG) 14. Ghostscript 14.1 GhostscriptÀÇ Ãâ·Â¹° ¶â¾î °íÄ¡±â (Ghostscript output tuning) 14.1.1 Ãâ·Â¹°ÀÇ À§Ä¡¿Í Å©±â(Output location and size) 14.1.2 Gamma, dotsizes, etc. 15. Ãâ·ÂÁ÷ÀüÀÇ ¹Ì¸®º¸±â (On-screen previewing of printable things) 15.1 PostScript 15.2 TeX dvi 16. µµ¿ò ÁֽŠºÐµé(Credits) ______________________________________________________________________ 1. ÁÖÀÇ ¹× °æ°í ´ÙÀ½ÀÇ ¹®¼­´Â Grant TaylorÀÇ Linux Printing HOWTOÀÇ ÇÑ±Û ¹ø¿ªÆÇÀÌ´Ù. Linux Printing HOWTO´Â Linux ȯ°æ¿¡¼­ (±âŸ À¯´Ð½º ȯ°æ¿¡¼­µµ º¸ÆíÀûÀÎ ºÎºÐÀº Àû¿ë °¡´É) ÇÁ¸°Æ® Ãâ·Â(print), ¹Ì¸®º¸±â(preview), Æѽº(fax) »ç¿ë¿¡ ´ëÇÑ ÀڷḦ ¼öÁýÇÑ °ÍÀÌ´Ù. Âü°í·Î, ¿ªÀÚ´Â ¿ø¹®¿¡ ´ëÇÑ ¹ø¿ªÀ¸·Î ÀÎÇØ ¹ß»ýÇÒ ¼ö ÀÖ´Â À¯/¹«ÇüÀÇ ¼Õ½Ç¿¡ ´ëÇؼ­ ¾î¶°ÇÑ Ã¥ÀÓÀ̳ª º¸»óÀÇ Àǹ«¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù´Â Á¡À» ¹Ì¸® ¹àÇôµÐ´Ù. ±×¸®°í, ¿ªÀÚÀÇ Áö½ÄÀÌ ºÎÁ·ÇÑ °ü°è·Î ¿ø¹®ÀÇ ³»¿ëÀÌ À߸ø ¹ø¿ªµÉ °¡´É¼ºµµ ÀÖ´Ù´Â Á¡À» ÁÖÀÇÇ϶ó. (¿ø¹®ÀÇ ³»¿ëÀ» ½±°Ô Àü´ÞÇϱâ À§Çؼ­ ÀÇ¿ªÇÑ ºÎºÐÀÌ ¸¹´Ù.) 1.1. ¹ø¿ªÁß Á¦¿ÜµÈ ³»¿ë º» ¹®¼­¸¦ ¹ø¿ªÇÏ´Â °úÁ¤¿¡¼­ "Á÷·Ä Æ÷Æ®¿¡ ¿¬°áµÈ ÇÁ¸°ÅÍÀÇ È¯°æ¼³Á¤"¿¡ °üÇÑ ºÎºÐÀº ¹ø¿ªÇÏÁö ¾Ê¾Ò´Ù. ÇÊ¿äÇÑ ºÐÀº ¿µ¹®ÆÇÀ» Âü°íÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº 8ÀåÀ» Âü°íÇ϶ó. 2. ¼Ò°³(Intro) ÀÌ ¹®¼­¸¦ ´Ù½Ã ÀÛ¼ºÇ߱⠶§¹®¿¡ ±¸¹öÀüÀÇ ³»¿ë¿¡¼­ ¸¹Àº ÀÚ·á°¡ ºüÁ³´Ù. ÀÌ´Â ÀÌÀüÀÇ HOWTO ¹®¼­°¡ ¾çÀûÀ¸·Î 60 typeset ÂÊ¿¡ À̸¦ Á¤µµ·Î Ä¿Á³À¸¸ç Áö·çÇÑ À̾߱â½ÄÀÇ ±¸¼º¹æ½ÄÀ» °¡Áö°í ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. º» ¹®¼­¿¡¼­ ¿øÇÏ´Â ÇØ°áÃ¥À» ãÀ» ¼ö ¾ø´Ù¸é a) PHT ȨÆäÀÌÁö > ¿¡¼­ ±¸¹öÀüÀÇ PHT¸¦ µÚÁö°Å³ª b) ³ª(PHTÀÇ ÀúÀÚÀÎ grant taylor)¿¡°Ô ºüÁø °ÍÀÌ ¹«¾ùÀÎÁö °¡¸£ÃÄ ÁÖ¸é µÈ´Ù. Printing HOWTO ȨÆäÀÌÁöÀÎ >¿¡¼­ °¡Àå ÃֽŹöÀüÀÇ PHT¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù; ¹°·Ð Sunsite(sunsite.unc.edu)³ª °¡±î¿î LDP ¹Ì·¯ »çÀÌÆ®¿¡¼­µµ ±¸ÇÒ ¼ö ÀÖ´Ù. 2.1. º¯Ãµ»ç(History) ÀÌ ¹®¼­´Â ¼¼ ¹ø° ¼öÁ¤ÆÇÀÌ´Ù. Áï, ¸ðµç ³»¿ëÀÌ »õ·Î ÀÛ¼ºµÇ´Â °úÁ¤À» ¼¼ ¹ø°·Î °ÅÃÆ´Ù´Â ÀǹÌÀÌ´Ù. PHTÀÇ º¯Ãµ»ç´Â ½Ã°£Àû ¼ø¼­·Î ³ª¿­Çؼ­ ´ÙÀ½°ú °°´Ù. 1. ³ª´Â ÇÁ¸°Æ®¿¡ °ü·ÃµÇ¾î comp.so.linux¿¡ ¿Ã¶ó¿À´Â ¼ö¸ÄÀº Áú¹®À» À§Çؼ­ printing-howto¸¦ ÃÖÃÊ·Î ÀÛ¼ºÇÏ°í À̸¦ Æ÷½ºÆÃÇß´Ù. ¸î ´Þ ÈÄ HOWTO ÇÁ·ÎÁ§Æ®°¡ ½ÃÀ۵ǾúÀ¸¸ç, µû¶ó¼­ ³» ¹®¼­´Â `HOWTO'¶ó°í ºÒ¸®´Â ÃÖÃÊ´Â FAQ¸ðÀ½ÁýÀ̾ú´Ù. ÀÌ ¶§ÀÇ Æ÷¸ËÀº ÀϹÝÀûÀÎ ascii¿´´Ù. 2. HOWTO ÇÁ·ÎÁ§Æ®¿¡ µ¿ÂüÇÑ ´ÙÀ½, Printing-HOWTO´Â Brian McCauley >ÀÇ Lpd FAQ¿Í ÇÕÃÄÁ³´Ù. ¿ì¸®´Â ¾à 2³âµ¿¾È PHT¸¦ °øµ¿À¸·Î ÀÛ¼ºÇß´Ù. ¸î¸î ºÎºÐ¿¡¼­´Â Karl Auer >ÀÇ ÀڷḦ Æ÷ÇÔ½ÃÄ×´Ù. ÀÌ ½ÃÁ¡ÀÇ PHT´Â TeXinfo Æ÷¸ËÀ̾úÀ¸¸ç, PS, HTML, Ascii, Info µîÀÇ Æ÷¸Ëµµ ÀÖ¾ú´Ù. 3. 1³â Á¤µµ PHT¿¡¼­ ¼ÕÀ» ¶¾ ´ÙÀ½, ´Ù¸¥ maintainer¸¦ ±¸ÇÏ·Á´Â ½Ãµµ°¡ ½ÇÆÐÇÑ ´ÙÀ½ ÇöÀç¿Í °°Àº Çü½Ä°ú ³»¿ëÀ¸·Î ÀüüÀûÀÎ ¼öÁ¤À» °¡Çß´Ù. ÇöÀçÀÇ PHT´Â Linuxdoc-SGMLÆ÷¸ËÀÌ´Ù. 2.2. ÀúÀÛ±Ç(Copyright) ÀÌ ¹®¼­ÀÇ ÀúÀÛ±ÇÀº Grant Taylor ¿¡°Ô ÀÖ´Ù.(Copyright (c) 1996 by Grant Taylor) ¹èÆ÷ ¶Ç´Â º¹»ç½Ã ÀúÀÚÀÇ À̸§À» Áö¿ì°Å³ª, ³»¿ëÀ» ¼öÁ¤ÇÏÁö ¾Êµµ·Ï Ç϶ó. 3. Ãâ·ÂÇÏ´Â ¹æ¹ý(How to print) ´ç½ÅÀÇ ÇÁ¸°ÅÍ¿¡ ¸ÂÃç¼­ lpd ¼³Á¤À» ¸¶Ãưųª ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ±×·¯ÇÑ ¼³Á¤À» ÇØ µÎ¾ú°Å³ª, ÆǸž÷Àڱ⠹̸® ȯ°æ¼³Á¤À» ÇØ ³õÀº °æ¿ì, lpr ¸í·É¾î¿¡ ´ëÇÑ °Í¸¸ ¹è¿ì¸é µÈ´Ù. The Printing-Usage HOWTO > ¿¡¼­ ±×·± ³»¿ëÀ» ´Ù·ç°í ÀÖÀ¸¸ç ÇÁ¸°Æ® Å¥(queue)¸¦ ´Ù·ç´Â ¸î °¡Áö Çʼö ¸í·É¾î¿¡ ´ëÇؼ­µµ ¼³¸íÇÏ°í ÀÖ´Ù. 4. Kernel printer devices 4.1. lp device lp µð¹ÙÀ̽º¸¦ Ä¿³Î¿¡¼­ Áö¿øÇϵµ·Ï ÄÄÆÄÀÏÇϰųª ¸ðµâ·Î Àоîµé¿´´Ù°í °¡Á¤ÇÒ °æ¿ì (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 >.¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. È帧 Á¦¾î(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 - ȨÆäÀÌÁö ¸¦ »ìÆ캸¶ó. >. ÀÌ ¹®¼­ÀÇ ÀÌÈÄ ¹öÀü¿¡¼­´Â LPRng¿Í º¸ÅëÀÇ lpd »ç¿ë¿¡ °üÇÑ ÀڷḦ ÇÔ²² Á¦°øÇÒ °ÍÀÌ´Ù. 6. Ãâ·ÂÀÛ¾÷ÀÇ ±âº»°úÁ¤(How it works, basic) Ãâ·ÂÀÛ¾÷ÀÌ Àß µÇ·Á¸é, ´ÙÀ½ÀÇ lpd ½Ã½ºÅÛÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù. lpd¶õ Line Printer DaemonÀ» ÀǹÌÇϸç, ¹®¸Æ(context)À¸·Î ÆľÇÇÒ ¶§ daemon ¶Ç´Â Ãâ·ÂÀÛ¾÷¿¡ °ü·ÃµÈ ÇÁ·Î±×·¥ÀÇ Àüü ¸ðÀ½À¸·Î ÀÌÇØµÉ ¼ö ÀÖ´Ù. ´ÙÀ½Àº À§¿¡¼­ ¾ð±ÞµÈ Ãâ·Â¿¡ °ü·ÃµÈ ÇÁ·Î±×·¥ÀÌ´Ù. lpd ½ºÇ® Daemon. lpdÁß Çϳª´Â ±â°èÀÇ ¸ðµç (Ãâ·Â)ÀÛ¾÷À» ÅëÁ¦ Çϸç, ´Ù¸¥ Çϳª´Â ÇÁ¸°ÅÍ ÀÛ¾÷´ç Çϳª¾¿ ½ÇÇàµÈ´Ù. lpr »ç¿ëÀÚÀÇ Ãâ·Â ¸í·É¾î. lprÀº lpd¿Í Á¢ÃËÇÏ¿© »õ·Î Ãâ·ÂÇÒ ÀÛ¾÷À» ½ºÇ® (µð·ºÅ丮)¿¡ ³Ö´Â´Ù. l pq ÇÁ¸°Æ® Å¥(queue)¿¡ µé¾îÀÖ´Â ÀÛ¾÷ ¸ñ·ÏÀ» º¸¿©ÁØ´Ù. lpc lpd ½Ã½ºÅÛ Á¦¾î ¸í·É¾î. lpc¸¦ ÀÌ¿ëÇؼ­ ÇÁ¸°Æ® Å¥ÀÇ ÀÛ¾÷À» Á¤Áö, ½ÃÀÛ,¼ø¼­ º¯°æ,±âŸ µîÀÌ °¡´ÉÇÏ´Ù. lprm ½ºÇ®(µð·ºÅ丮)ÀÇ ÀÛ¾÷À» Á¦°ÅÇÑ´Ù. ±×·¯¸é, À̵éÀÌ ¾î¶»°Ô »óÈ£ÀÛ¿ëÇϴ°¡? ½Ã½ºÅÛÀÌ ºÎÆõǸé, lpd°¡ ½ÇÇàµÈ´Ù. lpd´Â /etc/printcap ÆÄÀÏÀ» °Ë»öÇÏ¿© ½ºÇ®ÀÛ¾÷¿¡ ÇÊ¿äÇÑ ³í¸®ÇÁ¸°ÅÍ°¡ Á¤ÀǵǾî ÀÖ´ÂÁö ¾Ë¾Æ º»´Ù. »ç¿ëÀÚÁß ´©±º°¡°¡ lprÀ» ½ÇÇàÇÒ ¶§, lprÀº /dev/printer ¶ó´Â À̸§À» °¡Áø ¼ÒÄÏ(socket)À¸·Î lpd¿Í ±³½ÅÇÏ°í lpd¿¡°Ô Ãâ·ÂÇÒ ÆÄÀÏ ¹× ¼ÒÀ¯ÀÚ, Ãâ·Â¹æ¹ý µî¿¡ ´ëÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù. ±×·¯¸é lpd´Â ¼ø¼­´ë·Î ÇØ´ç ÆÄÀÏ¿¡ ¸Âµµ·Ï Á¤ÀÇµÈ ÇÁ¸°ÅÍ·Î Àü¼Û, Ãâ·ÂÇÑ´Ù. ¿ø·¡ lp ½Ã½ºÅÛÀº ´ëºÎºÐÀÇ ÇÁ¸°ÅÍ°¡ line printerÀÎ ½ÃÀý - »ç¶÷µéÀÌ ascii text È­ÀÏÀ» ÁÖ·Î Ãâ·ÂÇÏ´ø ¶§ - ¿¡ °³¹ßµÇ¾ú´Ù. ȯ°æÀÌ ´Þ¶óÁø Áö±ÝÀº lpd°¡ Àß µ¹¾Æ°¡±â À§Çؼ­ ¾à°£ÀÇ ½ºÅ©¸³Æ® ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ÇöÀçÀÇ È¯°æÀº PostScript, text, dviµî ´Ù¾çÇÑ Çü½ÄÀÌ ÀÖ´Ù. 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(){chop $_; print "$_\r\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: (Andreas Klemm) Maintained-by: (Thomas Bueschgens) (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: (Brian McCauley) Maintained-by: 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 <> 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)¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. >. 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´Â > ¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº 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ÀÇ ¹®¼­¿¡¼­ ¾ÖÇà ³×Æ®¿÷¿¡¼­ÀÇ ÇÁ¸°ÅÍ Ãâ·Â °úÁ¤¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÏ°í ÀÖ´Ù. ±×ÀÇ È¨ÆäÀÌÁö¸¦ Âü°íÇ϶ó. > È®½ÇÇÏÁö ¸øÇÑ ¼Ò¹® : 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 ÀÛ¾÷ÀÌ ¼öÇàµÇ¾î 󸮵Ǵ °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. 11.7.1. ¿À·¡µÈ 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 () { print S; } sleep 3; do dokill(); } else { while() { 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 -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¸¦ Âü°íÇ϶ó.>. 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¸¦ ÀÌ¿ëÇؼ­ ¸ÚÁø »çÀÎÀ» ¸¸µé·Á°í ÇÏ´Â °ÍÀº »ó´çÇÑ ³ë·ÂÀ» ÇÊ¿ä·Î ÇÑ´Ù... nroff nroff´Â À¯´Ð½º¿¡¼­ ÃÖÃÊÀÇ markup language¿¡ ¼ÓÇÑ´Ù. ¸ÇÆäÀÌÁö ´Â *roff ¸ÅÅ©·Î·Î µÈ ´ëÇ¥ÀûÀÎ º»º¸±âÀÌ´Ù. ¸¹Àº »ç¶÷µéÀº À̸¦ ±ÇÀåÇÏÁö¸¸, norff´Â ,Àû¾îµµ ³»°Ô´Â , ÇÊ¿äÀÌ»óÀ¸·Î ³­ÇØÇÏ°í »õ·Î¿î ÀÛ¾÷¿ëÀ¸·Î Àû´çÇÏÁö ¾Ê´Ù. ±×·³¿¡µµ ºÒ±¸ÇÏ°í, ¹è¿ï¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù. groff¸¦ ÀÌ¿ëÇÏ¿© ¸ÇÆäÀÌÁö¸¦ PS Çü½ÄÀÇ ¹®¼­·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù. man -t foo | lpr Çü½ÄÀÇ man ¸í·É¾î¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù. TeX ÅØ(TeX), ±×¸®°í ¸ÅÅ©·Î ÆÐÅ°ÁöÀÎ ¶óÅØ(LaTeX)Àº À¯´Ð½º ¼¼°è¿¡¼­ ³Î¸® »ç¿ëµÇ´Â markup language´Ù. ±â¼úÀûÀÎ ¹®¼­³ª ÀúÀÛ¹°Àº LaTeX À¸·Î ¸¹ÀÌ ÀÛ¼ºµÇ´Âµ¥, ÀÌ´Â (LaTeXÀÌ) ¹®¼­ÀÇ ÀüüÀûÀÎ Á¶°¨(layout) À» °£´ÜÇÏ°Ô Çϸç, ¼öÇÐÀû Ç¥ÇöÀ» Á¦´ë·Î Áö¿øÇÏ´Â ¹®¼­Ã³¸®½Ã½ºÅÛ (text processing system)À̱⠶§¹®ÀÌ´Ù. TeXÀÇ Ãâ·Â¹°Àº dvi(Device Independent) Æ÷¸ËÀ̸ç PS³ª HP (Hewlett Packard)ÀÇ PCL(Printer Control Language)·Î º¯È¯ÇÒ ¼ö ÀÖ´Ù. (dvips³ª dvilj»ç¿ë) SGML Unix¿Í Linux¿ëÀ¸·Î free sgml parser¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀÌ Linuxdoc-SGML ¹®¼­ »ý¼º ½Ã½ºÅÛÀÇ ±âº»À» ±¸¼ºÇÑ´Ù. ¶ÇÇÑ ´Ù¸¥ DTD¸¦ Áö¿øÇÑ´Ù. HTML ´©±º°¡ Á¦¾ÈÇϱæ, °£´ÜÇÑ ÇÁ·ÎÁ§Æ®¿ëÀ¸·Î HTML·Î ÀÛ¼ºÇÏ¿© Netscape À¸·Î Ãâ·ÂÇØ º¸´Â °ÍÀ̾ú´Ù. ³ª´Â ¿©±â¿¡ µ¿ÀÇÇÏÁö ¾ÊÁö¸¸. YMMV 13.2. À§ÁöÀ¨(WYSIWYG) À§ÁöÀ¨ÀÇ ´ÜÁ¡À» ¾È°í ÀÖ´Â ¹®¼­Ã³¸® ÇÁ·Î±×·¥µéÀÌ´Ù. »ç¿ëÇØ º¸°í, ´ÙÀ½¿¡¼­ ºü¶ß¸° ³»¿ë¿¡ ´ëÇؼ­ ¾Ë·Á´Þ¶ó. LyX LyX´Â LaTeXÀÇ front-endÀÌ¸ç ¸¹Àº °¡´É¼ºÀ» °¡Áø ÇÁ·Î±×·¥ÀÌ´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â LyXÀÇ È¨ÆäÀÌÁö¸¦ Âü°íÇ϶ó. > The Andrew User Interface System(AUIS) AUIS¿¡´Â À§ÁöÀ¨ ½ºÅ¸ÀÏÀÌ¸ç ±âÃÊÀûÀÎ ¿öµå ÇÁ·Î¼¼¼­ÀÇ ±â´ÉÀ» °¡Áø ez¶ó´Â ¹®¼­ ÆíÁý±â¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. HTML°ú MIME email ¹× newsgroupÀ» Áö¿øÇÑ´Ù. »ó¿ë ÇÁ·Î±×·¥ Caldear¿Í Red HatÀº À§ÁöÀ¨ ½ºÅ¸ÀÏÀÇ ¿öµåÇÁ·Î¼¼¼­¿Í ½ºÇÁ·¹µå½ÃÆ® ÇÁ·Î±×·¥°ú °°Àº º¸ÆíÀûÀÎ »ç¹«¿ë ÇÁ·Î±×·¥À» °°ÀÌ ÆǸÅÇÑ´Ù. ¾Æ¸¶ ¾µ¸¸ÇÑ °Íµé·Î »ý°¢µÇÁö¸¸, ÇÑ ¹øµµ »ç¿ëÇØ º¸Áö ¸øÇß´Ù. Caldera¿¡¼­ ¼±(Sun)ÀÇ ¿Íºñ(Wabi)¸¦ ÆǸÅÇÑ´Ù°í µé¾ú´Ù. ±×·¯¹Ç·Î ³²µéÀÇ ÆÄÀÏÀ» °¡Áö°í ÀÛ¾÷ÇØ¾ß ÇÒ¶§, MS OfficeµîÀÇ À©µµ¿ë ÇÁ·Î±×·¥ À» ½ÇÇàÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. (¿ªÀÚÁÖ:¿Íºñ´Â ¼±(Sun)¿¡¼­ ÆǸÅÇÏ´Â À¯´Ð½º¿ë MS Windows ¿¡¹Ä·¹ÀÌÅÍÀÌ´Ù.) Jeff Phillips >´Â CalderaÀÇ Linux¿ë WordPerfect(½½·¢¿þ¾î¿¡ ¼³Ä¡)À» »ç¿ëÇØ º¸°í ±×°ÍÀÌ Àß ÀÛµ¿ÇÑ´Ù°í º¸°íÇß´Ù. ±× ÇÁ·Î±×·¥Àº ´Ù¸¥À̵éÀÇ ¿¹»ó°ú °°ÀÌ ÀÚüÀûÀ¸·Î ÇÁ¸°Å͸¦ Áö¿øÇß´Ù. Caldera´Â >¿¡¼­ ÀڷḦ Á¦°øÇÏ°í ÀÖ´Ù. RedHatÀº Applixware¶ó´Â ¿ÀÇǽº ÆÐÅ°Áö¸¦ ÆǸÅÇÑ´Ù. ·¹µåÇÞÀÇ À¥»çÀÌÆ®ÀÎ >¿¡¼­ °ü·Ã ÀڷḦ ã¾Æ º¸¶ó. ±× ¿ÜÀÇ ¾÷ü´Â (ÀÖ´Ù¸é) ÀÚ»çÀÇ Á¦Ç°¿¡ ´ëÇØ ÀڷḦ Á¦°øÇØ ´Þ¶ó. 14. Ghostscript Ghostscript´Â ¸®´ª½º¿¡¼­ Ãâ·ÂÀÛ¾÷½Ã ¸Å¿ì Áß¿äÇÑ ¿ªÇÒÀ» ÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. À¯´Ð½º¿ë Ãâ·Â ÇÁ·Î±×·¥Àº ´ë°Ô 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ÀÇ Ãâ·Â¹° ¼öÁØÀÌ ¹ÌÈíÇÏ´Ù¸é, ±×°ÍÀ» ¼öÁ¤ÇÏ´Â ¹æ¹ýÀº ¸¹ÀÌ ÀÖ´Ù.(¼Ò½ºÄڵ尡 Á¦°øµÇ¹Ç·Î ¸ðµç °ÍÀÌ °¡´ÉÇÏ´Ù.) 14.1.1. Ãâ·Â¹°ÀÇ À§Ä¡¿Í Å©±â(Output location and size) À§Ä¡, Å©±â, À̹ÌÁöÀÇ °¢µµ´Â Ghostscript¿¡ Æ÷ÇÔµÈ ÇØ´ç ÇÁ¸°ÅÍ µå¶óÀ̹ö ¿¡ ÀÇÇØ Á¶ÀýµÈ´Ù. ÂÊÀÇ ±æÀÌ°¡ ³Ê¹« ª°Å³ª ±ä °æ¿ì, ¶Ç´Â 2ÂÊÀ¸·Î ³ª´² ÂïÀ» ¶§ ÇÑÂʸ¸ Å©°Ô ÂïÈ÷´Â µî ¹®Á¦°¡ ÀÖÀ» ¶§, µå¶óÀ̹öÀÇ ¼Ò½º ¸ðµâÀ» »ìÆ캻 ´ÙÀ½ ƯÁ¤ÇÑ ¸Å°³º¯¼ö(parameter)¸¦ ÀÔ¸À´ë·Î Á¶ÀýÇÏ¸é µÈ´Ù. À¯°¨½º·´°Ôµµ, °¢°¢ÀÇ µå¶óÀ̹ö´Â ¼­·Î ´Ù¸¥ ³»¿ëÀ» ´ã°í ÀÖÀ¸¹Ç·Î ±¸Ã¼ÀûÀÎ ¹æ¹ýÀº Á÷Á¢ ã¾Æ¾ß ÇÑ´Ù. ÇÏÁö¸¸, ´ëü·Î ÁÖ¼®À¸·Î µÈ Çؼ³ÀÌ Àß µÇ¾î ÀÖ´Ù. 14.1.2. 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. PostScript Ghostscript´Â Ghostview¶ó´Â X11µå¶óÀ̹ö¸¦ ÅëÇؼ­ PS ÆÄÀÏÀ» X È­¸é»ó¿¡¼­ »ìÆ캼 ¼ö ÀÖ´Ù. (¿ªÀÚÁÖ: gv¶ó´Â º¯Á¾ ÇÁ·Î±×·¥ÀÌ ´õ ¾µ¸¸ÇÏ´Ù) °¡Àå ÃֽŠ¹öÀüÀº PDF ÆÄÀϵµ ó¸®ÇÒ ¼ö ÀÖ´Ù. 15.2. TeX dvi TeXÀÇ Ãâ·Â¹°ÀÎ DVI(DeVice Independant) ÆÄÀÏÀ» ¹Ì¸® »ìÆì º¸±â À§Çؼ­ xdvi¶ó´Â X11¿ë ÇÁ·Î±×·¥À» ÀÌ¿ëÇÑ´Ù. ÃÖ±Ù ¹öÀüÀÇ xdvi´Â PS ºÎºÐ À» Ç¥½ÃÇϱâ À§Çؼ­ ghostscript¸¦ È£ÃâÇÒ ¼öµµ ÀÖ´Ù. vt100 µå¶óÀ̹öµµ ÀÖ´Ù. dgvg·Î ºÒ¸°´Ù. tmview´Â Linux ¹× svgalib¿¡¼­ Àß ÀÛµ¿ÇÑ´Ù. 16. µµ¿ò ÁֽŠºÐµé(Credits) smbprint¿¡ °üÇÑ ³»¿ëÀº Marcel Roelofs> ÀÇ ±Û¿¡¼­ °¡Á®¿Ô´Ù. Netware ÇÁ¸°ÅÍ¿Í nprint¿¡ °üÇÑ ³»¿ëÀº Michael Smith >°¡ Á¦°øÇÑ °ÍÀÌ´Ù. lpdȯ°æÀÇ Á÷·Ä Æ÷Æ® ÇÁ¸°ÅÍ¿¡ °üÇÑ ºÎºÐÀº Andrew Tefft°¡ Á¦°øÇß´Ù. gamma ¼³Á¤¹× ghostscript¿¡ °üÇÑ ¼³¸íÀº Andreas°¡ º¸³½ °ÍÀÌ´Ù. >. Chris Johnson >ÀÌ Á÷·ÄÆ÷Æ®¿¡¼­ 30ÃÊ°£ÀÇ closing_wait¸¦ ´Ù·é µÎ°³ÀÇ ´Ü¶ô¿¡ µµ¿òÀ» ÁÖ¾ú´Ù.