Topic 107 Printingµ§°O Topic 107 Printing ¡P 1.107.2 Manage printers and print queues Description: The candidate should be able to manage print queues and user print jobs. This objective includes monitoring print server and user print queues and troubleshooting general printing problems. Key files, terms, and utilities include: lpc ¦Lªí¾÷±±¨î lpq ¦C¦L¦î¦CÅã¥Ü-l ¸Ô²Ó¸ê®Æ -P¦Lªí¾÷¦W -a ©Ò¦³¦C¦L¦î¦C lprm ¦C¦L¦î¦C§R°£ lpr ²æ¾÷¦C¦L -C class A(lowest)-Z(highest ) lpr -C B test.txt -h ¤£Åã¥Ütitle -K -# -P printer -T title ================================================================= Linux¤Uªº¦C¦L¤u§@ ¡@¡@¦bLinux¤U±Ä¥Î©PÃä¦P§@¡]spooling¡^¦C¦L¤èªk¡A·í¥Î¤á»Ý­n¦C¦L¤@­Ó¤å¥ó®É¡A¸Ó¤å¥ó¨Ã¤£ª½±µ°e¨ì¦Lªí¾÷¡A¦Ó¬O°e¨ìspool¥Ø¿ý¤U¡AµM«á¥Ñ¤@­Ó­t³d¦C¦Lªº«á»O¶iµ{§â³o¨Ç¸ê®Æ°e¤J¦Lªí¾÷¡C ¡@¡@Linux¹ï¨C¥x¦Lªí¾÷³£©w¸q¤F¤@­Ó¦C¦L½w½Ä°Ï¡A¦Lªí¾÷¦uÅ@µ{¦¡¸g±`±½´y¦C¦L½w½Ä°Ï¥H¬d¬Ý¦³µL­n¦C¦Lªº·s¤å¥ó¡C¦pªG¦s¦b¡A´N«ö¥ý¶i¥ý¥Xªº¶¶§Ç¦C¦L½w½Ä°Ï¤¤ªº¤å¥ó¡C ¡@¡@Linux¨t²Î°£¤F¥i¥H¦b¥»¦a¦Lªí¾÷¤W¦C¦L¥~¡AÁÙ¥i¥H³q¹Lºô¸ô¦Lªí¾÷»·ºÝ¦C¦L¡C ¡@¡@¥Î©ó¦C¦Lªº©R¥O ¡@¡@Linux¨t²Î´£¨Ñ¤F¤@²Õ¦³Ãö¦C¦Lªº©R¥O¡C¤@¯ë±¡ªp¤U¡A¦C¦L©R¥O¨Ï¥ÎÀq»{¦Lªí¾÷¡F¦pªG¥Î¤á©w¸q¤FPRINTERÀô¹ÒÅܼơA¦C¦L©R¥O´N¨Ï¥Î³o­ÓÅܼƩw¸qªº¦Lªí¾÷¡F¥t¥~¡A¥Î¤áÁÙ¥i¥H¦b©R¥O¦æ¤W«ü©w­n¨Ï¥Îªº¦Lªí¾÷¡C ¡@¡@lpr©R¥O ¡@¡@lpr©R¥O¬O²æ¾÷¦C¦L©R¥O¡A¸Ó©R¥O±N¦C¦L§@·~©ñ¨ì¦C¦L½w½Ä¦î¦C¤¤¡C?Linux¨t²Î«ü©wªº¨C¥x¦Lªí¾÷³£¦³¦Û¤vªº¦C¦L½w½Ä¥Ø¿ý¡A¨C­Ó¥Ø¿ý¤¤ªºminfree¤å¥ó«ü©w«O¦s¦C¦L¤å¥óªººÏ¤ù¶ôªº¼Æ¶q¡C lpr¦Plpd¦uÅ@¶iµ{³q°T¡Alpd±½´y/etc/printcap¤å¥ó¡A¬d¸ß¦Lªí¾÷¹ïÀ³ªº½w¦s¥Ø¿ý¡AµM«á¥Ñlpd±±¨î¦C¦L¡A±N»Ý­n¦C¦Lªº¸ê®Æ°e¨ì¹ê»Ú¦Lªí¾÷¤W¡C¦pªG¨S¦³«ü©w¤å¥ó¡Alpr´N¨Ï¥Î¼Ð·Ç¿é¤J¡C ¡@¡@lpr©R¥Oªº®æ¦¡?¡G lpr [-P printer] [#num] [¨ä¥L¿ï¶µ] [name¡K] ©R¥O¤¤¦U¿ï¶µªº§t¸q¦p¤U¡G ¡@¡@-P «ü©w¦Lªí¾÷¡C¦pªG¤£¥Î¦¹¿ï¶µ¡A«h¨Ï¥Î¯Ê¬Ù¦Lªí¾÷©ÎÀô¹ÒÅܼÆPRINTER«ü©wªº¦Lªí¾÷¡C ¡@¡@-m ¦C¦L§¹²¦«áµo°eemail¡C ¡@¡@-#num ¦C¦Lnum¥÷¡C ¡@¡@lpq©R¥O ¡@¡@lpq¬O½w½Ä¦î¦CÀˬd©R¥O¡A¥¦³q¹Llpd¦b½w½Ä°Ï¤¤Àˬd¦C¦L¤å¥ó¡A³ø§i«ü©w§@·~ªºª¬ºA©Î«ü©w¥Î¤áªº©Ò¦³§@·~¡C¤£±a¥ô¦ó°Ñ¼Æªºlpq©R¥OÅã¥Ü²{¦b¦î¦C¤¤ªº¥ô¦ó§@·~¡Clpq©R¥OªºÅã¥Üµ²ªG¤¤¤@­Ó­«­nªº¸ê°T´N¬O§@·~¼ÐÃѸ¹¡]§@·~ID¡^¡A¥¦¼ÐÃѤ@­Ó¯S©wªº§@·~¡C¦pªG¥Î¤á·Q¨ú®ø¤@­Ó¬E°_ªº§@·~¡A´N¥²¶·¦b©R¥O¤¤«ü©w³o­Ó¼ÐÃѸ¹¡C ¡@¡@lpq©R¥Oªº®æ¦¡?¡G lpq [-l] [-P printer] [job #] [user¡K] ©R¥O¤¤¦U¿ï¶µªº§t¸q¦p¤U¡G ¡@¡@-P «ü©w¤@­Ó¦Lªí¾÷¡A§_«h¨Ï¥Î¯Ê¬Ù¦Lªí¾÷©ÎÀô¹ÒÅܼÆPRINTER«ü©wªº¦Lªí¾÷¡C ¡@¡@-l ¦C¦L²Õ¦¨§@·~ªº©Ò¦³¤å¥óªº¸ê°T¡C ¹ï´£¥æªº¨C¤@­Ó§@·~¡Alpq³ø§i¥Î¤á¦W¡B¦b¦î¦C¤¤ªº¯Å§O¡B²Õ¦¨§@·~ªº¤å¥ó¡B§@·~¼ÐÃÑ¥H¤ÎÁ`ªº¤j¤pµ¥¸ê°T¡C ¡@¡@lprm©R¥O ¡@¡@lprm©R¥O¥Î©ó±q½w½Ä¦î¦C¤¤§R°£¦C¦L§@·~¡A¥Î¤á¥i¥H¨Ï¥Î¸Ó©R¥O±q½w½Ä¦î¦C¤¤§R°£ÄÝ©ó¦Û¤vªº¤@­Ó©Î¦h­Ó¦C¦L§@·~¡C ¡@¡@lprm©R¥Oªº®æ¦¡?¡G lprm [-P printer] [-] [job #] [user¡K] ©R¥O¤¤¦U¿ï¶µªº§t¸q¦p¤U¡G ¡@¡@-P «ü©w¤@­Ó¦Lªí¾÷¡A§_«h¨Ï¥Î¯Ê¬Ù¦Lªí¾÷©ÎÀô¹ÒÅܼÆPRINTER«ü©wªº¦Lªí¾÷¡C ¡@¡@- §R°£¥Î¤á©Ò¦³ªº¦C¦L§@·~¡C ¡@¡@user §R°£¦î¦C¤¤ÄÝ©ó¥Î¤áuserªº§@·~¡]¥u¦³¶W¯Å¥Î¤á¥i¥H³o¼Ë°µ¡^¡C ¡@¡@job # ³q¹L«ü©w§@·~¸¹#§R°£¬Y­Ó¦C¦L§@·~¡A§@·~¸¹¥i¥H³q¹Llpq©R¥O±o¨ì¡A¦p¡G ¡@¡@$ lpq -l ¡@¡@lst:ken [job #013ucbarpa] ¡@¡@¡]standard input¡^ 100 bytes ¡@¡@$ lprm 13 ¡@¡@¦C¦L½w½Ä°Ï¥Ø¿ý ¡@¡@¹ï¦C¦L¦Ó¨¥¡A¦³¤@­Ó«D±`­«­nªº¥Ø¿ý¡A´N¬O¦C¦L½w½Ä°Ï¥Ø¿ý¡A­n¦C¦Lªº¸ê®Æ¦b³Q¦C¦L¤§«e³£¶°¤¤¨ì³oùØ¡C³q±`¤@¥x¦Lªí¾÷¹ïÀ³¤@­Ó¦C¦L½w½Ä°Ï¥Ø¿ý¡A³o¼Ë¤ñ¸û®e©öºÞ²z¦Lªí¾÷¡C¨Ò¦p¡A¨t²Î¨Ï¥Î/var/spool/lpd§@?¥D¦C¦L½w½Ä°Ï¡A¨C­Ó³æ¿Wªº¦Lªí¾÷³£¦b¥D¦C¦L½w½Ä°Ï¤U¦³¤@­Ó»P³o¥x¦Lªí¾÷¦P¦Wªº¥Ø¿ý¡C¦]¦¹¡A¦W?ps_nffªº¦Lªí¾÷§â/var/spool/lpd/ps_nff§@?¥¦ªº¦C¦L½w½Ä°Ï¥Ø¿ý¡C lpc(8) µ{¦¡¥Î¨Ó±±¨î lpd ´£¨Ñ¦C¦Lªº¦C¦L¾÷¡C³q¹L lpc µ{¦¡¥i±±¨î¦C¦L¾÷ªº¦C¦L¥\¯à¡B¦C¦L¥ô°È¦C¶¤¡B­«·s¦w±Æ¦C¶¤¦¸§Ç©M´£¨Ñ¦C¦L¾÷©M¦C¶¤ª¬ªp¡C lpc ¦h¼Æ¥Î©ó³]¸m¨t²Î®É¤@¾÷°t¸m¦h¦C¦L¾÷ªº±¡ªp¡C $ lpc ¤W­z«ü¥O±Ò°Ê lpc µ{¦¡¡C¦b¤£³]¸m¥ô¦ó°Ñ¼Æªº±¡ªp¤U¡A³o¨Ï¥Î¤á¶i¤J¤¬°Ê¼Ò¦¡¡A¦¹«á¥i¶}©l¿é¤J«ü¥O¡C¨Ï¥Î lpc ªº¥t¤@­Ó¤è¦¡¬O±q«ü¥O¦æ¿é¤J°Ñ¼Æ¡C $ lpc status all ©Ò¦³¥i¥Îªº«ü¥O§¡¦b lpd ªº¨Ï¥Î»¡©ú¡]man page¡^¤º¥i¥H¬d¨ì¡C¦¹³B¦C¥X¤@¨Ç¥D­n«ü¥O¡C«ü¥O¤¤§@¬° ¿ï¶µ ¦C¥Xªº³¡¤À¥i¥H¬O¦C¦L¾÷¦W¡]lp¡Bprint µ¥¡^©ÎÃöÁä¦r all¡A¦¹³Bªí¥Ü©Ò¦³¦C¦L¾÷¡C disable ¿ï¶µ - ¤£Åý¦C¦L¾÷¦A±µ¨ü·sªº¦C¦L¥ô°È down ¿ï¶µ - °±¤î¦C¦L¾÷ªº¤@¤Á¦C¦L enable ¿ï¶µ - ¤¹³\¦C¦L¥ô°È¶i¤J¦C¦L¦C¶¤ quit (©Î exit) - °±¤î lpc ¹B¦æ restart ¿ï¶µ - ­«·s¶}©l¦C¦L¾÷ªº lpd status ¿ï¶µ - ¦L¥X¦C¦L¾÷ªº¾÷ªp up ¿ï¶µ - ­«·s°_©l¨Ã¶}©l·sªº lpd abort topq hold ============================================================== ¡P 1.107.3 Print files Description: Candidates should be able to manage print queues and manipulate print jobs. This objective includes adding and removing jobs from configured printer queues and converting text files to postscript for printing. Key files, terms, and utilities include: lpr lpq mpage §â¦h­¶¤º®e¦C¦L¦b¤@±i¯È¤W ¡P 1.107.4 Install and configure local and remote printers Candidate should be able to install a printer daemon, install and configure a print filter (e.g.: apsfilter, magicfilter). This objective includes making local and remote printers accessible for a Linux system, including postscript, non-postscript, and Samba printers. Key files, terms, and utilities include: lpd checkpc ÀËÅç/etc/printcap /etc/printcap ~/printcap /etc/apsfilter/*/ /var/lib/apsfilter/*/ /etc/magicfilter/*/ /var/spool/lpd/*/ /etc/lpd.conf LPRng config ============================================================ Q1. ³o­Ó¨t²Î«ç?³o?Äê¡H¥u¯à¦C¦L 6 ­¶¡A¶W¹L 6 ­¶´NÅã¥Ü¡§file too large ¡]¤åÀɤӪø¡^¡¨¡C A5. ¦b /etc/printcap Àɤ¤¦³¤@­Ó°Ñ¼Æ»P¦C¦Lªº¤åÀɪø«×¦³Ãö¡C¹w³]­È¬O 1000 ½L°Ï¡]¬ù 500 k¡^¡C¹ï PostScript ³oÃþ¤åÀɦӨ¥¡A³o¤j¬ù¬O 7-8 ­¶¥ª¥kªºªø«×¡C¦]¦¹°È¥²¦b¦Lªí¾÷ªº³]©w¤¤¥[¤J¤U¦C¤º®e¡G mx=0 ªþ¥[³o­Ó«ü¥Oªº¥D­n­ì¦]¬O¤£¨Ï¥Î©PÃä¦P§@¡C¥t¤@­Ó§¹¦¨³o¶µ¤u§@ªº¤èªk¬O¥Î lpr ¦b©PÃä¦P§@¥Ø¿ý¤º¹ï¦C¦Lªº¤åÀɥͦ¨³n³s±µ¡C°È¥²°O±o¨C¦¸§¡»Ý¦b lpr «ü¥O¤¤¨Ï¥Î -s ¿ï¶µ¡C Q2. ¤°?¬OÅ]³N¿zÀ˵{¦¡¡]magic filter¡^¡H A3. Å]³N¿zÀ˵{¦¡¬O¤@ºØ®Ú¾Ú¤åÀɪººØÃþ±Ä¨ú¦æ°Êªº¿zÀ˵{¦¡¡C¨Ò¦p¡A¦pªG¤åÀɬO¨S¦³±Æª©®æ¦¡ªº¤å¥»¤åÀɮɡA«h§Q¥Î¤@¯ë¦C¦L¤è¦¡¦C¦L¡C¦pªG¤åÀɬO PostScript ¤åÀɩΨä¥L®æ¦¡¤åÀÉ¡A«h¥Î¨ä¥L¤è¦¡¦C¦L¡] ghostscript ¡^¡C±`¥ÎªºÅ]³N¿zÀ˵{¦¡¦³ magicfilter ©M APSfilter¡C¨Ï¥Î³oÃþ¿zÀ˵{¦¡ªº¤@¶µ­nÂI¬O¦b¦w¸Ë¿zÀ˵{¦¡¤§«e¥²»Ý¥ý¦w¸ËÀ³¥Î³nÅé¡C »Ý­nª`·N³o¶µ­nÂIªº²z¥Ñ¬O¦b¦w¸Ë magicfilter ®É¡A³o­ÓÅ]³N¿zÀ˵{¦¡·|¬d¸ß¨t²Î¤¤¸Ë¦³¦óºØ¦C¦Lµ{¦¡¡]¨Ò¦p ghostscript¡A¦pªG§ä¨ì ghostscript¡A«h magicfilter ´Nª¾¹D¥¦¯à³B²z PostScript ®æ¦¡ªº¤åÀÉ¡^¡AµM«á®Ú¾Ú§ä¨ìªº¦C¦Lµ{¦¡§@¥X¬ÛÀ³ªº³]©w¡C¦pªG¨t²Î­n³B²z©Ò¦³¦C¦L¤åÀÉ¡A¥i¯à¦Ü¤Ö±o¦w¸Ë¤U¦Cµ{¦¡¡G GhostScript TeX NetPBM jpeg utilities ¡]Ķª`¡Gjpeg ¤u¨ã³nÅé¡^ gzip Ghostscript ¬O PostScript ¦Lªí¾÷Ãþ¤ñµ{¦¡¡A³z¹L³nÅéÃþ¤ñ¡A¥i¥HÅý«D PostScript ¦Lªí¾÷¡A¤]¯à¦L¥X PostScript ¤å¥ó¡C ======================================================================== /etc/printcap;/etc/printcap.local (¥Î¤áÀ³¸Ó­×§ï/etc/printcap.local,¦Ó¤£¬O;/etc/printcap) °ò¥»¤W, ­n¼W¥[¤@­Ó¦C¦L¦î¦C, §A¥²¶·¦b /etc/printcap ¤¤¥[¤@µ§°O¿ý, ¥H¤Î¦b /var/spool/lpd ¤§¤U«Ø¥ß¤@­Ó¦C¦L¼È¦s¾¹ªº¤u§@¥Ø¿ý(spool directory). /etc/printcap ¤¤ªº°O¿ý¬Ý°_¨Ó¹³³o­Ó¼Ë¤l: # LOCAL djet500 lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :sh: ³o­Ó¨Ò¤l©w¸q¤F¤@­Ó¦W¬° lp, dj, ©Î¬O deskjet ªº¦C¦L¼È¦s¾¹, ¼È¦s¾¹ªº¤u§@¥Ø¿ý¦b /var/spool/lpd/dj, ¨S¦³³æ¤@¤u§@¤j¤pªº¤W­­, ¦C¦Lªº¸Ë¸m¬O /dev/lp0, ¦Ó¥B¤£·|¦b¨C¤@­Ó¤u§@¤§«e¥[¤W¼ÐÃD­¶ (¦³µÛ¦C¦L¤Hªº©m¦W¤§Ãþªº¸ê®Æ). ¤W­±³o­Ó¨Ò¤l¬Ý°_¨Ó«D±`²³æ, ¦ý¬O¦³¤@­Ó°ÝÃD - °£«D DeskJet 500 ¯à¬ÝÀ´§Ú°e¥X¥hªºÀÉ®×, §_«h«K·|¦L¥X¶Ã½X. Á|¨Ò¨Ó»¡, °²¦p°e¤@­Ó¶Ç²Îªº Unix ¤å¦rÀÉ®×µ¹ deskjet ·|¾É­P·s¦æ¦r¤¸(newline) ³Q³v¦r¦C¦L, ¦Ó±o¤U­±ªºµ²ªG: This is line one. This is line two. This is line three. ¦P¼Ëªº, ¦C¦L¤@­Ó PostScript Àɨì³o­Ó¦C¦L¼È¦s¾¹·|±o¨ì¦P¼Ë¶¥±èª¬ªº PostScript ©R¥O¦Cªí, ¦Ó¤£¬O§Ú­Ì»Ý­nªºµ²ªG. «ÜÅãµM§Ú­ÌÁٻݭn¨Ç¤°»ò, ³o´N¬O filtering ªº¥Øªº. ¬Ý¹L printcap ½u¤W¤âÉmªº¤ñ¸û²Ó¤ßªºÅªªÌ¥i¯à¤w¸gª`·N¨ì if ¤Î of ³o¨â­ÓÄÝ©Ê. ¨ä¤¤ªº if, input filter ´N¬O§Ú­Ì²{¦b©Ò»Ý­nªº. °²¨Ï§Ú­Ì¼g­Óµuµuªº shell script ¥s filter ¨Ï¤§¦b·s¦æ¦r¤¸¤§«e¥[¤W¦^¨®¦r¤¸(carriage return), ´N¥i¥H®ø°£¶¥±èª¬. ©Ò¥H§Ú­Ì¥²¶·¦b«e­±ªº printcap ªº°O¿ý¤¤¥[¤W if ³o¤@¦æ: lp|dj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0:\ :lp=/dev/lp0:\ :if=/var/spool/lpd/dj/filter:\ :sh: ³o­Óµuµuªº filter script ¥i¥H¬O: #!perl # The above line should really have the whole path to perl # This script must be executable: chmod 755 filter while(<STDIN>){chop $_; print "$_\r\n";}; # You might also want to end with a form feed: print "\f"; °²¦p§Ú­Ì·Ó¤W­±ªº¤èªk, §Ú­Ì´N·|±o¨ì¤@­Ó¯à¥¿±`¦L¥X´¶³q Unix ¤å¦rÀɪº¦C¦L¼È¦s¾¹. (ÁÙ¦³¨ä¥L¥|¦Ê¸UºØ§ó¦nªº¤èªk¨Ó¼g³o­Ó©R¥O½Z, ¦ý¬O³o­Ó«Ü¾A¦XÁ|¨Ò, §A¥i¥H¦Û¤v¼g¤@­Ó§ó¦³®Ä²vªº.) ³Ñ¤Uªº°ß¤@°ÝÃD¬O¥u¯à¦L¥X¯Â¤å¦rÀɹê¦b¬O¤£°÷¦n - ¦pªG¯à°÷¦L¥X PostScript ©Î¬O¨ä¥L®æ¦¡¤Æªº©Î¬O¹Ï§Î¿é¥X´N§ó´Î¤F. ³o¥i¥H°µªº¨ì, ¤]«Ü®e©ö°µ¨ì. ¤èªk´N¬O©µ¦ù«e­±ªº filter. ¦pªG§A¼g¥X¤@­Ó¯à±µ¨ü¥ô·NÀɮ׮榡, µM«á°w¹ï¨CºØ±¡ªp³£¥i¥H²£¥Í DeskJet ©Ò­nªº¸ê®Æªº filter, ¨º§A´N¦³¤F¤@­Ó´¼¼z«¬ªº¦C¦L¼È¦s¾¹. ³oºØ filter ºÙ¤§¬° magic filter. §AµL»Ý¦Û¤v¼g¤@­Ó, °£«D§A­n¦LªºªF¦è«Ü©_©Ç. ºô¸ô¤W¤w¸g¦³«Ü¦h¼g¦nªº, APS Filter ´N¬O«D±`´Îªº¤@­Ó. ¤]»¡¤£©w§Aªº Linux µo¦æª©¥»(distribution) ¤w¸g¥]¬A¤F¤@­Ó¦Lªí¾÷³]©w¤u¨ã¨Ï±o³o¤@¤Á³£«Ü®e©ö. # /etc/printcap PS|PostScript:\ :sd=/var/spool/lpd/postscript:\ spool¥Ø¿ý :mx#0:\ ³Ì¤j¥ô°È :lp=/dev/lp0:\ ¦C¦L°ð :if=/var/spool/lpd/postscript/filter:\ ¦C¦L¿zÀ˵{¦¡ :sh:\