ÀÌÀüÆäÀÌÁö ´ÙÀ½ÆäÀÌÁö Â÷·Ê

2. ¸®´ª½º ȯ°æ¿¡¼­ ¹®¼­Ãâ·Â

ÀÌ Àå(section)¿¡¼­´Â ÆÄÀÏÀÇ Ãâ·Â, ÇÁ¸°Æ®Å¥(queue)ÀÇ ½ÃÇè, ÇÁ¸°Æ® Å¥¿¡¼­ (´ë±âÁßÀÎ) ÀÛ¾÷(job)ÀÇ Á¦°Å, ÆÄÀÏÀ» Ãâ·ÂÇϱâ Àü¿¡ Àû´çÇÑ Çü½ÄÀ¸·Î º¯È¯Çϱâ, ÇÁ¸°Æ® ȯ°æ¼³Á¤¿¡ ´ëÇؼ­ ¼³¸íÇÑ´Ù.

2.1 ¸®´ª½º ȯ°æ¿¡¼­ÀÇ ¹®¼­Ãâ·Â º¯Ãµ»ç(History of Linux Printing)

¸®´ª½ºÀÇ ¹®¼­Ãâ·Â ½Ã½ºÅÛ---lp(Line Printer) ½Ã½ºÅÛ---Àº BSD(Berkeley Software Distribution)¹öÀüÀÇ À¯´Ð½º(UNIX)¸¦ À§Çؼ­ ÀÛ¼ºÇÑ ¼Ò½ºÄڵ带 Æ÷ÆÃ(porting)ÇÑ °ÍÀÌ´Ù.

2.2 lprÀ» ÀÌ¿ëÇÑ ÆÄÀÏ Ãâ·Â(Printing a File Using lpr)

ÇöÀç±îÁö ¸®´ª½º¿¡¼­ ¹®¼­Ãâ·ÂÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº ÆÄÀÏÀ» ÇÁ¸°Æ® µð¹ÙÀ̽º(print device)¿¡ ¹Ù·Î º¸³»´Â °Í(redirection)ÀÌ´Ù. ÀÌ·¸°Ô Çϱâ À§Çؼ­ cat ¸í·É¾î¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. root ±ÇÇÑÀ» °¡Áø »óÅ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

# cat thesis.txt > /dev/lp

ÀÌ °æ¿ì, /dev/lp´Â ½ÇÁ¦·Î ÇÁ¸°Æ® ÀÛ¾÷À» ¼öÇàÇÏ´Â µð¹ÙÀ̽º---µµÆ® ÇÁ¸°ÅÍ, ·¹ÀÌÀú, ŸÀÔ¼¼ÅÍ(typesetter) ¶Ç´Â Ç÷ÎÅÍ µî---¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ©(symbolic link)ÀÏ»ÓÀÌ´Ù. ½Éº¼¸¯ ¸µÅ©¿¡ ´ëÇؼ­ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¿øÇϸé ln(1)ÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó.

º¸¾È¹®Á¦ ¶§¹®¿¡ root¿Í print ´ë¸ó(daemon)¿¡ µî·ÏµÈ ±×·ìÀÇ »ç¿ëÀÚ¸¸ÀÌ ÇÁ¸°ÅÍ µð¹ÙÀ̽º¿¡ Á÷Á¢ ¾²´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ±×·¸±â ¶§¹®¿¡ ÇÁ¸°Å͸¦ »ç¿ëÇϱâ À§Çؼ­´Â lpr, lprm, lpq¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

ÀÌ·¯ÇÑ ÀÌÀ¯·Î, »ç¿ëÀÚ´Â ÆÄÀÏÀ» Ãâ·ÂÇϱâ À§Çؼ­´Â lprÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù. lprÀº ÆÄÀÏÃâ·ÂÀ» À§Çؼ­ ÇÊ¿äÇÑ ¸î°¡Áö ÃʱâÈ­ °úÁ¤À» ¼öÇàÇÑ ´ÙÀ½ Á¦¾î±ÇÀ» lpd(line printer daemon)¿¡°Ô ³Ñ°Ü ÁØ´Ù. lpd´Â ÇÁ¸°ÅÍ¿¡°Ô ±× ÆÄÀÏÀ» Ãâ·ÂÇÏ´Â ¹æ¹ý¿¡ °üÇØ Áö½ÃÇÑ´Ù.

lprÀº ½ÇÇàµÇ¸é¼­ lpd°¡ Ãâ·ÂÀÛ¾÷À» ¸¶Ä¥ ¶§ ±îÁö (Ãâ·ÂÇϵµ·Ï) ÁöÁ¤µÈ ÆÄÀÏÀ» º¸°üÇÏ°í ÀÖµµ·Ï ƯÁ¤ÇÑ µð·ºÅ丮(½ºÇ® µð·ºÅ丮)·Î ÇØ´çÆÄÀÏÀ» º¹»çÇÑ´Ù. ÀÏ´Ü lpd°¡ Ãâ·ÂÇÒ ÆÄÀÏÀÌ ÀÖ´Ù°í Å뺸¹ÞÀ¸¸é ÀڽŠÀÚ½ÅÀ» º¹Á¦ÇÑ´Ù.(ÇÁ·Î±×·¡¸ÓµéÀÌ forkingÀ̶ó°í ÇÏ´Â °ÍÀÌ´Ù) º¹Á¦µÈ »çº»Àº ¿øº»ÀÌ º°µµÀÇ ¿ä±¸¸¦ ±â´Ù¸®´Â µ¿¾È ÇØ´çÆÄÀÏÀ» Ãâ·ÂÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á µ¿½Ã¿¡ ¿©·¯°³ÀÇ ÀÛ¾÷À» ´ë±â½Ãų ¼ö ÀÖ´Ù.

lpdÀÇ ¹®¹ý(lpd(1)ÀÇ ¸ÇÆäÀÌÁö Âü°í)´Â ¾ÆÁÖ °£´ÜÇÏ´Ù.

$ lpr [ options ] [ filename ... ]

ÆÄÀϸíÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì, lprÀº Ç¥ÁØÀÔ·Â(standard input) (´ë°³ Å°º¸µå ÀÔ·ÂÀ̰ųª ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ Ç¥ÁØÃâ·ÂÀÌ´Ù) ¿¡¼­ ÀԷ¹ޱ⸦ ±â´Ù¸°´Ù. ÀÌ°ÍÀº »ç¿ëÀÚ°¡ ´Ù¸¥ ÇÁ·Î±×·¥ÀÇ Ç¥ÁØÃâ·ÂÀ» Àü´Þ(redirect)ÇÏ¿© ÇÁ¸°ÅÍ ½ºÇ®·¯ (print spooler)¿¡°Ô Àü´ÞÇÏ´Â °ÍÀ» ´ÙÀ½°ú °°ÀÌ °¡´ÉÄÉ ÇÑ´Ù.

$ cat thesis.txt | lpr

¶Ç´Â,

$ pr -l60 thesis.txt | lpr

»ç¿ëÀÚ´Â ¸î°¡ÁöÀÇ ¸í·ÉÇà ¿É¼ÇÀ» ÀÌ¿ëÇÏ¿© lprÀÇ ÀÛµ¿À» Á¦¾îÇÒ ¼ö ÀÖ´Ù. °¡Àå ³Î¸® ¾²ÀÌ´Â ¿É¼ÇÀ¸·Î´Â ´ÙÀ½°ú °°´Ù. -PÇÁ¸°ÅÍÀ̸§ Àº »ç¿ëÇÒ ÇÁ¸°Å͸¦ ÁöÁ¤ÇÑ´Ù. -h ´Â burst page¸¦ Ãâ·ÂÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.(¿ø¹®: suppresses printing of the burst page) -s ¸¦ »ç¿ëÇϸé ÁöÁ¤µÈ ÆÄÀÏÀ» ½ºÇ® µð·ºÅ丮·Î º¹»çÇÏ´Â ¹æ¹ý ´ë½Å ½Éº¼¸¯ ¸µÅ©(symbolic link)¸¦ ÇÑ´Ù. (Å©±â°¡ Å« ÆÄÀÏÃâ·Â½Ã À¯¿ëÇÏ´Ù) -#°ªÀ» ÀÌ¿ëÇؼ­ Ãâ·ÂÇÒ ¹®¼­ÀÇ Àå¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. lpr°úÀÇ »óÈ£ÀÛ¿ë¿¡ ´ëÇÑ ¿¹Á¦´Â ´ÙÀ½°ú °°´Ù.

$ lpr -#2 -sP dj thesis.txt

À§ÀÇ ¸í·ÉÀº thesis.txt¸¦ ½ºÇ® µð·ºÅ丮·Î ½Éº¼¸¯¸µÅ©Çϸç dj ¶ó´Â À̸§À» °¡Áø (³í¸®»óÀÇ) ÇÁ¸°ÅÍ·Î Ãâ·ÂÇϴµ¥, ÀÌ´Â lpd¿¡ ÀÇÇؼ­ 󸮵ȴÙ. ±×·± ´ÙÀ½ thesis.txtÀ» µÎÀ徿 Ãâ·ÂÇÑ´Ù.

lpr¿¡¼­ »ç¿ë°¡´ÉÇÑ ¸ðµç ¿É¼ÇÀ» º¸±â À§Çؼ­´Â lpr(1)ÀÇ ¸ÇÆäÀÌÁö¸¦ Âü°íÇ϶ó.

2.3 lpq¸¦ ÀÌ¿ëÇÑ ÇÁ¸°Æ®Å¥ °üÂû(Print Queue with lpq)

ÇÁ¸°Æ®Å¥(print queue)ÀÇ ³»ºÎ¸¦ º¸±â À§Çؼ­ lpq ¸í·É¾î¸¦ ÀÌ¿ëÇÑ´Ù. ¿É¼Ç¾øÀÌ ½ÇÇà½ÃÅ°¸é ±âº»¼³Á¤µÈ(default) ÇÁ¸°ÅÍÅ¥ÀÇ ³»¿ëÀ» º¸¿©ÁØ´Ù.

lpq°¡ º¸¿©ÁÖ´Â ³»¿ëÀº ¿©·¯ °¡Áö Ãø¸é¿¡¼­ À¯¿ëÇÏ´Ù.

$ lpq
lp is ready and printing
Rank   Owner      Job  Files                            Total Size
active mwf        31   thesis.txt                       682048 bytes

2.4 lprmÀ» ÀÌ¿ëÇÑ ÇÁ¸°ÅÍ ÀÛ¾÷ Ãë¼Ò(Canceling a Print Job Using lprm)

ÇÁ¸°Æ® ½Ã½ºÅÛÀÇ À¯¿ëÇÑ ±â´ÉÀ¸·Î ÇÁ¸°Æ®Å¥¿¡ µé¾îÀÖ´Â ÇÁ¸°Æ® ÀÛ¾÷À» Ãë¼ÒÇÒ ¼ö ÀÖ´Â ±â´Éµµ ÀÖ´Ù. À̸¦ À§Çؼ­ lprmÀ» ÀÌ¿ëÇÑ´Ù.

$ lprm -

À§ÀÇ ¸í·ÉÀ» ½ÇÇàÇÑ »ç¿ëÀÚ¿¡°Ô ¼ÒÀ¯µÈ(owned) ¸ðµç ÇÁ¸°Æ® ÀÛ¾÷ÀÌ Ãë¼ÒµÈ´Ù. ´ÜÀÏ ÇÁ¸°Æ® ÀÛ¾÷Àº lprm¿¡°Ô lpq°¡ ¾Ë·ÁÁÖ´Â ÀÛ¾÷¹øÈ£¸¦ ÁöÁ¤ÇÏ¿© Ãë¼Ò½Ãų¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ ¿¹Á¦¸¦ Âü°íÇ϶ó.

$ lprm 31

ÀÛ¾÷¹øÈ£ 31(thesis.txt)À» Ãë¼Ò½ÃŲ´Ù.

2.5 lpc¸¦ ÀÌ¿ëÇÑ lpd Á¦¾î(Controlling the lpd program with lpc)

lpc(8)´Â lpd°¡ ó¸®ÇÏ´Â ÇÁ¸°Å͸¦ Á¦¾îÇϱâ À§ÇØ »ç¿ëµÈ´Ù. ÇÁ¸°ÅÍ ¶Ç´Â ÇÁ¸°Æ® Å¥¸¦ È°¼ºÈ­ ¶Ç´Â ºñÈ°¼ºÈ­½Ãų ¼ö ÀÖÀ¸¸ç, ÇÁ¸°Æ®Å¥ ³»ÀÇ ÀÛ¾÷¼ø¼­¸¦ »õ·Î ¹è¿­ÇÒ ¼ö ÀÖÀ¸¸ç, ÇÁ¸°ÅÍ¿Í ÇÁ¸°Æ®Å¥ÀÇ »óȲ¿¡ ´ëÇÑ º¸°í¸¦ ¹Þ¾Æ º¼ ¼ö ÀÖ´Ù. lpc´Â ÇÑ ´ëÀÇ ¸®´ª½º ¹Ú½º¿¡ ¿©·¯´ëÀÇ ÇÁ¸°ÅÍ°¡ ¿¬°áµÇ¾î ÀÖ´Â °æ¿ì¿¡ ¸¹ÀÌ »ç¿ëµÈ´Ù.

$ lpc

À§ÀÇ ¸í·ÉÀº lpc ÇÁ·Î±×·¥À» ±¸µ¿½ÃŲ´Ù. ±âº»¼³Á¤°ª(default)¿¡ ÀÇÇؼ­ »óÈ£ ´ëÈ­¸ðµå(interactive mode)°¡ µÇ¸ç, ¿©·¯ °¡Áö ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±× ¹Û¿¡ ¸í·ÉÇà ¿É¼ÇÀ¸·Î lpc ¸í·É¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

$ lpc status all

lpdÀÇ ¸ÇÆäÀÌÁö¿¡¼­ »ç¿ë°¡´ÉÇÑ ¸í·É¾î ¸ñ·ÏÀ» º¼ ¼ö ÀÖÁö¸¸, ÀÌ ±Û¿¡¼­´Â ²À ¹è¿ö¾ß ÇÒ ¸î°¡ÁöÀÇ ÇÙ½É ¸í··¾î¸¸ ÀÖ´Ù. optionÀ¸·Î Ç¥½ÃµÈ ºÎºÐ¿¡´Â ÇÁ¸°ÅÍÀÇ À̸§(lp, print, ps, ±âŸ)À̳ª ¸ðµç ÇÁ¸°Å͸¦ ÀǹÌÇÏ´Â Å°¿öµå allÀ» ÀÔ·ÂÇÏ¸é µÈ´Ù.


ÀÌÀüÆäÀÌÁö ´ÙÀ½ÆäÀÌÁö Â÷·Ê