\documentclass[letterpaper]{article}
\nonstopmode
\akai
\usepackage{linuxdoc-sgml}
\usepackage{qwertz}
\usepackage{url}
\usepackage[latin1]{inputenc}
\usepackage{t1enc}
\usepackage[english]{babel}
\usepackage{epsfig}
\usepackage{null}
\def\addbibtoc{
\addcontentsline{toc}{section}{\numberline{\mbox{}}\relax\bibname}
}%end-preamble
\setcounter{page}{1}
\title{The Linux Printing HOWTO ¤¤¤åª©}
\author{§@ªÌ : Grant Taylor {\ttfamily \onlynameurl{{$<$}gtaylor+pht@picante.com{$>$}}}\\ 
Ä¶ªÌ : ¥ô«í¦t {\ttfamily \onlynameurl{{$<$}henryjen@mail.net.tw{$>$}}}}
\date{v3.29, 9 March 1999
Â½Ä¶¤é´Á : 15 ¤»¤ë 1999}
\abstract{³o¤@½g¬O Linux Printing HOWTO ªº¤¤Ä¶¥», ¤º®e¥]¬A¤F¦p¦ó¦b Linux ¤§¤U²£¥Í,
¹wÄý,¦C¦L¤Î¶Ç¯u¥ô¦ó¤å¥óªº¬ÛÃö¸ê°T (°ò¥»¤W¥ç¥i¾A¥Î©ó¨ä¥Lªº Unices).}


\begin{document}
\maketitle
\tableofcontents

\section{Â²¤¶}

³o¥÷ Printing HOWTO À³¸Ó¥]¬A¤F¯àÀ°§U§A¦b Linux ¥­¥x¤W¬[³]¦C¦LªA°Èªº©Ò¦³°T®§.
³o¤£¹³¦b Microsoft ©Î Apple Àô¹Ò¤U¥Î·Æ¹«ÂI¿ï¨º»ò®e©ö, 
¦ý¤@©w¤ñºÞ²z¤@­Ó¤j«¬ªº°Ï°ìºô¸ô¨Ó±o»´ÃP.

³o¥÷¤å¥óªº½s±Æ¤è¦¡¬O§Æ±æ¯àÅý¤j³¡¥÷ªº¨Ï¥ÎªÌ¥u¶·¾\Åª«e¥b¬q.
¸ûÃø²z¸Ñªº­Ó®×±¡ªp«hÂ\¦b«á¥b¬q, ¦Ó¥B§A¥i¥H«Ü®e©ö¦a±q¥Ø¿ý¤¤§ä¨ì.
©Ò¥H¤j³¡¥÷¤H¥i¯à¥u¶·¬Ý¨ì²Ä¤E©Î¤Q¸`´N¥i¥H¤F.

¦]¬° 3.x ª©ªº¤å¥ó­«·s¼g¹L, «e­±ª©¥»¤¤ªº³\¦h¤º®e¤w¸g®³±¼¤F.
³o¬O¬G·Nªº, ¦]¬°«eª©ªº HOWTOs ªø¹F 60 ¦h­¶, ¦Ó¥B½s±Æ¤è¦¡¨Ã¤£¬O«Ü²z·Q.
¦pªG§A¦b³o¥÷¤å¥ó¤¤§ä¤£¨ì©Ò»Ýªºµª®×, §A¥i¥H a) °Ñ¾\¦ì©ó \nameurl{http://www/picante.com/~gtaylor/pht/}{Printing HOWTO Home Page}
ªºÂÂª©¤å¥ó. ¤]¥i¥H b) §i¶D§Ú¯Ê¤Ö¤F¤°»ò³¡¥÷.

§A¥i¥H¦b \nameurl{http://www.picante.com/~gtaylor/pht/}{Printing HOWTO Home Page} §ä¨ì³o¥÷¤å¥óªº³Ì·sª©¥»; ·íµM§A¤]¥i¥H¦b
Metalab ({\ttfamily metalab.unc.edu}) ©Mªþªñªº LDP mirror ¯¸§ä¨ì.




\subsection{¾ú¥v}

³o¬O²Ä¤T¥Nªº Printing HOWTO, ¤]´N¬O²Ä¤T¦¸ªº§¹¥þ§ïª©, ¥H¦~¥÷¨Ó¬Ý:
\begin{enumerate}
\item §Ú¦b 1992 ¦~¦]¬°¬Ý¨ì¦b comp.os.linux ¦³«Ü¦hÃö©ó¦C¦Lªº°ÝÃD, 
«K¼g¤U¨Ãµoªí¤F printing-howto. ¤ñ HOWTO ­pµeÁÙ¦­´X­Ó¤ë, ¦P®É¤]¬O²Ä¤@¥÷ºÙ¬°
`howto' ªº±`¨£°Ýµª¶°. ³o¤@ª©¬O¯Â¤å¦r®æ¦¡.
\item ¥[¤J¤F HOWTO ­pµe«á, Printing-HOWTO ©M¥Ñ Brian McCauley 
{\ttfamily $<$B.A.McCauley@bham.ac.uk{$>$}} ©Ò¼gªº Lpd FAQ ¦X¨Ö; §Ú­ÌÄ~Äò¦X¼g PHT
®t¤£¦h¨â¦~. ¦³¨Ç¦a¤è«h¯Ç¤J¤F Karl Auer {\ttfamily $<$Karl.Auer@anu.edu.au{$>$}} ªº§@«~.
³o¤@ª©ªº PHT ¬O¥H TeXinfo ¼g¦¨, ¤]´£¨Ñ¤F PS, HTML, Ascii ©M Info ªºª©¥».
\item ¦b PHT ¸g¹L¤@¦~¦hªº®É¶¡³vº¥¦¨¼ô¥H¤Î¤@¦¸¹Á¸Õ²¾Âàµ¹§O¤HºûÅ@ªº¥¢±Ñ¸gÅç«á,
²£¥Í¤F³o¥÷­«·s§ïª©. ³o¤@ª©ªº PHT ¬O¥Î LinuxDoc DTD ©M SGML-Tools-1 ®M¥ó¥H SGML
©Ò¼g¦¨ªº. ±q 3.27 ª©¶}©l, ¯Ç¤J¤F¤@¥÷¤ä´©¦Lªí¾÷¸ê®Æ®wªººK­n; ¦b 3.27 ª©¤§«e,
³o¥÷ HOWTO ¤¤±q¨Ó¨S¦³¤@¥÷¬Û®e¦Lªí¾÷²M³æ (!).
\end{enumerate}



\subsection{ª©ÅvÁn©ú}

³o¥÷¤å¥óªºª©Åv (c) 1992-1999 ¬° Grant Taylor ©Ò¦³. §A¥i¥H¨Ì·Ó GNU General
Public License, revision 2 ©Î¤§«áª©¥»¤¤ªº±ø´Ú¦Û¥Ñ¦a½Æ»s»P´²§G.

This document is Copyright (c) 1992-1999 by Grant Taylor.  Feel free
to copy and redistribute this document according to the terms of the
GNU General Public License, revision 2 or later.


\section{¦p¦ó¦C¦L}

¦pªG§A©Î§Aªº¨t²ÎºÞ²zªÌ©Î¼t°Ó¤w¸g³]©w¦n lpd ªº¸Ü, §A©Ò»Ý­n°µªº«K¥u¬O¾Ç²ß¦p¦ó¨Ï¥Î
lpr «ü¥O¦Ó¤w. \nameurl{http://metalab.unc.edu/LDP/HOWTO/Printing-Usage-HOWTO.html}{Printing Usage HOWTO} 
¥]§t¤F³o³¡¥÷ªº¸ê°T, ÁÙ¦³¤@¨Ç§A¥i¯àÀ³¸Ó­nª¾¹Dªº¦C¦L¦î¦C³B²z«ü¥O.

¦pªG§A¦³¤@­Ó¥þ·s¨t²Î©ÎªÌ·sªº¦Lªí¾÷, ¨º§A´N¥²¶·¦b¶}©l¦C¦L«e¥ý³]©w¦n¦C¦LªA°È.
¦pªG¬O³o¼Ë, ½ÐÄ~Äò¬Ý¤U¥h!




\section{®Ö¤ß¦Lªí¾÷¸Ë¸m}

¥­¦æ°ð¦³¨âºØ§¹¥þ¤£¦Pªº¸Ë¸mÅX°Êµ{¦¡; §Aªº®Ö¤ßª©¥»¨M©w¤F§A¥Îªº¬O¨º¤@ºØ.
ÅX°Êµ{¦¡¬O¦b Linux 2.1.33 ª©©Ò°µªº§ïÅÜ.

¨âºØÅX°Êµ{¦¡ªº«¬ºA¶È¦b«Ü¤Öªº¤@¨Ç²Ó¸`¤W¬Û¦P. ³Ì­È±oª`·Nªº¬O,
³\¦h¤Hµo²{ Linux ¤£·|°»´ú¥L­Ìªº¥­¦æ°ð°£«D¥L­Ì¦b PC BIOS ªº³]©w¤¤§â
"Plug and Play" Ãö±¼. (³o¤@ÂI¤]¤£¥O¤HÅå³Y; ¹L¥hªº°O¿ýÅã¥Ü¦b Windows
©M¨ä¥¦¦a¤è¹ï«D PCI ¸Ë¸mªº PnP ¤w¸g¦¨¤F¬YºØ¨aÃø).




\subsection{lp ¸Ë¸m (®Ö¤ßª©¥» $<$=2.1.32)}

°²¦p§A¤w¸g½sÄ¶©Î¸ü¤J¤F lp ¸Ë¸m(¦pªG¸ü¤J¤Fªº¸Ü, {\ttfamily cat /proc/devices}
ªºµ²ªGÀ³¸Ó·|¬Ý¨ì lp), Linux ®Ö¤ß ($<$=2.1.32) ·|´£¨Ñ¤@­Ó©Î¦h­Óªº
{\itshape /dev/lp0\/}, {\itshape /dev/lp1\/}, {\itshape /dev/lp2\/} ¸Ë¸mÀÉ®×.
³o¨ÇÀÉ®×¤£¬OÀH·N«ü©wªº, ¬Û¤Ïªº, ¨C¤@­ÓÀÉ®×¬Ò¹ïÀ³¨ì¤@­Ó¯S©wªº I/O ¦ì§}.
³oªí¥Ü§Aªº²Ä¤@³¡¦Lªí¾÷¥i¯à¬O {\itshape lp0\/} ©Î {\itshape lp1\/}, §¹¥þµø§AªºµwÅé±¡ªp¦Ó©w.
¨â­Ó³£¸Õ¸Õ¬Ý§a!

¦³¨Ç¨Ï¥ÎªÌ´£¨ì¦pªG¨Ï¥Î¸ûÂÂªº³æ¦V¦Lªí¾÷³s±µ½u,
´NµLªk°»´ú¨ì¥L­ÌªºÂù¦V¦Lªí¾÷³s±µ°ð. ½T©w§A¨Ï¥Î¤F¥¿½Tªº³s±µ½u.

¤@­Ó¦Lªí¾÷°ð¤£¯à¦P®É¸ü¤J plip ©M lp ªºÅX°Êµ{¦¡, ¦pªG§A¥Îªº¬O 2.x ©Î¬O 1.3.x
ª©¥H«áªº®Ö¤ß, §A¥i¥H¥Î¤â°Ê©Î®Ö¤ßªº¤è¦¡¿ï¾Ü¸ü¤J¤£¦PªºÅX°Êµ{¦¡.
¥u­n¤p¤ßªº³]©w¤¤Â_µ¥³]©w, §AÀ³¸Ó¥i¥H¦b¤@­Ó°ð¤W°õ¦æ plip, ¦Ó¦b¥t¤@­Ó°ð¤W¸ü¤J
lp ªºÅX°Êµ{¦¡. ´¿¸g¦³¤H­×§ïÅX°Êµ{¦¡¦Ó¦¨¥\;
§Ú§Æ±æ¯à¦­¤éÅ¥¨ì¦³¤H¥H¤@­ÓÂ²³æªº«ü¥O§¹¦¨¬Û¦Pªº¨Æ±¡.

¦³¤@­Ó¤pµ{¦¡ {\ttfamily \onlynameurl{tunelp}}, ¦pªG§A¬O root, ¥i¥H¥Î¨Ó³]©w Linux 2.0 lp ¸Ë¸m¨Ï¥Îªº¤¤Â_
(interrupt), ½ü¸ß³t²v(polling rate) ©M¨ä¥¦ªº¶µ¥Ø.

­Y¬O®Ö¤ß½sÄ¶®É¥]¬A¤F lp ÅX°Êµ{¦¡, ®Ö¤ß±µ¨ü {\ttfamily lp=}
°Ñ¼Æ³]©w¤¤Â_¤Î IO ¦ì§}:
\begin{tscreen}
\begin{verbatim}
­Y±N lp ÅX°Êµ{¦¡½sÄ¶¤J®Ö¤ß, §A¥i¥H¥Î LILO/LOADLIN ªº©R¥O¦C¨Ó«ü©w¨Ï¥Îªº
IO ¦ì§}¤Î¤¤Â_.

»yªk:      lp=port0[,irq0[,port1[,irq1[,port2[,irq2]]]]]

½d¨Ò:   lp=0x378,0   ©Î   lp=0x278,5,0x378,7 **

­nª`·Nªº¬O°²¦p§A¨Ï¥Î³o­Ó¥\¯à, §A¥²¶·«ü©w *©Ò¦³* ­n¥Îªº¦Lªí¾÷°ð,
¨t²Î¤£´£¨Ñ¹w³]­È. §A¥i¥H¥Î lp=0 ¨Ó°±¥Î¤º«ØªºÅX°Êµ{¦¡.
\end{verbatim}
\end{tscreen}


­Y¬O¥H¸ü¤J¼Ò²Õªº¤è¦¡°õ¦æ, ¥i¥H¦b insmod
«ü¥Oªº©R¥O¦C(©Î¬O¦b {\itshape /etc/conf.modules\/} ¨Ó¼ÒÀÀ®Ö¤ß¼Ò¦¡)
¥H¥­±`¼Ò²Õ°Ñ¼Æªº»yªk¨Ó«ü©w IO ¦ì§}©M¤¤Â_.
°Ñ¼Æ¬° {\ttfamily io=port0,port1,port2}
©M {\ttfamily irq=irq0,irq1,irq2}. ½Ð°Ñ¦Ò {\itshape \onlynameurl{insmod}\/} ªº½u¤W¤âÉm¥H¨ú±o§ó¶i¤@¨Bªº¸ê°T.



**µ¹¨º¨Ç·í»Ý­n®É«oÁ`¬O§ä¤£¨ì¼Ð·Ç¦Lªí¾÷°ð¦ì§}ªº¤H, ¦ì§}«K¦p¦P²Ä¤G­Ó½d¨Ò¤¤©Ò¥Ü,
¥t¤@­Ó¦Lªí¾÷°ð ({\itshape lp0\/}) «h¦b 0x3bc. §Ú¤£ª¾¹D¤@¯ë©Ò¥Îªº¤¤Â_¬O¨º¤@­Ó.



Linux 2.0 ¨Ã¦C°ðÅX°Êµ{¦¡ªº­ì©l½X¦b /usr/src/linux/drivers/char/lp.c.




\subsection{parport ¸Ë¸m (®Ö¤ßª©¥» $>$= 2.1.33)}

±q 2.1.33 ª©¥»«áªº®Ö¤ß(2.0.30 ª©®Ö¤ß¥i¨ú±o­×¥¿ÀÉ), lp 
¸Ë¸m¦¨¬°·s¼W¥[ªº parport ¸Ë¸mªº«È¤áºÝ. ¼W¥[ parport 
¸Ë¸m¸Ñ¨M¤F³\¦h§xÂZÂÂ¦³ lp ¸Ë¸mÅX°Êµ{¦¡ªº°ÝÃD - 
¹³¬O¥i¥H©M¨ä¥¦ªºÅX°Êµ{¦¡¦@¥Î¤@­Ó³s±µ°ð,
¥i¥H°ÊºA«ü©w¥i¥Îªº¨Ã¦C°ð¦Ó¤£¶·±N¸Ë¸mÀÉ¹ïÀ³¨ì©T©wªº I/O 
¦ì§}µ¥µ¥.

parport ¸Ë¸mªº¥X²{¨Ï±o«Ü¦h·sªº¨Ã¦C°ð³]³Æ, ¹³¬O Zip ºÏºÐ¾÷, 
¥iÄâ¦¡ CD-ROM ©MºÏºÐ¾÷µ¥µ¥, ªºÅX°Êµ{¦¡±o¥H¥X²{. 
¨ä¤¤¤@¨Ç¤]¦³´£¨Ñ 2.0 ®Ö¤ß¥i¥Îªºª©¥», ¨ìºô¸ô¤W§ä§ä¬Ý§a.

§A·|ª`·N¨ìªº¥D­n®t²§, ¥H¥Ø«e¦C¦L¨Ó¬Ý, ¬O°ò©ó parport
ªº®Ö¤ß·|°ÊºA¦a«ü©w lp ¸Ë¸mµ¹¥­¦æ°ð. ©Ò¥H¦b Linux 2.0 ¤¤ªº lp1 ¦b Linux 2.2
¤¤¥i¯à¬O lp0. ¦pªG§A±q¨Ï¥Î lp ÅX°Êµ{¦¡ªº®Ö¤ß¤É¯Å¨ì¨Ï¥Î parport
ÅX°Êµ{¦¡ªº®Ö¤ß, °O±oÀË¬d³o¤@ÂI.

·í§Ú¨Ï¥Î¤F parport ÅX°Êµ{¦¡«á, §Ú·|§ó§¹¾ã¦a±´°Q¥¦.
¥Ø«e§A¥i¥H¬Ý¤@¤U®Ö¤ß­ì©lÀÉ¤¤ªº \onlynameurl{Documentation/parport.txt}. ©ÎªÌ§A¤]¥i¥H¨ì \nameurl{http://www.cyberelk.demon.co.uk/parport.html}{parport web site} ¬Ý¬Ý.




\subsection{§Ç¦C¸Ë¸m(Serial devices)}

§Ç¦C¸Ë¸m¦b Linux ¤¤³q±`¦³­Ó¹³ {\itshape /dev/ttyS1\/} ³oÃþªº¦WºÙ. {\ttfamily \onlynameurl{stty}} ³o­Ó¤u¨ãµ{¦¡¥i¥HÅý§A¬d¬Ý¤Î³]©w§Ç¦C°ð.
{\ttfamily \onlynameurl{setserial}}
¥i¥HÅý§A½Õ¾ã§ó¦hªºÄÝ©Ê¤Î³]©w¨Ï¥Î«D¼Ð·Çªº IRQ ¤Î I/O ¦ì§}ªº§Ç¦C°ð.
\nameurl{http://metalab.unc.edu/mdw/HOWTO/Serial-HOWTO.html}{Serial-HOWTO} 
·|¹ï Linux ¤Uªº§Ç¦C°ð°µ§ó¶i¤@¨Bªº±´°Q.



¦pªG§A¨Ï¥Îªº¬O¦³¬y¶q±±¨îªººC³t§Ç¦C¦Lªí¾÷, ¥i¯à·|µo²{¦³¨Ç³øªí³QºIÂ_.
³o¬O¦]¬°¨t²Î¹w©w¦bµ{¦¡Ãö³¬§Ç¦C°ð 30 ¬í«á, 
©Ò¦³¦b½w½Ä°Ï¤º©|¥¼¶Ç°eªº¦r¤¸³£·|³Q²M°£. ½w½Ä°Ï¤º¥i®e¯Ç³Ì¦h 4096 
­Ó¦r¤¸, °²¨Ï§Aªº¦Lªí¾÷¨Ï¥Î¬y¶q±±¨î, ¦Ó¥BºC¨ìµLªk¦bµ{¦¡Ãö³¬§Ç¦C°ð«á 30 
¬í¤º¦L¥X½w½Ä°Ï¤ºªº©Ò¦³¦r¤¸, ¨º»ò½w½Ä°Ï¤º³Ì«áªº¤º®e´N·|¿ò¥¢. ¦pªG
{\ttfamily cat file $>$ /dev/ttyS2}
³o­Ó«ü¥O¥i¥H§¹¾ã¦L¥X¸û¤pªºÀÉ®×, ¦ý·|ºIÂ_¸ûªøªºÀÉ®×®É, 
§A¥i¯à´N¬O¹J¨ì¤F³oºØ±¡ªp.



30 ¬íªº¶g´Á¥i¥H¥Î setserial (2.12 ¤Î¥H«áªºª©¥») «ü¥Oªº "closing\_wait" 
¿ï¶µ¨Ó½Õ¾ã. ¤@¥x¾÷¾¹³q±`¬O¦b rc.serial ¶}¾÷ÀÉ¤¤©I¥s setserial
¨Óªì©l¤Æ§Ç¦C°ð. ¥i¥H¦b³o­×§ï³s±µ¦Lªí¾÷ªº§Ç¦C°ðªº closing\_wait ¿ï¶µ.




\section{¤ä´©ªº¦Lªí¾÷}

Linux ®Ö¤ß¤j­P¤W¤ä´©©Ò¦³¯à°÷±µ¨ì§Ç¦C©Î¨Ã¦C°ðªº¦Lªí¾÷, 
¦ýÁÙ¬O¦³¨Ç­nª`·Nªº¨Æ¶µ, ©M¤@¨ÇÁöµM¯à»P Linux ·¾³q(´N¹q¤l°T¸¹¦Ó¨¥)
«oµLªk¨Ï¥Îªº¦Lªí¾÷.
»P Linux ¤£¬Û®eªº¥D­n¬O¨º¨Ç³QºÙ¬° "Windows" ©Î¬O "GDI" ¦Lªí¾÷ªº¾÷ºØ.
¥¦­Ì¤§©Ò¥H·|³Q³o¼ËºÙ©I¬O¦]¬°³¡¥÷,
¬Æ¦Ü¥þ³¡ªº¦Lªí¾÷±±¨î»y¨¥©M¦C¦L¾÷¨îªº³]­p²Ó¸`³£¯Ê¥F»¡©ú¤å¥ó.
³q±`³oºØ¼t°Ó·|´£¨Ñ Windows ªºÅX°Êµ{¦¡, ¦Ó¥B¤]«Üº¡¨¬©ó¥u½æµ¹ Windows
ªº¨Ï¥ÎªÌ; ³o´N¬O¬°¤°»ò¥¦­Ì³QºÙ¬° Winprinters.
¬Y¨Ç®É­Ô¼t°Ó¤]·|´£¨Ñ NT, OS/2 ©Î¨ä¥¦§@·~¨t²ÎªºÅX°Êµ{¦¡.

³\¦h³oºØ¦Lªí¾÷¦b Linux ¤U{\itshape ¤£¯à¥Î\/}.
¦³¤Ö³¡¥÷ªº¥i¥H, ¤]¦³¤@¨Ç¥u¦³³¡¥÷¥\¯à¥i¥Î
(³q±`¬O¥Ñ©ó¦³¤H°w¹ï¼gÅX°Êµ{¦¡©Ò»Ýªº²Ó¸`¶i¦æ¤Ï¦V¤uµ{).
½Ð°Ñ¾\«á­±ªº¦Lªí¾÷¤ä´©²M³æ¨ú±o¯S©w¾÷ºØªº¸ê°T.

¦³¤Ö¼Æªº¦Lªí¾÷¬O¤¶©ó¤¤¶¡ªº. Á|¨Ò¨Ó»¡, ¦³¨Ç NEC ªº¾÷ºØ¨Ï¥Î¼Ð·Ç¦Lªí¾÷»y¨¥ PCL
¤¤¸ûÂ²³æªº¥\¯à, ÅýÀ´ PCL ªº³nÅé¥i¥H¹F¨ì¦C¦L 300 dpi ªº¤ô·Ç, ¦Ó¥u¦³ NEC
¤~ª¾¹D¦p¦óÅý³o¨Ç¦Lªí¾÷µo´§ 600 dpi ªº¦C¦L¯à¤O.

¸U¤@§A¤w¸g¦³³oºØ¦Lªí¾÷, ¤´µM¦³ÅÜ³q¤§¹D, ¥u¤£¹L¬Û·íªº²Â©å, 
©Ò¥H§Úµ´¹ï¤£·|¨Ï¥Î³oºØ¤è¦¡. ·Q§ó²`¤Jªº¾é¸Ñ Windows-only ¦Lªí¾÷½Ð¬Ý²Ä 12 ¸`




\subsection{Postscript}

¨º¨Ç¦Lªí¾÷{\itshape ¤@©w\/}¥i¥H¥Î©O? ³Ì¦nªº¿ï¾Ü´N¬O¶R¨ã³Æ PostScript 
¤ä´©ªº¦Lªí¾÷. ´X¥G©Ò¦³ªº Unix ³nÅé³£¥H PostScript ¨Ó²£¥Í³øªí,
©Ò¥H«Ü©úÅãªº, ¦pªG¯à¦³¤@³¡ª½±µ¤ä´© PostScript ªº¦Lªí¾÷ªº¸Ü¬O¦A¦n¤£¹L¤F!
¤£©¯ªº¬O°£¤F¹p®g¦Lªí¾÷¥~, ¨ä¥¦ºØÃþªº¦Lªí¾÷´X¥G³£¤£¤ä´© PostScript, 
­n¤£µM´N¬O¬Û·í©ù¶Qªº¿ïÁÊ°t³Æ.



Unix ¤Uªº³nÅé©M¤@¯ë¦L¨ê·~¤§©Ò¥H¿ï¾Ü PostScript
°µ¬°¦Lªí¾÷±±¨î»y¨¥ªº¼Ð·Ç¬O¦³­ì¦]ªº:
\begin{description}
\item[®É¾÷] \mbox{}

PostScript ­º¦¸¥X²{¦b Apple Laserwriter ¦Lªí¾÷¤¤, Laserwriter ¬O
Macintosh ªº¤@­Ó§¹¬ü·f¾×, ¦Ó Macintosh ¨t²Î«h¬O¾É­P 80
¦~¥N®à¤W±Æª©­²©Rªº¥D­n­ì¦].

\item[¥¦»P¸Ë¸mµLÃö(device-independant)] \mbox{}

PostScript µ{¦¡¥i¥H¦bµe¯À¿Ã¹õ, ¦V¶q¿Ã¹õ,
¶Ç¯u¾÷, ©Î¬O´X¥G¥ô¦ó¤@ºØ¦C¦L¾÷¨î²£¥Í¿é¥Xµ²ªG, ¦Ó¤£»Ý­n§ïÅÜ­ì¨Óªºµ{¦¡.  
PostScript ¦b¥ô¦ó PostScript ¸Ë¸m¤U©Ò²£¥Íªº¿é¥Xµ²ªG¬Ý°_¨Ó³£¤@¼Ë,
¦Ü¤Ö¦b¸Ë¸mªº¯à¤O­­¨î¤§¤º¬O¦p¦¹. ¦b PDF ¥X²{¤§«e, ¤H­Ì¬O¥H PostScript
®æ¦¡¦b½u¤W¥æ´«½ÆÂøªº¤å¥ó. ¦Ó³o­Ó¼Ð·Ç¨S¯à¥þ­±¦¨¥\ªº±©¤@­ì¦]´N¦b©ó Windows
¾÷¾¹¤W³q±`¨Ã¨S¦³¦w¸Ë POstScript ¹wÄý¾¹, ©ó¬O Adobe «ü©w¤F PostScript
¤¤ªº¶W³sµ²(hyperlinks) ©MÀ£ÁYªk(compression), §âµ²ªGºÙ¤§¬° PDF,
¨Ã¤À°e¥¦ªº¹wÄý¾¹, ¤]´À¥L­Ìªº¤å¥ó²£¥Í¤u¨ã (ghostscript ªº ps2pdf ©M pdf2ps
¨â­Óµ{¦¡¤]´£¨Ñ¤F³o¨Ç¥\¯à) ¶}µo¥X¤@­Ó·sªº¥«³õ.

\item[¥¦¬O¤@­Ó¯u¥¿ªºµ{¦¡»y¨¥] \mbox{}

PostScript ¬O¤@­Ó§¹¾ãªºµ{¦¡»y¨¥;
§A¥i¥H¥Î¥¦¼¶¼g³nÅé¨Ó°µ¤j³¡¥÷ªº¨Æ±¡. ³oÅý§A¥i¥H¦bµ{¦¡ªº¶}ÀY©w¸q°Æ±`¦¡,
·í§A»Ý­n¦b¤å¥ó¤¤­«½Æ°µ¨Ç½ÆÂø®ÄªGªº®É­Ô,
¹³¬O¦b­I´º¤¤©ñ¤W°Ó¼Ð¹Ï®×©Î¬O¤@­Ó¤j¤jªº "DRAFT" ¦r¼Ëªº®É­Ô, ³o­Ó¯SÂI«K«Ü¦³¥Î¤F.

\item[¥¦¬O¶}©ñªº¼Ð·Ç] \mbox{}

PostScript ªº§¹¾ã³W®æ³£¦b¤@¨t¦C¤H¤H³£¥i¨ú±oªº®Ñ¤¤
(§A¥i¥H¦bÀH«K¤@®a¦nªº®Ñ©±¤¤§ä¨ì). ÁöµM Adobe µo©ú¤F¥¦¦Ó¥B´£¨Ñ¤F¥D­nªº°Ó·~¹ê§@,
¨ä¥¦ªº¼t°Ó¹³¬O Aladdin ¤]¥i¥H°µ¥X¦Û¤v¿W¥ß¶}µoªº¹ê§@.

\end{description}





\subsection{Non-PostScript}

¦pªG¹wºâ¤£¤¹³\¶R¤@³¡ PostScript ¦Lªí¾÷, §A¥i¥H¶R¥ô¦ó Ghostscript 
¤ä´©ªº¦Lªí¾÷. GhostScript ¬O¤@­Ó§K¶Oªº PostScript ¸ÑÄ¶¾¹,
¥i¥H¥Î¨Ó¼ÒÀÀ¹ê»Úªº¦Lªí¾÷¤ä´©. 
\nameurl{http://www.cs.wisc.edu/~ghost/}{Ghostscript ªº­º­¶}
¤¤¦³¤ä´©ªº¦Lªí¾÷²M³æ, ¥H¤Î·sªº©M¶}µo¤¤ªºÅX°Êµ{¦¡ªº³Ì·s®ø®§. 
ª`·N¤@ÂI´N¬O³o­Óºô­¶¦C¥Xªº¬O³Ì·sª©ªº Ghostscript ©Ò¤ä´©ªº¦Lªí¾÷,
¦Ó¤j³¡¥÷ªº Linux µo¦æ®M¥ó¦]¬°ª©ÅvªºÃö«Y¥u¯à¥X³f¸ûÂÂªº Ghostscript ª©¥».
©¯¹Bªº¬O¦b¨C¤@­Óµo¦æ®M¥óªº®½ÃØ°Ï(contrib area) ¤¤³q±`³£¦³¥ý¥]¸Ë¦nªº¥Ø«eª©¥».
½Ð§A±N¦¨¥\©Î¥¢±Ñªº¸gÅç¦p¦Pºô­¶¤¤©Ò­n¨Dªº§i¶D¥L­Ì¥HÀ°¦£§ï¶i³o­Óºô­¶.



 
Adobe ¤½¥q¦³¤@ºØ·sªº¦Lªí¾÷»y¨¥¥s°µ "PrintGear". §Ú·Q¥¦¬O¨ã¦³ PostScript 
Æ[©À¦ý»P¨ä¤£¬Û®eªº¤@ºØ¤j´TÂ²¤Æªº¤G¶i¦ì»y¨¥. ¦Ó§Ú¤]¨SÅ¥»¡ ghostscript
¤ä´©¥¦. ¦ý¬O¦³¨Ç PrintGear ¦Lªí¾÷¦ü¥G¤]¤ä´©¨ä¥¦»y¨¥¦p PCL , 
¦Ó³oºØ¦Lªí¾÷«K¥i¥H¦b Linux ¤U¨Ï¥Î (°²¦p PCL ¬O¦b¦Lªí¾÷¤¤¹ê§@¦Ó¤£¬O¦b Windows
ÅX°Êµ{¦¡¤¤).




\subsection{¨º¨Ç¦Lªí¾÷¥i¥H¥Î?}

¦pªG§A¥´ºâ¶R¤@³¡¦Lªí¾÷, §A¥i¥H¨ì¤@¨Ç¦a¤è¥h¬Ý¬Ý¥¦¬O§_³Q¤ä´©. ¦@¦P¦X§@ºûÅ@ªº
Printing HOWTO ¦Lªí¾÷
\nameurl{http://www.picante.com/~gtaylor/pht/printer_list.cgi}{¸ê®Æ®w} ´N¬O§Æ±æ¯à´£¨Ñ¤@­ÓÂ²³æ©öÀ´ªº Linux ¦Lªí¾÷¤ä´©ª¬ºAªº¦Cªí.
Â²³æ¦a±N¤§ºK­n¦p«á; ¤Á°O¨ì½u¤W¬d¸ß§ó¦hªº²Ó¸`¥H¤Î¸Ó¨Ï¥Î¨º­ÓÅX°Êµ{¦¡ªº¸ê®Æ.



Ghostscript ªº \nameurl{http://www.cs.wisc.edu/~ghost/printer.html}{¬Û®e¦Lªí¾÷ºô­¶} ¦C¥X¤F¤@¨Ç¤ä´©ªº¦Lªí¾÷, ¦P®É¤]³sµ²¨ì¨ä¥¦ªººô­¶.
¥t¥~ Dejanews ¤]¦³¼Æ¦Ê­Ó"¯à¥Î"©M"¤£¯à¥Î"ªº¦^³ø. ¸Õ¸Õ³o¤T­Ó¦a¤è,
¦b§A§¹¦¨¥H«á, ½Ð½T»{¦b
\nameurl{http://www.picante.com/~gtaylor/pht/printer_list.cgi}{¸ê®Æ®w} ¤¤¦³§A¦Lªí¾÷ªº¥¿½T¸ê®Æ,
¥H«K¥H«á³o¥÷¤å¥ó¥i¥H¥¿½T¦a¦C¥X§Aªº¦Lªí¾÷.




\subsubsection{¦Lªí¾÷¬Û®e©Ê¦Cªí}

³o¤@¸`¬O½u¤Wª©¥»ªººK­n. ½u¤Wª©¥»¥]§t¤F°ò¥»³W®æ, ª`·N¨Æ¶µ,
¨ìÅX°Êµ{¦¡¸ê°Tªº³sµ², ¨Ï¥ÎªÌºûÅ@ªº¤å¥ó, »s³y°Óªººô­¶, ½Ñ¦p¦¹Ãþªº¸ê®Æ.
³o­Ó¦Cªíªº½u¤Wª©¥»ÁÙ¬O¤¬°Ê¦¡ªº; ¤H­Ì¥i¥HÀH®É¼W¥[¦Lªí¾÷, ©Ò¥H°O±o¥h¬d¤@¤U.
³Ì«á, ¦pªG§Aªº¦Lªí¾÷¨S¦³³Q¦C¥X¨Ó, ½Ð§â¥¦¥[¶i¥h.



³oùØ§â¦Lªí¾÷¤À¬°¥|Ãþ:
\begin{description}
\item[§¹¬ü] \mbox{}

³o¤@Ãþªº¦Lªí¾÷¤u§@°_¨Ó§¹¬ü·¥¤F - §A¥i¥H¥Î¨ì¦Lªí¾÷©Ò¦³ªº¥\¯à,
¥]¬AÃC¦â, ©Ò¦³ªº¸ÑªR«×, µ¥µ¥. ¦b¤Ö¼Æªº±¡ªp¤U,
¦Lªí¾÷¨ã¦³¥¼¤½¶}ªº"¸ÑªR«×¥[±j"¼Ò¦¡, ­Y¬O³oºØ¼Ò¦¡µLªk¨Ï¥Î,
§Ú­Ì¤´±N¥¦¦C¬°§¹¬ü; ³q±`³oºØ¦C¦L«~½èªº®t§O¤£¤j, ©Ò¥H¤£»Ý­n¾á¤ß.

\item[¨}¦n] \mbox{}

§A¥i¥H¦C¦L, ¦U¤è­±ªº±¡ªp³£¤£¿ù,
¦ý¬O¥i¯à·|¦³¤@¨Ç¦b¦C¦L©Î¨ä¥¦¥\¯à¤Wªº¤p­­¨î.

\item[«j±j] \mbox{}

§A¥i¥H¦C¦L, ¦ý¬O¨S¦³¿ìªk°µ±m¦â¦C¦L©Î¬O¥u¯à¥Î«Ü®tªº¸ÑªR«×.
½Ð°Ñ¾\½u¤W¦Cªíªºª`·N¨Æ¶µ¤@Äæ¥H±oª¾¬ÛÃöªº­­¨î.

\item[´dºG] \mbox{}

§A®Ú¥»¨S¿ìªk¦C¦L; ³q±`³o¬O¦]¬°¯Ê¥FÅX°Êµ{¦¡,
¦Ó¥B/©ÎªÌ¬O¯Ê¥F¦p¦ó¼¶¼gÅX°Êµ{¦¡ªº¤å¥ó

\end{description}

¥Ñ©ó³o¨àªº¤º®e¬O¥Ñ¤j®a©Ò´£¨Ñªº, ©Ò¥H¨Sªk«OÃÒ¤@©w¬O¥¿½Tªº.
¦ý¬O³oÀ³¸Ó«Ü®e©ö¥ÑÅX°Êµ{¦¡ºô­¶©M»s³y°Óªººô¯¸±o¨ì corroborate.
In all cases, since this information is provided by dozens of people,
none of it is guaranteed to be correct.  It should, however, be easy
to corroborate from the driver web pages and manufacturer web sites.



¼o¸Ü¤£¦h»¡, ¤U­±¬O¦Lªí¾÷¬Û®e©Ê¦Cªí:
\begin{description}
\item[Brother] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

HL-10V,
HL-660,
HL-720,
HL-760.

\item[¨}¦n] \mbox{}

HL-1050.

\end{description}


\item[Canon] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

BJ-10e,
BJ-20,
BJ-200,
BJC-210,
BJC-240,
BJC-250,
BJC-610,
BJC-620,
BJC-70,
BJC-800,
LBP-8II,
LIPS-III.

\item[¨}¦n] \mbox{}

BJ-300,
BJC-4000,
BJC-4100,
BJC-4200,
BJC-4300,
BJC-4400,
BJC-7000,
BJC-7004.

\item[«j±j] \mbox{}

BJC-4550,
MultiPASS C2500,
MultiPASS C3500.

\item[´dºG] \mbox{}

BJC-5000,
LBP-460,
LBP-660.

\end{description}


\item[Epson] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

ActionLaser 1100,
LP 8000,
LQ 850,
Stylus Color,
Stylus Color 400,
Stylus Color 500,
Stylus Color 600,
Stylus Color 640,
Stylus Color 850,
Stylus Color II,
Stylus Color IIs,
Stylus Pro XL.

\item[¨}¦n] \mbox{}

Stylus Color 800,
Stylus Photo 750.

\item[«j±j] \mbox{}

Stylus Color 740.

\end{description}


\item[HP] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

2000Cse,
2500C,
DesignJet 650C,
DeskJet 1200C,
DeskJet 1600C,
DeskJet 1600Cm,
DeskJet 400,
DeskJet 420C,
DeskJet 500,
DeskJet 550C,
DeskJet 600,
DeskJet 660Cse,
DeskJet 690C,
DeskJet 850C,
DeskJet 855C,
DeskJet 870,
DeskJet 870Cxi,
DeskJet 890,
LaserJet 1100,
LaserJet 2100,
LaserJet 2100M,
LaserJet 4000N,
LaserJet 4L,
LaserJet 5,
LaserJet 5L,
LaserJet 5MP,
LaserJet 6L,
LaserJet 6MP,
LaserJet 8000,
LaserJet 8100,
Laserjet 5000,
Mopier 320,
PaintJet XL300.

\item[¨}¦n] \mbox{}

HP 660C.

\item[«j±j] \mbox{}

DeskJet 1000C,
DeskJet 670C,
DeskJet 710,
DeskJet 720C,
DeskJet 722C,
DeskJet 820C.

\item[´dºG] \mbox{}

LaserJet 3100.

\end{description}


\item[IBM] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

Jetprinter 3852.

\end{description}


\item[Lexmark] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

Optra Color 1200,
Optra Color 1275,
Optra Color 40,
Optra Color 45,
Optra E,
Optra E+,
Optra Ep,
Optra S 1250.

\item[«j±j] \mbox{}

1020 Business,
3000,
5700,
7000.

\item[´dºG] \mbox{}

1000,
1020,
1100,
2030,
2050,
2070,
5000,
7200,
Winwriter 100,
Winwriter 150c,
Winwriter 200.

\end{description}


\item[Minolta] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

PagePro 6,
PagePro 8.

\end{description}


\item[NEC] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

P2X.

\item[«j±j] \mbox{}

SuperScript 100C,
SuperScript 1260,
SuperScript 150C,
SuperScript 650C,
SuperScript 750C,
SuperScript 860,
SuperScript 870.

\item[´dºG] \mbox{}

SuperScript 660i,
SuperScript 660plus.

\end{description}


\item[Okidata] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

OL 410e,
OL 610e/PS,
OL 810e/PS,
Okipage 6e,
Okipage 6ex,
Okipage 8c.

\item[¨}¦n] \mbox{}

Okipage 4w.

\item[´dºG] \mbox{}

Okipage 8w,
okijet 2010.

\end{description}


\item[Olivetti] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

JP350S.

\end{description}


\item[Panasonic] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

KX-P1123,
KX-P4440,
KX-P5400,
KX-P8420,
KX-P8475.

\item[«j±j] \mbox{}

KX-P6500.

\item[´dºG] \mbox{}

KX-P6100,
KX-P8410.

\end{description}


\item[QMS] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

2425 Turbo EX.

\end{description}


\item[Ricoh] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

4801,
6000.

\end{description}


\item[Xerox] \mbox{}

\begin{description}
\item[§¹¬ü] \mbox{}

DocuPrint C55,
DocuPrint N17,
DocuPrint N32.

\end{description}


\end{description}





\section{¦Lªí³s½u§@·~³nÅé(spooling software) ©O?}

ª½¨ì³Ìªñ, Linux ªº¨Ï¥ÎªÌªº¿ï¾Ü«ÜÂ²³æ - ¨C­Ó¤H¶]ªº³£¬O¥j¦Ñªº±q BSD ªº Net-2 
µ{¦¡½X²¾¹L¨Óªº lpd. §Y¨Ï¦b¤µ¤Ñ, ¤j³¡¥÷¼t°Ó¤´¥H³o­Ó³nÅé¥X³f. 
¦ý¬O³o­Ó±¡ªp¤w¸g¶}©l¦b§ïÅÜ. SVR4 ¤@¬£ªº¨t²Î, ¥]¬Aª@¶§ªº Solaris 
¦b¤º©Òªþªº¬O­Ó§¹¥þ¤£¦Pªº¦Lªí¾÷³s½u§@·~®M¥ó, ³o­Ó®M¥ó¥H lpsched ¬°¤¤¤ß.
¥t¥~ÁÙ¦³¸ñ¶HÅã¥Ü¦³¨Ç Linux ¼t°Ó·|§ï¦¨´£¨Ñ·s±o¦h¦Ó¥B§K¶Oªº LPRng.
LPRng ªºµ{¦¡½X»·¤ñÂÂ¦³ªº lpd ¨Óªº¦³³W¹º, ¦b¤j¶q¦w¸Ë®É(µù:
¶W¹L¤@¥x¦Lªí¾÷, §Ç¦C¦¡¦Lªí¾÷, ©Î¥ô¦ó«D lpd ªººô¸ô¦Lªí¾÷)¤]¸û¬°®e©öºÞ²z.
¥¦¬Æ¦Ü¥i¥H¯uªººÙ±o¤W¦w¥þ - ¨S¦³ SUID ªº°õ¦æÀÉ, ÁÙ¤ä´©³z¹L PGP ©Î 
Kerberos °µ¨Ï¥ÎªÌÅçµý. 



ÁöµM¦³³o¨Ç·s¿ï¾Ü, ¥Ø«e lpd ¹ï¤j³¡¥÷ªº Linux ¨Ï¥ÎªÌ¦Ó¨¥À³¸Ó¬O¨¬°÷¤F. 
ÁöµM¥¦¤£¬O³Ì·s¼éªº¨t²Î, ¦ý¥u­n³]©w¦n´N¨S°ÝÃD, ¦Ó¥B¥¦¼s¬°¤H­Ì©Ò¼ô±x,
¦P®É«Ü¦hªº Unix ®ÑÄy¤]´£¨Ñ¤F¤j¶qªº»¡©ú¤å¥ó.



¦pªG§A·Qª¾¹D§ó¦h¦³Ãö LPRng ªº¸ê°T, ½Ð¨ì \nameurl{http://www.astart.com/lprng/LPRng.html}{LPRng ªººô­¶}. ¦b¥¼¨Ó³o¥÷ HOWTO 
¤¤±N·|¥]§t¨Ï¥Î LPRng ¥H¤Î¨Ï¥Î´¶³q lpd ªº¬ÛÃö°T®§.




\section{°ò¥»¹B§@¤è¦¡}



¬°¤FÅý¦C¦L¥\¯à¯à°÷¥¿±`¹B§@, §A»Ý­nÁA¸Ñ lpd ¨t²Î¬O¦p¦ó¹B§@ªº.

Lpd ¬O Line Printer Daemon ªºÁY¼g, ®Ú¾Ú¤W¤U¤å«üªº¥i¥H¬OºÊ±±µ{¦¡(the daemon) 
¥»¨­©Î¬O°õ¦æ¦Lªí¾÷³s½u§@·~ªº¥þ®Mµ{¦¡. ¥]¬A¤F¦³:

\begin{description}
\item[{\ttfamily \onlynameurl{lpd}}] \mbox{}

¦Lªí¾÷³s½u§@·~ºÊ±±µ{¦¡(The spooling daemon). ¦³¤@­Ó­t³d±±¨î©Ò¦³¨Æ±¡, 
¥t¥~°w¹ï¨C¤@³¡¦C¦L¤¤ªº¦Lªí¾÷¤]·|°õ¦æ¤@¥÷.

\item[{\ttfamily \onlynameurl{lpr}}] \mbox{}

¨Ï¥ÎªÌªº¦C¦L«ü¥O. Lpr ·|Ápµ¸ lpd ¨Ã±N¦C¦L¤u§@°e¶i¦C¦L¼È¦s¾¹.

\item[{\ttfamily \onlynameurl{lpq}}] \mbox{}

¦C¥X¦î¦C¤¤µ¥«Ý¦C¦Lªº¤u§@.

\item[{\ttfamily \onlynameurl{lpc}}] \mbox{}

Lpd ¨t²Î±±¨î«ü¥O. §A¥i¥H¥Î lpc ¨Ó±±¨î¦î¦C, ¦p°±¤î, ¶}©l, ½Õ¾ã¶¶§Çµ¥µ¥.

\item[{\ttfamily \onlynameurl{lprm}}] \mbox{}

{\ttfamily lprm} ¥i¥H±q¦î¦C¤¤²¾°£¤@¥ó¦C¦L¤u§@.

\end{description}


¨º³o¤@¤Á¬O¦p¦ó´ê¦b¤@°_ªº©O? ·í¨t²Î¶}¾÷®É·|°õ¦æ lpd. ¥¦·|ÀË¬d {\itshape /etc/printcap\/} ¤¤¦³¨º¨Ç¦Lªí¾÷­n³]¥ß¦C¦L¼È¦s¾¹. ¨C·í¦³¨Ï¥ÎªÌ°õ¦æ lpr ®É, lpr ·|³z¹L 
{\itshape /dev/printer\/} ªº´¡®y(socket) §ä¨ì lpd, 
¨Ã±N­n¦C¦LªºÀÉ®×©M¤@¨ÇÃö©ó¦C¦Lªº¤H¥H¤Î¦C¦L¤èªkªº¸ê°T¶Ç°eµ¹ lpd.
µM«á lpd ¦A±NÀÉ®×°e¨ìªº¾A·í¦Lªí¾÷.

lp ¨t²Î³]­pªº®É­Ô, ¤j³¡¥÷ªº¦Lªí¾÷³£¬O¦C¦¡¦Lªí¾÷(line printer) - ¤]´N¬O»¡, 
¤j³¡¥÷ªº¨Ï¥ÎªÌ¬O¦C¦L¯Â¤å¦r®æ¦¡(plain ascii). 
µ²ªG´N¬O§Ú­ÌÁÙ±o°µ¤@¨ÇÃB¥~ªº©R¥O½Z³B²z(scripting) ¤~¯à¨Ï lpd 
¾A¥Î©ó²{¤µªº¦C¦L¤u§@, ³q±`¬O PostScript, ©Î¬O¤å¦r®æ¦¡, ©Î¬O dvi, ...




\section{°ò¥»¨t²Î³]©w}


\subsection{¶Ç²Îªº lpd ³]©w}

³Ì°ò¥»ªº lpd ³]©w¥u¯àÅý¨t²Î¦î¦CÀÉ®×µM«á¦C¦L, ¦Ó¤£ºÞ§Aªº¦Lªí¾÷¯à§_»{±o³o¨ÇÀÉ®×,
¥i¯à¤]µLªkÅý§A²£¥Í§l¤Þ¤Hªº³øªí. ¦ýµL½×¦p¦ó, ³o¬O¸ó¦V²z¸Ñªº²Ä¤@¨B.
©Ò¥HÅý§Ú­Ì¬Ý¤U¥h.

°ò¥»¤W, ­n¼W¥[¤@­Ó¦C¦L¦î¦C, §A¥²¶·¦b {\itshape /etc/printcap\/} ¤¤¥[¤@µ§°O¿ý, 
¥H¤Î¦b {\itshape /var/spool/lpd\/} ¤§¤U«Ø¥ß¤@­Ó¦C¦L¼È¦s¾¹ªº¤u§@¥Ø¿ý(spool 
directory).

{\itshape /etc/printcap\/} ¤¤ªº°O¿ý¬Ý°_¨Ó¹³³o­Ó¼Ë¤l:
\begin{tscreen}
\begin{verbatim}
# LOCAL djet500
lp|dj|deskjet:\
        :sd=/var/spool/lpd/dj:\
        :mx#0:\
        :lp=/dev/lp0:\
        :sh:
\end{verbatim}
\end{tscreen}

³o­Ó¨Ò¤l©w¸q¤F¤@­Ó¦W¬° {\itshape lp\/}, {\itshape dj\/}, ©Î¬O {\itshape deskjet\/} ªº¦C¦L¼È¦s¾¹,
¼È¦s¾¹ªº¤u§@¥Ø¿ý¦b {\itshape /var/spool/lpd/dj\/}, ¨S¦³³æ¤@¤u§@¤j¤pªº¤W­­, 
¦C¦Lªº¸Ë¸m¬O {\itshape /dev/lp0\/}, ¦Ó¥B¤£·|¦b¨C¤@­Ó¤u§@¤§«e¥[¤W¼ÐÃD­¶
(¦³µÛ¦C¦L¤Hªº©m¦W¤§Ãþªº¸ê®Æ).

²{¦b´N¥h¬Ý¬Ý {\itshape \onlynameurl{printcap}\/}.
ªº½u¤W¤âÉm.

¤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:
\begin{tscreen}
\begin{verbatim}
This is line one.
                 This is line two.
                                  This is line three.
\end{verbatim}
\end{tscreen}

¦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¨ì {\itshape if\/} ¤Î {\itshape of\/} 
³o¨â­ÓÄÝ©Ê. ¨ä¤¤ªº {\itshape if\/}, input filter ´N¬O§Ú­Ì²{¦b©Ò»Ý­nªº.

°²¨Ï§Ú­Ì¼g­Óµuµuªº shell script ¥s {\itshape filter\/} 
¨Ï¤§¦b·s¦æ¦r¤¸¤§«e¥[¤W¦^¨®¦r¤¸(carriage return), ´N¥i¥H®ø°£¶¥±èª¬. 
©Ò¥H§Ú­Ì¥²¶·¦b«e­±ªº printcap ªº°O¿ý¤¤¥[¤W {\itshape if\/} ³o¤@¦æ:
\begin{tscreen}
\begin{verbatim}
lp|dj|deskjet:\
        :sd=/var/spool/lpd/dj:\
        :mx#0:\
        :lp=/dev/lp0:\
        :if=/var/spool/lpd/dj/filter:\
        :sh:
\end{verbatim}
\end{tscreen}

³o­Óµuµuªº filter script ¥i¥H¬O:
\begin{tscreen}
\begin{verbatim}
#!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";
\end{verbatim}
\end{tscreen}

°²¦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¨ä¥¦®æ¦¡¤Æªº©Î¬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 ºÙ¤§¬° {\itshape 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©ö.




\subsection{ÀÉ®×Åv­­}

À³¤j²³­n¨D, §Ú§â§Ú¨t²Î¤W¤@¨Ç¬ÛÃöÀÉ®×ªºÅv­­¦C¥X. ÁÙ¦³¨ä¥¦§ó¦nªº³]©w¤èªk,
³Ì¦n¬O¥u±N°õ¦æÀÉ³]¬° SGID ¦Ó¤£­n³]¬° SUID root, ¦ý³o¬O§Ú¨t²Î¹w³]ªº³]©w,
¦Ó¥B¹B§@¥¿±`.(¦Ñ¹ê»¡, ¦pªG§Aªº¼t°Ó³s¥i¥H¹B§@ªº lpd ³£µLªk´£¨Ñ, §A´N¦³­WÀY¦Y¤F.)
\begin{tscreen}
\begin{verbatim}
-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/
\end{verbatim}
\end{tscreen}


Lpd ¥Ø«e¥²¶·¥H root ¨­¥÷°õ¦æ¤~¯à³s±µ¨ì§C¸¹(³s±µ°ð¸¹§C©ó 1024)ªº lp ªA°È°ð. 
¥i¯àÀ³¸Ó§ï¦¨¦b³s±µ«á±N¨Ï¥ÎªÌ¨­¥÷ÅÜ¦¨ lp ©Î¨ä¥L¨­¥÷, ¦ý¬O§Ú¤£»{¬°²{¦b¦³³o¼Ë°µ. 
¥O¤H¦³¨Ç¥¢±æ.




\section{¨ú±o¦C¦L³nÅé}

³\¦h¹w¥ý¼g¦nªº filter ®M¥ó (¥H¤Î¨ä¥¦»P¦Lªí¦³Ãöªº³nÅé) ¦b {\ttfamily \nameurl{ftp://metalab.unc.edu/pub/Linux/system/printing/}{Metalab}} ³£¦³´£¨Ñ. ¹³¬O psutils, a2ps, mpage, dvitodvi, flpr 
µ¥¤u¨ã³£¥i¥H¦b¨º¨à§ä±o¨ì.



¦³¤@°}¤l, «Ü¦h®M¥ó³£·QÅý³]©w¦Lªí¾÷Â²³æ¤@ÂI. ³o¨Ç®M¥ó¥i¯à³£ÁÙ¦b,
¦ý¬O¨ä¤¤³Ì·s³Ì¦n´NÄÝ Andreas Klemm ªº APS Filter ®M¥ó¤F.
³o­Ó®M¥ó´£¨Ñ¤F¤@­Ó¿ï³æ¦¡ªº printcap ³]©wµ{¦¡, 
¦Ó¥B´X¥G¥i¥H³B²z¥ô¦ó§A©Ò¯à·Q¨ìªº¿é¤J®æ¦¡. 
°²¨Ï§Aªº¼t°Ó¨Ã¥¼´£¨Ñ¤@²Õ¦nªº¦Lªí¾÷³]©w¤u¨ã, ¿ï APS Filter ´N¹ï¤F.




\section{¼t°Óªº¸Ñ¨M¤è®×}

²z½×¤W, ³o¤@¸`¬O¤£§¹¾ãªº. ½Ð§O«È®ð¨Ó§i¶D§Ú§A³Ì³ß¦nªºµo¦æª©¥»(distribution)
ªº¬ÛÃö²Ó¸`.




\subsection{Red Hat}

Red Hat ´£¨Ñ¤@­Ó GUI ¬É­±ªº¦Lªí¾÷ºÞ²zµ{¦¡ (¦b control panel ùØ),
¥i¥HÅý§A¥[¤Wºô¸ô¦Lªí¾÷©Î³s±µ¥»¦a¸Ë¸mªº¦Lªí¾÷. ¥¦Åý§A¿ï¾Ü ghostscript
¤ä´©ªº¦Lªí¾÷ºØÃþ©M©Ò¨Ï¥Îªº Unix ¸Ë¸mÀÉ®×, µM«á·|¦b {\itshape /etc/printcap\/} 
¤¤³]©w¦C¦L¦î¦C, ¦A¼g¤J¤@­ÓÂ²µuªº§Q¥Î {\ttfamily gs} ©M {\ttfamily \onlynameurl{nenscript}} 
¥H³B²z PostScript ©M ascii ªº magic filter. ³o­Ó¤èªkÁÙ¤£¿ù, 
¹ï¤@¯ëªº±¡ªp¦Ó¨¥, ¤]«Ü®e©ö³]©w.

¦ý¦pªG§Aªº¦Lªí¾÷¤£¦b Red Hat ¼Ð·Ç°t³Æªº Ghostscript(GNU ª©¦Ó¤£¬O Aladdin,
¤ä´©ªº¦Lªí¾÷ºØÃþ¸û¤Ö) ¤ä´©¤§¦C´N¤£¤Ó§®¤F. °²¦p§Aµo²{¥Î Red Hat
©Òªþªº³nÅéµLªk¥¿±`¦C¦Lªº®É­Ô, ½Ð°Ñ¾\¤W­±ªº¦Lªí¾÷¬Û®e©Ê¦Cªí
(©Î¬O¨ì \nameurl{http://www.picante.com/~gtaylor/pht/printer_list.cgi}{½u¤W¸ê®Æ®w}). ¦pªG Red Hat ªº¤u¨ã¤£¤ä´©§Aªº¦Lªí¾÷ªº¸Ü,
§A¥i¯à»Ý­n¦w¸Ë§K¶Oª©ªº Aladdin Ghostscript, ¦pªG§A¨Ï¥Î apsfilter 
®M¥ó¥i¯à·|§ó¦n. apsfilter ®M¥ó¯à³B²z©Ò¦³·sªñ Ghostscript ¤ä´©ªº¦Lªí¾÷.




\subsection{Debian}

Debian Åý§A¿ï¾Ü´¶³q lpd ©Î LPRng; LPRng ¥i¯à¬O¤ñ¸û¦nªº¿ï¾Ü.
§Ú¬Û«H Debian ¤]´£¨Ñ¦Lªí¾÷³]©w¤u¨ãªº¿ï¾Ü; apsfilter 5
©Î¤§«áªºª©¥»À³¸Ó¬O³Ì¾A¦X§Aªº, ¦]¬°³o¤@ª©¼W¥[¤F¹ï LPRng ©M Ghostscript
²Î¤@ÅX°Êµ{¦¡(uniprint driver scheme) ªº¤ä´©.




\subsection{¨ä¥¦ªºµo¦æª©¥»(Other Distributions)}

½Ð±N¨ä¥¦µo¦æª©¥»ªº³B²z¤èªkªº°T®§±Hµ¹§Ú!




\section{Ghostscript.}

\onlynameurl{Ghostscript} 
¬O­Ó¹ï Linux ¦C¦L¦³µÛ·¥¤j·N¸qªºµ{¦¡. ¤j³¡¥÷¦b Unix ¤U¦C¦Lªºµ{¦¡³£·|²£¥Í 
PostScript, ¦Ó¦Lªí¾÷ªº PostScript ³B²z¯à¤O³q±`¬O»ù­È 100 ¬ü¤¸ªº¿ïÁÊ°t³Æ.
¦ý¬O ghostscript «o¬O§K¶Oªº, ¦Ó¥B¥¦¯à±N PostScript Âà¦¨§Aªº¦Lªí¾÷©Ò¥Îªº»y¨¥.
·í¥¦©M§Aªº {\ttfamily lpd} input filter µ²¦X¤§«á, §A´N¦³¤F¤@³¡µêÀÀªº PostScript 
¦Lªí¾÷, ¦Ó¥B¯à°÷¤j´TÂ²¤Æ§Aªº¥Í¬¡.

Ghostscript ¦³¨â­Óª©¥». °Ó·~ª©ºÙ¬° Aladdin Ghostscript, ­Ó¤H¥i¥H¦Û¥Ñ¨Ï¥Î, 
¦ý¬O¤£¯àÀHµÛ°Ó·~¥Îªº Linux µo¦æª©¥»´²§G. Aladdin Ghostscript ³q±`¤ñ§K¶Oªº 
ghostscript »â¥ý¤@¦~¥ª¥k; Á|¨Ò¨Ó»¡, ¥¦¤ä´©³\¦h§K¶Oª©©|¥¼¤ä´©ªº±m¦â¼Q¾¥¾÷.

§K¶Oª©ªº ghostscript ¬° GNU Ghostscript, ¨ä¹ê´N¬O¸ûÂÂª©ªº Aladdin Ghostscript.
(Aladdin ªº³oºØ¦w±Æ­È±o§Ú­ÌÆg½à; À³¸Ó¦³§ó¦hµLªk§¹¥þ¥H GPL
¨Ó´²§G­ì©l½Xªº³nÅé¼t°Ó¥H³oºØ¤è¦¡¤ä«ù¦Û¥Ñ³nÅé (free software).

µL½×§A¥Î {\ttfamily \onlynameurl{gs}} °µ¤°»ò, 
°O±o¤£­nÅý¥¦¯à°÷¦s¨úÀÉ®× (¥Î {\ttfamily -dSAFER} ¿ï¶µ). PostScript 
¬O­Ó¨ã¦³§¹¾ã¥\¯àªº»y¨¥, ¦Ó¤@­Ó´c·Nªº PostScript µ{¦¡¥i¥HÅý§A¦Y¨¬­WÀY.

¦A½Í¨ì PDF, Adobe ªº Portable Document Format ¹ê»Ú¤W´N¬O§â PostScript 
§ó²ÕÂ´¤Æ, ¥[¤W¤@¨ÇÂX¥R¥\¯à, ¸g¹LÀ£ÁYªºÀÉ®×®æ¦¡. Ghostscript ¥i¥H¹³³B²z 
PostScript ¯ë¦a³B²z PDF. ©Ò¥H§A¥i¯à¬O§A¶g¾D²Ä¤@­Ó¾Ö¦³¨ã¦³³B²z PDF 
¯à¤Oªº¦Lªí¾÷ªº¤H.


\subsection{±Ò°Ê ghostscript}

¨å«¬ªº§@ªk¬O¦b§Aªº magic filter(°²¦p§Aªº¼t°Ó¨S¦³´£¨Ñ¤@­Ó¾A¦X§A¥Îªº,
§Ú«ØÄ³ apsfilter) ¤¤¨Ï¥Î ghostscript, ¦ý¬O¦pªG¬°¤F°£¿ù, 
ª½±µ°õ¦æ³q±`·|¤ñ¸û¤è«K¨Ç.

{\ttfamily gs -help} ·|Â²µu¦a¦C¥X¦³¥Îªº¿ï¶µ¥H¤Î©Ò´£¨ÑªºÅX°Êµ{¦¡.
(ª`·N³o¨à©Ò¦C¥Xªº¶È¬O½sÄ¶¶i¥hªºÅX°Êµ{¦¡, ¦Ó¨Ã«D©Ò¦³ªºÅX°Êµ{¦¡).

§A¥i¥H¥Î¤U­±ªº¤è¦¡°õ¦æ gs ¨Ó´ú¸Õ:
{\ttfamily gs {\itshape options\/} -q -dSAFER -sOutputFile=/dev/lp1 test.ps}.




\subsection{½Õ¾ã ghostscript ªº¿é¥Xµ²ªG}

°²¦p gs ªº¿é¥X¤£¯àÅý¤Hº¡·N, ÁÙ¦³¤@¨Ç¿ìªk.(¨Æ¹ê¤W, §A¥i¥H°µ¥ô¦ó¨Æ, 
¦]¬°§A¥i¥H¨ú±o­ì©l½X).




\subsubsection{¿é¥Xªº¦ì¸m¤Î¤j¤p}

¦ì¸m, ¤j¤p, ÁÙ¦³¼v¹³¦b­¶­±¤WªºµøÄ±¤ñ¨Ò¬O¥Ñ ghostscript 
¤¤ªº¦Lªí¾÷ÅX°Êµ{¦¡©Ò±±¨îªº. ¦pªG§Aµo²{¦C¦L¥X¨Ó¤Óµu, ¤Óªø©Î¬O¤j¤F¨â­¿,
§A¥i¯à·|·Q­n¬Ý¤@¤UÅX°Êµ{¦¡ªº­ì©l¼Ò²Õ¨Ã¥B½Õ¾ã¥ô¦ó©Ò¯à·Q¨ìªº°Ñ¼Æ.
¤£©¯ªº¬O¨C¤@­ÓÅX°Êµ{¦¡³£¦³¤£¦Pªº¤è¦¡, ©Ò¥H§Ú¤]µLªk§i¶D§A¦p¦ó½Õ¾ã,
ÁÙ¦n¤j³¡¥÷ªºÅX°Êµ{¦¡³£¦³ÁÙºâ²M·¡ªºµù¸Ñ.




\subsubsection{Gamma, dotsizes, µ¥µ¥}

¤j³¡¥÷ªº«D¹p®g¦Lªí¾÷¦]¬°¦C¦LªºÂI¤ñ¸û¤j, ¬G·|¾É­P¦L¥X¨Óªº¹Ï®×¤Ó¶Â.
°²¨Ï§A¹J¨ì³o­Ó°ÝÃD, §AÀ³¸Ó¨Ï¥Î¦Û¤vªºÂà´«¨ç¼Æ. ¥u­n¦b ghostscript 
ªº lib-dir ¤U«Ø¥ß¦p¤UªºÀÉ®×, ¨Ã¦b©I¥s gs 
ªº®É­Ô±N³o­ÓÀÉ¦W¥[¦b­n¦C¦LªºÀÉ®×¤§«e´N¥i¥H¤F.
§A¥i¯à·|»Ý­n½Õ¾ã¤@¤U¹ê»Úªº­È¤~¯à¾A¦X§Aªº¦Lªí¾÷. ¸û¤pªº­È·|¾É­P¸û«Gªº¦C¦L®ÄªG. 
¯S§O¬O·í§Aªº¦Lªí¾÷¨Ï¥Î Floyd-Steinberg ºtºâªk¨Ó²V¦â ( rasterize color )
¥i¯à¬O¤ñ¸û¦nªº¿ï¾Ü.

\begin{tscreen}
\begin{verbatim}
---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<---
\end{verbatim}
\end{tscreen}




§A¤]¥i¥H½Õ¾ã³o¨Ç­È¨Ó¸É±Ï¦Lªí¾÷ÃC¦â¤Wªº°ÝÃD. °²¦p§A­n³o»ò°µ, «ØÄ³§A¥i¥H¥Î 
ghostscript ¤ºªþªº colorcir.ps ( ¦b examples/ ¥Ø¿ý¤U ) °µ¬°´ú¸Õ­¶.



«Ü¦h¸û·s«¬ªº±m¦â¼Q¾¥¦Lªí¾÷ªºÅX°Êµ{¦¡¨ã³Æ©R¥O¦C¿ï¶µ,
©Î¬O¦³¤£¦Pªº upp ÅX°Êµ{¦¡ÀÉ¨Ó¹ê°µ gamma ¤Î¨ä¥¦§ïÅÜ¥HÅý¦Lªí¾÷¾AÀ³¤£¦PÃþ«¬ªº¯È±i.
¦b§A¥Î Postscript ¨Ó­×¥¿°ÝÃD¤§«e, À³¸Ó¥ý±q³o¤è­±µÛ¤â.




\section{¦p¦ó¦C¦L¨ìºô¸ô¦Lªí¾÷}

Lpd ªº¤@­Ó¯S©Ê«K¬O¥i¥H³z¹Lºô¸ô±N³øªí¦C¦L¨ì¹êÅé³s±µ¦b¨ä¥¦¾÷¾¹¤Wªº¦Lªí¾÷.
¥u­n¥J²Ó¦a²Õ¦X filter ©R¥O½Z©M¬ÛÃöªº¤u¨ãµ{¦¡, §A´N¥i¥HÅý lpr ±o¥H³z³q¦a
(transparently) ¦C¦L¨ì¦UºØºô¸ô¤Wªº¦Lªí¾÷.




\subsection{¦C¦L¦Ü Unix/lpd}

­nÅý»·ºÝªº¾÷¾¹¯à°÷¨Ï¥Î§Aªº¦Lªí¾÷¦C¦L, §A¥²¶·±N»·ºÝ¾÷¾¹¦C¦W¦b
{\itshape /etc/hosts.equiv\/} ©Î¬O {\itshape /etc/hosts.lpd\/} ÀÉ®×¤§¤¤.
(­nª`·N {\itshape hosts.equiv\/} ÁÙ¦³¨ä¥¦«Ü¦h§@¥Î; ¦pªG§A­n±N¤@³¡¾÷¾¹¦C¦b³o¨à,
½Ð½T©w§Aª¾¹D§A¦b°µ¤°»ò). §A¤]¥i¥H§Q¥Î {\itshape rs\/} 
ÄÝ©Ê¨Ó­­©w¨ä¥¦¾÷¾¹¤Wªº¬Y¨Ç¯S©w¨Ï¥ÎªÌ¤~¯à¨Ï¥Î§Aªº¦Lªí¾÷. ½Ð¬Ý {\ttfamily \onlynameurl{lpd}} ªº½u¤W¤âÉm¥H¨ú±o³o¤è­±ªº°T®§.




\subsubsection{¥Î {\ttfamily lpd}}

­n¦C¦L¨ì¥t¤@³¡¾÷¾¹, §A­n¦b {\itshape /etc/printcap\/} ¤¤¥[¤W³o¼Ëªº°O¿ý,
\begin{tscreen}
\begin{verbatim}
# REMOTE djet500
lp|dj|deskjet:\
        :sd=/var/spool/lpd/dj:\
        :rm=machine.out.there.com:\
        :rp=printername:\
        :lp=/dev/null:\
        :sh:
\end{verbatim}
\end{tscreen}

½Ðª`·N¦b¥»¦aªº¾÷¾¹ÁÙ¬O­n¦³¤@­Ó¥Ñ {\ttfamily lpd} ºÞ²zªº¦C¦L¼È¦s¾¹¥Ø¿ý.
¦pªG»·ºÝªº¾÷¾¹Â÷½u©Î¬O¦£¤£¹L¨Ó, 
¦C¦L¤u§@·|¯d¦b¥»¦aªº¼È¦s°Ï¤¤ª½¨ì°e¥X¥h¬°¤î.




\subsubsection{¥Î {\ttfamily rlpr}}

§A¤]¥i¥H¥Î {\itshape rlpr\/} ±N¦C¦L¤u§@ª½±µ°e¨ì»·ºÝ¾÷¾¹ªº¦î¦C¤¤,
¬Ù¤U³]©w lpd ªº³Â·Ð. °²¦p§A°¸º¸¤~­n¦C¦L¨ì¨ä¥¦¤£¦Pªº¦Lªí¾÷, 
³o­Ó¤èªk´N³Ì¦³¥Î. ¤Þ¤@¬q {\itshape rlpr\/} ªºÁn©ú:



rlpr §Q¥Î TCP/IP ±N¦C¦L¤u§@°e¨ìºô¸ô¤W¥ô¦ó¦ì¸mªº lpd ¦øªA¾¹.



»P lpr ¤£¦Pªº¬O, §A¦C¦L¨Ó·½ºÝªº¾÷¾¹ *¤£»Ý­n* ©ú½T¦aª¾¹D»·ºÝªº¦Lªí¾÷,
(¨Ò¦p³z¹L {\itshape /etc/printcap\/}) ¦]¦¹¦³¬Û·í¤jªº¼u©Ê, 
ºÞ²zªº­t¾á¤]¤ñ¸û»´.





rlpr ¥i¥H¥Î¦b¥ô¦ó¨Ï¥Î¶Ç²Î lpr ªº¦a¤è, ¦Ó¥B©M¶Ç²Îªº BSD lpr ¬Û®e.



rlpr ³Ì¤jªº¦n³B¦b©ó¥i¥H *±q¥ô¦ó¦a¤è¦C¦L¨ì¥ô¦ó¦a¤è* 
¦Ó¤£¥ÎºÞ¦C¦L¨Ó·½ºÝªº¨t²Î³]©w. ¥¦¥i¥H¹³¶Ç²Îªº lpr °µ¬°¤@­Ó filter,
¦ÓÅý¦b»·ºÝ¾÷¾¹¤W°õ¦æªº«È¤áºÝ¹³ netscape, xemacs 
µ¥¯à°÷»´©ö¦a¦C¦L³øªí¨ì§A¥»¦aªº¾÷¾¹.



§A¥i¥H¦b {\ttfamily \nameurl{ftp://metalab.unc.edu/pub/Linux/system/printing/}{Metalab}} §ä¨ì rlpr.




\subsection{¦C¦L¨ì Win95, WinNT, LanManager, ©Î Samba ¤Wªº¦Lªí¾÷}

¦b Printing to Windows mini-HOWTO ¤¤¦³¤ñ³o¨à§ó¦hªº¸ê°T.

³z¹L {\ttfamily \onlynameurl{smbclient}}
³o­Óµ{¦¡ (samba ®M¥óªº¤@³¡¥÷) ¥i¥H±N lpd ¦î¦C¾É¦V¨ì¬[ºc¦b TCP/IP
¤§¤Wªº SMB ¦C¦LªA°È. Samba ¥]§t¤F¤@­Ó©R¥O½Z {\ttfamily smbprint} ¨Ó°µ³o¥ó¨Æ.
Â²³æ¦a»¡, ´À³o¼Ëªº¦Lªí¾÷¦b¦C¦L¼È¦s¾¹¤u§@¥Ø¿ý (spool directory) ¤¤¥[¤W³]©wÀÉ,
µM«á±N {\itshape if\/} ³]¬° {\ttfamily smbprint} ©R¥O½Z.

¦b {\itshape /etc/printcap\/} ¤¤ªº°O¿ý¬Ý°_¨ÓÀ³¸Ó¹³³o­Ó¼Ë¤l:
\begin{tscreen}
\begin{verbatim}
lp|remote-smbprinter:\
    :lp=/dev/null:sh:\
    :sd=/var/spool/lpd/lp:\
    :if=/usr/local/sbin/smbprint:
\end{verbatim}
\end{tscreen}


§AÀ³¸Ó¾\Åª¤@¤U {\ttfamily smbprint} ©R¥O½Z¤¤ªº»¡©ú¥H±o¨ì§ó¦h¬ÛÃöªº°T®§.

§A¤]¥i¥H¤£ºÞ {\ttfamily lpd}, ª½±µ¥Î {\ttfamily smbclient} ±NÀÉ®×°e¨ì SMB 
¦C¦LªA°È. ½Ð°Ñ·Ó½u¤W¤âÉm.




\subsection{¦C¦L¨ì NetWare ¤Wªº¦Lªí¾÷}

ncpfs ®M¥ó¤¤¥]§t¤F¤@­Ó¦W¬° {\ttfamily nprint} ªº¤u¨ãµ{¦¡, ¥¦´£¨Ñ¦p¦P {\ttfamily smbprint}
¤@¯ëªº¥\¯à, ¥u¤£¹L¾A¥Îªº¹ï¶H¬O Netware. §A¥i¥H¦b \onlynameurl{Metalab} ¨ú±o ncpfs.
¤U­±¬O±q 0.16 ª©ªº LSM ¤¤¸`¿ý¥X¨Óªº:
\begin{quotation}
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.
§Q¥Î ncpfs, §A¥i¥H¦b Linux ¤U±¾¤W§Aªº netware ¦øªA¾¹¤Wªº¥Ø¿ý.
§A¤]¥i¥H¦C¦L¨ì netware ªº¦C¦L¦î¦C¥H¤Î±N netware ªº¦C¦L¦î¦C±Æ¦s(spool)
¨ì Linux ªº¦C¦L¨t²Î. §A»Ý­n 1.2.x ©Î 1.3.54 ¥H¤W(§t 1.3.54) ªº®Ö¤ß. ncpfs
µLªk¦b 1.3.54 ¥H«eªº¥ô¦ó¤@ª© 1.3.x ®Ö¤ß¤U¹B§@.

\end{quotation}




­n¨Ï {\ttfamily nprint} ³z¹L lpd ¹B§@, §A­n¼g­Ó¤p¤pªº shell script ±N stdin
¦C¦L¨ì Netware ¤Wªº¦Lªí¾÷, ¨Ã³]¦¨ lpd ¦C¦L¦î¦Cªº {\itshape if\/}. §A¥i¯à·|¦³:
\begin{tscreen}
\begin{verbatim}
sub2|remote-NWprinter:\
        :lp=/dev/null:sh:\
        :sd=/var/spool/lpd/sub2:\
        :if=/var/spool/lpd/nprint-script:
\end{verbatim}
\end{tscreen}

{\ttfamily nprint-script} ¬Ý°_¨Ó¥i¯à¤j­P¤W¹³:
\begin{tscreen}
\begin{verbatim}
#! /bin/sh
# You should try the guest account with no password first!
/usr/local/bin/nprint -S net -U name -P passwd -q printq-name -
\end{verbatim}
\end{tscreen}





\subsection{¦C¦L¨ì EtherTalk (Apple) ¤Wªº¦Lªí¾÷}

netatalk ®M¥ó¥]§t¤F¹³ {\ttfamily nprint} ©M {\ttfamily smbclient} ªºªF¦è. 
¨ä¥L¤H¤w¸g¼g¤U¤F¨Ï¥Î Apple ºô¸ô¦C¦Lªºµ{§Ç, »·¤ñ§Ú©Ò¯à¼gªº¦n±o¦h; ½Ð°Ñ¾\ \nameurl{http://thehamptons.com/anders/netatalk/}{Linux Netatalk-HOWTO}.




\subsection{¦C¦L¨ì HP ©Î¨ä¥¦ªº¥H¤Óºô¸ô(ethernet) ¦Lªí¾÷}

¦³¨Ç HP ©M¨ä¥¦¼tµPªº¦Lªí¾÷´£¨Ñ¤F¥i¥Hª½±µ¥Î lpd ¦C¦Lªº¥H¤Óºô¸ô¤¶­±.
§AÀ³¸Ó¿í·Ó¦Lªí¾÷©Î¨äºô¸ô¤¶­±©Òªþªº«ü¥Ü, ¦ý¬O³q±`³oºØ¦Lªí¾÷¤W "¶]" ªº¬O lpd,
¦Ó¥B´£¨Ñ¤@¨ì¦h­Ó§A¥i¥H¨Ï¥Îªº¦î¦C. Á|¨Ò¨Ó»¡, ¤@³¡ HP ¥i¯à¥i¥H¥Î³o¼Ëªº printcap:
\begin{tscreen}
\begin{verbatim}
lj-5|remote-hplj:\
        :lp=/dev/null:sh:\
        :sd=/var/spool/lpd/lj-5:\
        :rm=printer.name.com:rp=raw:
\end{verbatim}
\end{tscreen}


¨ã¦³ Jet Direct ¤¶­±ªº HP Laserjet ¦Lªí¾÷³q±`¤ä´©¨â­Ó¤º«Øªº lpd ¦î¦C - "raw"
±µ¨ü PCL (¥i¯à¤]±µ¨ü Postscript), ¥H¤Î "text" ±µ¨ü³æ¯Âªº ascii
(¦Ó¥B·|¦Û°Ê¦a§JªA¶¥±è®ÄÀ³). ¦pªG§A¦³ªº¬O JetDirect Plus3 ¤T°ðªº¤¶­±,
¦î¦Cªº¦WºÙ«h¬° "raw1", "text2" µ¥µ¥.

ª`·N ISS ¤½¥q¤v¸g§ä¨ì¬Y¤@Ãþªº¹L¶q§ðÀ»(denial of service attacks)
¥i¥H¾É­P HP Jetdirect ¬É­±·í±¼. ¤j³¡¥÷¬O¦b 98 ¦~ªº¬î¤Ñ¶}©l³Qµo²{ªº.

¦b¤@­Ó¤j«¬ªºÀô¹Ò, ¯S§O¬O­Ó¦³¨Ç¦Lªí¾÷¤£¤ä´© PostScript ªº¤j«¬Àô¹Ò¤¤,
¬[³]¤@³¡±Mªùªº¦C¦L¦øªA¾¹, Åý©Ò¦³ªº¾÷¾¹³£¦C¦L¨ì³o³¡¦øªA¾¹¨ÃÅý©Ò¦³ªº ghostscript
¤u§@³£¦b³o³¡¦øªA¾¹¤W­±°õ¦æ¥i¯à·|¦³¥Î.

³o¼Ë¤l¤]¥i¥HÅý§Aªº Linux °µ¬°¦Lªí¾÷ªº±Æ¦s¦øªA¾¹(spool server),
¦p¦¹¤@¨Ó§Aªººô¸ô¨Ï¥ÎªÌ«K¥i¥H§Ö¤@ÂI§¹¦¨¥L­Ìªº¦C¦L¤u§@µM«áÄ~Äò¤âÃäªº¨Æ±¡,
¦Ó¤£¥²µ¥«Ý¦Lªí¾÷¦L§¹¥ý«e§O¤H©Ò°e¥Xªº³øªí. ¦pªG§A¦³µLªk½Õ¾ãªºÂÂ«¬ HP Laserjets;
¤]¥i¥H³o¼Ë°µ¥H­°§C¦Lªí¾÷¾Ã¶ëªº¾÷²v.

­n³o¼Ë°µ, ¥ý¦b§Aªº linux ¾÷¾¹¤W³]©w¤@­Ó¦C¦L¦î¦C«ü¨ì°t¦³¥H¤Óºô¸ô¤¶­± HP LJ
(¦p«e©Ò­z). ²{¦b±N©Ò¦³¦b§A°Ï°ìºô¸ô¤Wªº«È¤áºÝ³]©w«ü¨ì³o­Ó Linux ¦î¦C
(¦p«e­±½d¨Ò¤¤ªº lj-5).

¦³¨Ç HP ºô¸ô¦Lªí¾÷¦ü¥G¤£²z·|«È¤áºÝ°e¥Xªº¼ÐÃD­¶(banner page) ³]©w. 
§A¥i¥HÃö±¼¥¦­Ì¤º³¡¦Û¦æ²£¥Íªº¼ÐÃD­¶, ¥Î telnet ³s±µ¨ì¦Lªí¾÷, «ö¨â¤U return Áä,
¥´¤J "banner: 0", ±µµÛ¥´¤J "quit". ÁÙ¦³¨ä¥¦¥i¥H½Õ¾ãªº³]©w¤]¬O¥Î³o­Ó¤è¦¡; ¥´¤J
"?" ¥i¥H¬Ý¨ì¥¦­Ìªºªí¦C.

§A¥i¥H¥Î HP ªº \nameurl{http://www.hp.com/go/webjetadmin}{WebJet}
³nÅé¨Ó±±¨î¥þ³¡ªº³]©w. ³o®M³nÅé¬O¥H daemon ªº¤è¦¡°õ¦æ, ±µ¨ü¦b«ü©w°ð¸¹¤Wªº http
³s½u»Ý¨D(http request). ¥¦´£¨Ñ http ªí®æ(form) ¤Î Java applets
¨Ó±±¨îºô¸ô¤Wªº HP ¦Lªí¾÷. ²z½×¤W, ¥¦¤]¥i¥H±±¨î Unix ªº¦Lªí¾÷¦î¦C,
¦ý¬O³o±o¨Ï¥Î·¥¤£¦w¥þªºªº rexec ªA°È. §Ú¤£«ØÄ³¨Ï¥Î³o­Ó¥\¯à.




\subsubsection{¦C¦L¨ì¤ñ¸ûÂÂªº HP ¦Lªí¾÷}

¦³¨Ç¦Lªí¾÷ (©Î¬O±N¦Lªí¾÷³s¤Wºô¸ôªº¸Ë¸m) ¥u¤ä´©«Ü¶§¬Kªº TCP ³s½u.
¦b³o¤@Ãþ¤¤¸ûµÛ¦Wªº«K¬O¦­´Áªº JetDirect (¥]¬A¤@¨Ç JetDirectEx) ¤¶­±¥d. °ò¥»¤W, 
­n¦C¦L¨ì³oÃþªº¦Lªí¾÷, §A¥²¶·«Ø¥ß¨ì¦Lªí¾÷¤W¬Y­Ó¯S©w°ð (¨å«¬¬O¦b 9100, 
©Î¬O¤T°ð¾÷ºØªº 9100, 9101 ©M 9102) ªº TCP ³s±µ, µM«á±N§Aªº³øªí°e¶i¥h. 
LPRng (¦pªG§A¥¿¦bÅª³o¤@¬q, §A¯uªº¸Ó§ï¥Î¥¦) ¤º«Ø¤ä´©±N¦C¦L¤u§@°e¨ì¥ô·Nªº
TCP °ð, ¦ý¬O BSD ªº lpd ´N¤£¬O³o»òÂ²³æ¤F. §Ú­Ì¥i¥H¥Î Perl
¨Ó¹ê°µ, ©Î¬O¥Î¨ä¥¦ªº¤è¦¡:

\begin{tscreen}
\begin{verbatim}
#!/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;
}
\end{verbatim}
\end{tscreen}





\subsection{´À»·ºÝ¦Lªí¾÷°õ¦æ {\itshape if\/}}

lpd ¤@­Ó¤£´M±`ªº¦a¤è¦b©ó¦pªG¬O»·ºÝ¦Lªí¾÷, {\itshape if\/} ¤£·|³Q°õ¦æ. 
¦pªG§Aµo²{§A»Ý­n°õ¦æ {\itshape if\/}, §A¥i¥H³]©wÂù­«¦î¦C(double queue) ¨Ã­«·s¦î¦C³øªí.
Á|­Ó¨Ò¤l, ¬Ý¤@¤U³o­Ó {\itshape printcap\/}:
\begin{tscreen}
\begin{verbatim}
lj-5:\
        :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:
\end{verbatim}
\end{tscreen}

©M¬ÛÃöªº {\ttfamily filter-lj-5} ©R¥O½Z(script):
\begin{tscreen}
\begin{verbatim}
#!/bin/sh
gs <options> -q -dSAFER -sOutputFile=- - | \
        lpr -Plj-5-remote -U$5
\end{verbatim}
\end{tscreen}


¥u¦³¦b lpr ¥HºÊ±±µ{¦¡(daemon) ¼Ò¦¡°õ¦æªº®É­Ô, {\itshape -U\/} ¿ï¶µ¤~¦³§@¥Î,
³o­Ó¿ï¶µ·|¥¿½T¦a³]©w²Ä¤G­«¦î¦C¤¤ªº°e¥ó¤H©m¦W. 
§A¥i¯àÀ³¸Ó¥Î§ó¥i¾aªº¤èªk¨ú±o°e¥ó¤H©m¦W, ¦]¬°¦³¨Ç®É­Ô¥¦¨Ã¤£¬O²Ä¤­­Ó°Ñ¼Æ.
½Ð°Ñ·Ó {\itshape \onlynameurl{printcap}\/}
ªº½u¤W¤âÉm.




\subsection{±q Windows ¦C¦L}

§Q¥Î SAMBA ®M¥ó¥i¥Hª½±µ¤ä´©¥H SMB ¨ó©w±q Windows (©Î³\ OS/2) «È¤áºÝ¦C¦L¨ì Linux
¦øªA¾¹, ³o­Ó®M¥ó¦P®É¤]¤ä´©±N§Aªº Linux ÀÉ®×¨t²Î¤À¨Éµ¹ Windows «È¤áºÝ.

Samba ¥]§t¤F¬Û·í§¹¾ãªº¤å¥ó, ¤]¦³¤@¥÷«Ü¤£¿ùªº Samba FAQ ²[»\¨ì³o¤è­±ªº¤º®e.
§A¥i¥H¦b Linux ¤W³]¸m magic filter µM«á¥H PostScript ¦C¦L, ©Î¬O¦b¨C¤@³¡ Windows
¾÷¾¹¤W¦w¸Ë¦Lªí¾÷±M¥ÎªºÅX°Êµ{¦¡µM«á¬°¥L­Ì³]©w¤@­Ó¤£¥Î¥ô¦ó filter ªº¦î¦C. ¨Ï¥Î
Windows ÅX°Êµ{¦¡¦³¨Ç®É­Ô·|¦³¤ñ¸û¦nªº¿é¥X, ¦ý¬O¦pªG¦³«Ü¦h³¡ Windows ¾÷¾¹,
ºÞ²zªÌ´N¤ñ¸û³Â·Ð. ©Ò¥H¥ý¸Õ¸Õ¬Ý PostScript §a!




\subsection{±q Apple ¦C¦L}

Netatalk ¤ä´©¥Ñ Apple «È¤áºÝ³z¹L EtherTalk ¦C¦L. ½Ð°Ñ·Ó
\nameurl{http://thehamptons.com/anders/netatalk/}{Netatalk HOWTO Page}
¥H¨ú±o§ó¶i¤@¨Bªº¸ê°T.




\subsection{±q Netware ¦C¦L}

ncpfs ®M¥ó§t¦³¤@­Ó¥s§@ pserver ªººÊ±±µ{¦¡(daemon) ¥i¥H´£¨ÑªA°Èµ¹ NetWare
ªº¦C¦L¦î¦C. ¾Ú§Ú©ÒÁA¸Ñ, ³o­Ó¨t²Î¥²¶··f°t Bindery-based ªº NetWare, ¹³¬O
2.x, 3.x, ©Î¬O¨Ï¥Î bindery ¦s¨úªº 4.x ª©¥».

­n¨ú±o§ó¶i¤@¨BÃö©ó ncpfs ©M¨ä pserver µ{¦¡ªº¸ê°T, ½Ð°Ñ·Ó
\nameurl{ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/}{ncpfs ªº FTP ¯¸}.




\section{Windows ±M¥Î¦Lªí¾÷}

¦p¦Pµy¦­¤§«e§Ú©Ò°Q½×ªº, ¦³¨Ç¦Lªí¾÷­ì¥»´N¤£³Q¤ä´©,
¦]¬°¥¦­Ì¨Ã«D¨Ï¥Î¤@¯ëªº¦Lªí¾÷»y¨¥, ¦Ó¬O§Q¥Î¹q¸£ªº CPU ¨Ó´yÃ¸¥X¦ì¤¸²Õ¦C(bitmap),
µM«á¦A¥H©T©wªº³t²v±N¤§¾É¨ì(pipe to) ¦Lªí¾÷.
¤Ö¼Æ³oÃþªº¦Lªí¾÷¤]¨Ï¥Î´¶³qªº¦Lªí¾÷»y¨¥, ¹³PCL, ¦ý¬O³q±`³£¨S¦³. ¦³¨Ç
(«D±`§C¶¥ªº) ¦Lªí¾÷¬Æ¦Ü¨Ã«D¨Ï¥Î¥­¦æ°ð³s±µ,
¦Ó¬O¾a¼t°ÓªºÅX°Êµ{¦¡¨Ó¼ÒÀÀµwÅéªº¦æ¬° (³Ì­«­nªº¬y¶q±±¨î(flow control)).



°²¦p§Aµo²{§A³´¦b³oºØ´c¦Hªº±¡ªp, µL½×¦p¦ó, Á`ÁÙ¦³¤@¨Ç¥i¯àªº¸Ñ¨M¤§¹D.




\subsection{Ghostscript Windows ¾É¦V¾¹(redirector)}

²{¦b¦³¤@­Ó Windows ªº¦Lªí¾÷ÅX°Êµ{¦¡¥i¥H¥Î (¥s°µ mswinpr2),
¥¦¥i¥H¦b¦C¦L¥X³øªí¤§«e¥ý±N¨ä°e¨ì Ghostscript ³B²z. (¦³ÂI¹³¦b Unix LPD ¤¤ªº if
filter). ¤]¦³¤@­Ó·sªº Ghostscript ÅX°Êµ{¦¡¥i¥H¥Î Windows GDI ©I¥s¨Ó¦C¦L.
§â¥¦­Ì°Â¦b¤@¶ô¨à, ³o¼ËÀ³¸Ó¥i¥HÅý Windows ¾÷¾¹¥Î¼t°ÓªºÅX°Êµ{¦¡¦C¦L PostScript
¨ì¤@³¡ Windows ±M¥Îªº¦Lªí¾÷.

¦pªG§A¦¨¥\¤F, §A¥i¥H¨Ì·Ó«e­±Åý Linux ³z¹Lºô¸ô¦C¦L¨ì Windows ¦Lªí¾÷ªº»¡©ú,
Åý Unix (¥H¤Î¨ä¥¦ªº Windows, Mac µ¥) ¥D¾÷¦C¦L¨ì§Aªº¦Lªí¾÷.

¸ÜÁö¦p¦¹, §Ú±q¨Ó¨S¸Õ¹L, ¦]¬°§Ú¨S¦³ Windows ±M¥Îªº¦Lªí¾÷, ©Ò¥H§Aªºµû»ù¥i¯à¤£¦P.
©Ò¦³³o¨à©Ò²o¯A¨ìªº³nÅéÀ³¸Ó³£¥i¥H±q Ghostscript ªº­º­¶ (½Ð¬Ý³o¥÷¤å¥ó¦b
Ghostscript ¤@¸`¤¤ªº³sµ²) §ä¨ì.




\subsection{pbm2ppa µ{¦¡}

¦³¨Ç HP ªº¦Lªí¾÷¨Ï¥Î "Printing Performance Architecture" ("§Ú­Ì¤Ó«K©y¤F,
©Ò¥H¨S¦³ PCL" ªº¦æ¾P³N»y). ­n¤ä´©³oºØ¦Lªí¾÷, ¥i¥H³z¹L¨Ï¥Î Tim Norman ©Ò¼gªº
pbm2ppa Â½Ä¶¾¹(translator) ªº³oºØ¨±°jªº¤è¦¡. °ò¥»¤W, §A¨Ï¥Î ghostscript ±N
PostScript ´yÃ¸¦¨ pbm ®æ¦¡ªº¦ì¤¸²Õ¦C¹Ï®×(bitmapped image), µM«á¥Î pbm2ppa
±N¨äÂ½Ä¶¦¨¥i¥Hª½±µ¶É¦L(dump) ªº¦Lªí¾÷±MÄÝªº ppa ®æ¦¡ªº¦ì¤¸²Õ¦C(bitmap).
³o­Óµ{¦¡²{¦b¥i¯à¤]¥H ghostscript ÅX°Êµ{¦¡ªº«¬¦¡¥X²{.



ppa ³nÅé¥i¥H¥Ñ \nameurl{http://www.rpi.edu/~normat/technical/ppa/}{ppa ªº­º­¶} ¨ú±o. pbm2ppa ¤ä´© HP 720,
820, ©M 1000 ªº¤@¨Ç¾÷ºØ; ½Ð¾\Åª®M¥ó¤¤©Òªþªº¤å¥ó¥H¨ú±o¦³Ãö ppa 
¦Lªí¾÷¤ä´©ªº§ó¶i¤@¨B¸ê°T.




\subsection{pbm2l7k µ{¦¡}

¤j³¡¥÷«K©yªº Lexmark ¼Q¾¥¦Lªí¾÷¨Ï¥Î¤@ºØ±M¥Îªº»y¨¥¦Ó¦¨¤F Windows ±M¥Îªº¦Lªí¾÷.
ÁÙ¦n, Henryk Paluch ¼g¤F¤@­Óµ{¦¡¥i¥H¦b Lexmark 7000 ¤W°µ¶Â¥Õ¦C¦L.
¥L¦³¥i¯à¯à°÷§ä¥X±m¦â¦C¦Lªº¤èªk¨Ã¥B¤ä´©¨ä¥¦ªº Lexmark ¼Q¾¥¦Lªí¾÷.
½Ð°Ñ·Ó \nameurl{http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/}{³o­Óºô¯¸}¥H¨ú±o§ó¦h¸ê°T.




\section{¦p¦ó¦C¦L¨ì¶Ç¯u¾÷}


\subsection{¨Ï¥Î¶Ç¯u¼Æ¾Ú¾÷(faxmodem)}

¥~­±¦³«Ü¦hªº¶Ç¯uµ{¦¡¥i¥HÅý§A¶Ç¯u¤Î±µ¦¬¤å¥ó. ³Ì½ÆÂøªº¨ä¤¤¤@­Ó´N¬O Sam Leffler
ªº {\itshape HylaFax\/}, ¥i¥H¦b {\ttfamily ftp.sgi.com} ¨ú±o. ¥¦¦³¦U¦¡¦U¼Ëªº¥\¯à,
±q¨Ï¥Î¦h³¡¼Æ¾Ú¾÷¨ì¼s¼½¶Ç°e(broadcasting).

SuSE ¥X¤F¤@­Ó Java ª©ªº HylaFax «È¤áºÝÀ³¸Ó¥i¥H¦b¥ô¦óªº Java ¥­¥x¤W¹B§@ (¥]¬A
Windows ©M Linux). ¤j³¡¥÷ªº¥­¥x¤W¤]¦³«D Java ª©ªº¶Ç¯u«È¤áºÝ; Linux
´X¥G¥i¥H§¹¥þ¦a³B²z§Aªººô¸ô¶Ç¯uªº»Ý­n.

¹ï¤j³¡¥÷ªº Linux ¾÷¾¹¦Ó¨¥, ÁÙ¦³¤@­Ó¸û¦nªº¿ï¾Ü, ´N¬O {\ttfamily \onlynameurl{efax}},
¤@­Ó°e¶Ç¯uªºÂ²³æµ{¦¡. ¦Ó getty ªºµ{¦¡ {\ttfamily mgetty} «h¥i¥H±µ¦¬¶Ç¯u
(¦b¦³¨Ç¼Æ¾Ú¾÷¤W¬Æ¦Ü¥i¥H±µ¦¬»y­µ¶l¥ó!).




\subsection{¨Ï¥Î»·ºÝ¦C¦LªA°È}

¦³¤H´£¨Ñ¤@ºØ¹êÅç©ÊªºªA°È, Åý§A¥i¥H¥Î¹q¤l¶l¥ó°e¥X§A·Q­n¦C¦Lªº¤º®e,
µM«á±q§O³Bªº¶Ç¯u¾÷¦C¦L¥X¨Ó. ³o­ÓªA°È¤ä´©¤@¨Ç¤£¿ùªº®æ¦¡, ¹³¬O PostScript,
ÁöµM²[»\ªº°Ï°ì¤£°÷¼sªx, ¤´¤£¥¢¬°¤@­Ó«Ü¦³¥ÎªºªA°È.
·Q­nª¾¹D§ó¦h¦³Ãö©ó¨Ï¥Î»·ºÝ¦C¦LªA°Èªº°T®§, ½Ð°Ñ·Ó \nameurl{http://www.tpc.int/}{Remote Printing WWW Site}.




\section{¦p¦ó²£¥Í­È±o¦C¦LªºªF¦è}

§Ú­Ì¥i¥H¨Ï¥Îªº³nÅé¯u¬O¤S¦h¤SÂø. °ò¥»¤W, Linux ¥i¥H°õ¦æ«Ü¦hºØªº¤G¶i¦ìÀÉ,
¬Û®e(°õ¦æ¦¨¥\) ªºµ{«×¦U¦³¤£¦P: Linux/x86, Linux/Alpha, Linux/Sparc, Linux/foo,
iBCS, Win16/Win32s (§Q¥Î dosemu, ©Î³\±N¨Ó¥Î Wine), Mac/68k (¥Î Executor),
©M Java. §Ú±N¥u°Q½×­ì¥Íªº(native) Linux ©M±`¨£ªº Unix ³nÅé.

´N Linux ¦Û¨­¦Ó¨¥, ¿ï¾Ü´X¥G¶È­­©ó¨º¨Ç Unix ¤@¯ë©Ò¯à¨ú±oªº:




\subsection{¼Ð¥Ü»y¨¥(Markup languages)}

¤j³¡¥÷ªº¼Ð¥Ü»y¨¥(markup languages) ¤ñ¸û¾A¦X¤j«¬ªº©Î¬O­«ÂÐ©Êªº­pµe,
§A¥i¥H¥Î¹q¸£¨Ó±±¨î¤å¦rªºª©­±³]­p¥H¨ú±o¤@­P©Ê.

\begin{description}
\item[{\ttfamily nroff}] \mbox{}

³o¬O Unix ³Ì¦­ªº¼Ð¥Ü»y¨¥¤§¤@. ³Ì±`¨£ªº½d¨Ò - ½u¤W¤â¥U(man
pages) - «K¬O¥Î *roff ¥¨¶°½s±Æ¦Ó¦¨ªº; ³\¦h¤H«H¿à nroff,
¦ý¬O¥¦ªº»yªk¤ñ©Ò»Ý­n¥Î¨ìªº§óÁ}ÀßÃøÀ´(¦Ü¤Ö¹ï§Ú¦Ó¨¥), ¹ï·sªº¤u§@¦Ó¨¥,
¥¦¥i¯à¨Ã¤£¬O­Ó¦n¿ï¾Ü. ¸ÜÁö¦p¦¹, ª¾¹D§A¥i¥H¥Î groff ±N½u¤W¤â¥Uª½±µ±Æª©¦¨
PostScript ÁÙ¬O­È±oªº. ¥Î {\ttfamily man -t foo $|$ lpr}, ¤j³¡¥÷ªº man
«ü¥O·|´À§A°µ³o¥ó¨Æ.



\item[TeX] \mbox{}

TeX, ©M¥¨¶°®M¥ó LaTeX, ¬O Unix ¤W³Ì³Q¼sªx¨Ï¥Îªº¼Ð¥Ü»y¨¥¤§¤@.
§Þ³N©Êªº¤u§@³q±`¥Î LaTeX ¨Ó¼¶¼g¦]¬°¥¦¯à¤j´T¦aÂ²¤Æ®æ¦¡½s±Æªº°ÝÃD,
¦Ó¥B¤´µM¬O¤Ö¼Æ¯à§¹¾ã¨Ã¨}¦n¦a¤ä´©¼Æ¾Ç²Å¸¹ªº¤å¦r³B²z¾¹¤§¤@. TeX ªº¿é¥X®æ¦¡¬°
{\ttfamily dvi}, ¥i¥H¥Î {\ttfamily dvips} ©Î {\ttfamily dvilj} ±N¨äÂà´«¬° PostScript ©Î¬O
Hewlett Packard ªº PCL. ¦pªG§A­n¦w¸Ë TeX ©Î LaTeX, ¦w¸Ë¾ã²Õ teTeX ®M¥ó;
¥¦¥]§t¤F©Ò»Ýªº¤@¤Á.



\item[SGML] \mbox{}

Unix ©M Linux ¦Ü¤Ö¦³¤@­Ó§K¶Oªº sgml »yªk¸ÑªRµ{¦¡(parser) ¥i¥Î;
¥¦¬O Linuxdoc-SGML ²£¥Íªº¤å¥ó¨t²Îªº°òÂ¦. ¥¦¤]¥i¥H¤ä´©¨ä¥¦ªº DTD(¤å¥ó«¬ºA©w¸q).



\item[HTML] \mbox{}

¦³¤H«ØÄ³»¡¹ï©ó¤ñ¸ûÂ²³æªº­pµe, ¥Î HTML ¼¶¼g, µM«á¥Î Netscape
¦C¦L¥i¯à´N¨¬°÷¤F. §Ú¨Ã¤£ÃÙ¦¨, ¦ý¬O§A¥i¯à¦³¤£¦Pªºµû»ù.

\end{description}





\subsection{©Ò¨£§Y©Ò±o(WYSIWYG) ªº¤å®Ñ³B²z¾¹}

©Ò¨£§Y©Ò±oªº¤å®Ñ³B²z¾¹¦A¤]¤£©È¨S¦³¤F. ¦³¦n´X®M¿ì¤½«Ç®M¸Ë³nÅé(office suite),
¨ä¤¤ÁÙ¦³¤@®M (StarOffice) ¥i¥HÅý­Ó¤H§K¶O¨Ï¥Î.
\begin{description}
\item[StarOffice] \mbox{}

¤@®a¼w°ê¤½¥q¦bºô¸ô¤W§K¶O´²§G Linux ª©¥»ªº StarOffice.
³o­Ó¥þ¥\¯àªº¿ì¤½«Ç®M¸Ë³nÅé¦³µÛ©Ò¦³§A·Q­nªº¥\¯à, ¦Ó¥B§AµLªk§Ü©Ú¥¦ªº»ù®æ.
¦³¤@¥÷ mini-HOWTO »¡©ú¦p¦ó¨ú±o¨Ã¦w¸Ë¥¦. ¥¦²£¥Í PostScript ©M PCL,
©Ò¥HÀ³¸Ó¥i¥H©M¤j³¡¥÷¯à¦b Linux ¤W¨Ï¥Îªº¦Lªí¾÷¤@°_¨Ï¥Î.
«Ü©úÅãªº, ¥¦¬O¤@®M Office ªº¥é»s«~, ¦Ó¥B¬Û·íªºÃe¤jÁs¸~.



\item[WordPerfect] \mbox{}

Corel §K¶Oµo¦æ¤F¤@®M Linux ª©¥»¤Wªº Word Perfect 8 Â²©öª©,
¦Ó¥B¤v¸g·t¥Ü¤@¥¹²¾´Óªº¤u§@§¹¦¨, ¥L­Ì¤]·|µo¦æ Corel Draw ©M Quattro Pro.
¦pªG§A¦³¤@³¡¨Ï¥Î ARM ³B²z¾¹ªº¾÷¾¹, ³o¥i¯à¬O§A³Ì¦nªº¿ï¾Ü; Corel 
¶}µo¥X´X´Ú¨Ï¥Î ARM ³B²z¾¹ªº Netwinder Linux ¥D¾÷, ¦Ó¥B¥i¥H»¡¬O¤@©w·|´£¨Ñ
ARM Linux ª©¥»ªº©Ò¦³ªFªF. §A¤]¥i¥H¿ï¾ÜÁÊ¶R¥þ¥\¯àªºª©¥»¤Î¤ä´©ªA°È,
¨âªÌ¤@°_©Î¬O¤À§OÁÊ¶R. \nameurl{http://www.channel1.com/users/rodsmith/wpfonts.html}{Linux    WordPerfect ¦r«¬»P¦Lªí¾÷}­º­¶¦³Ãö©ó³]©w WordPerfect ¨Ï¥Î Ghostscript
©Î¬O¤º«Øªº¦Lªí¾÷ÅX°Êµ{¦¡ªº¸ê®Æ.
(¤º«Øªº¦Lªí¾÷ÅX°Êµ{¦¡«Ü©úÅã¦a©M DOS ª© WordPerfect ªºÅX°Êµ{¦¡¤@¼Ò¤@¼Ë,
¸U¤@§Aªº¦Lªí¾÷ªºÅX°Êµ{¦¡¤£¦b WP8 ªºµo¦æ®M¥ó¤¤ªº¸Ü, ¥i¥H¸Õ¸Õ.)



\item[Applix] \mbox{}

Applix ¬O¥Ñ Applix ¤½¥q¾P°âªº¤@­Ó¸ó¥­»O(¦p¦UºØ¤£¦Pª©¥»ªº Unices, Windows
©M¨ä¥¦)ªº¿ì¤½«Ç®M¸Ë³nÅé. Red Hat ©M SuSE ¦b¥¦¬O°ß¤@¿ï¾Üªº®É­Ô´¿¸g¾P°â¹L;
²{¦b«h±N¾P°âÅv¥æÁÙµ¹ Applix.



\item[LyX] \mbox{}

LyX ¬O­Ó­È±o´Á«Ýªº LaTeX «eºÝ. ½Ð¬Ý \nameurl{http://www.lyx.org/}{LyX ­º­¶}
¥H¨ú±o§ó¶i¤@¨Bªº°T®§. ¦³¤@­Ó·f°t KDE ªº LyX ª©¥», ¥s°µ Klyx; LyX ªº§@ªÌ©M¾ã¦X
KDE ªº¤H¬O¦P¤@­Ó.



\item[Maxwell] \mbox{}

Maxwell ¬O­ÓÂ²³æªº¨Ï¥Î MS RTF ®æ¦¡ªº¤å®Ñ³B²z¾¹,
¤@¶}©l¬O­Ó°Ó·~²£«~, ¦ý²{¦b«h¬O±Ä¥Î GPL ª©Åvµo¦æ.



\item[The Andrew User Interface System] \mbox{}

AUIS ¥]¬A¤F {\ttfamily ez}, ¤@­Ó©Ò¨£§Y©Ò±o­·®æªº½s¿è¾¹,
¥¦¦³µÛ¤j³¡¥÷°ò¥»ªº¤å®Ñ³B²z¥\¯à, HTML ªº¯à¤O, ¥H¤Î§¹¥þ¦a¤ä´© MIME
®æ¦¡ªº¹q¤l¶l¥ó©M·s»D¸s²Õ. ¤£©¯ªº¬O, ¨S¤H¦AÄ~ÄòºûÅ@ AUIS.



\item[Koffice] \mbox{}

KDE ­pµe¥¿¦b´Â¦V¥þ®Mªº¿ì¤½«Ç®M¸Ë³nÅé§V¤O. §Ú¤£»{¬°¥¦¤w¸g·Ç³Æ¦nÅý¤j²³¨Ó¨Ï¥Î.
¥¦ªº¤å®Ñ³B²z¾¹«Ü©úÅãªº¬O LyX ªº«á¥N.



\item[GNOME] \mbox{}

GNOME ­pµe¤]¥¿¦b§V¤O¶}µo³\¦h¤£¦Pªº GNU ±ÂÅvªº¿ì¤½«Ç¤u¨ã. ¦ý¬OÁÙ¨S¤@­Ó¥i¥Î.





Jeff Phillips {\ttfamily $<$jeff@I\_RATUS.org{$>$}} ¨Ï¥Î Caldera ªº Linux ª©¥»ªº
WordPerfect 7(¦b Slackware ¤W, ¦b©Ò¦³ªº¿ï¾Ü¤§¤¤), »¡¤@¤Á¹B§@¥¿±`.
¥¦¦ü¥G¥]§t¤F¤º«Øªº¦Lªí¾÷¤ä´©, ¦p¦P¤@­Ó¤H©Ò·|·Q­nªº. Caldera À³¸Ó·|¦b \nameurl{http://www.caldera.com/}{} ¤W´£¨Ñ¤@¨Ç¸ê°T. §A¤]¥i¥Hª½±µ¦V Corel ©Ò¿ï¾Üªº
Unix ²¾´Ó¤½¥qÁÊ¶R¸û·sª©ªº WordPerfect.



¨ä¥¦ªº¼t°Ó½Ð§O«È®ð¦a§i¶D§Ú§A©Ò´£¨Ñªº²£«~.



\end{description}





\section{¦b¿Ã¹õ¤W¹wÄý¥i¦C¦LªºªF¦è}

´X¥G¥ô¦ó§A¯à¦C¦LªºªF¦è´N¥i¥H¦b¿Ã¹õ¤WÆ[¬Ý.


\subsection{PostScript}

Ghosrscript ¦³¤@­Ó X11 ªºÅX°Êµ{¦¡³Ì¦n¦b PostScript ªº¹wÄýµ{¦¡ \onlynameurl{gv}
ªººÞ²z¤U¨Ï¥Î. ³o¨Çµ{¦¡ªº³Ì·sª©À³¸Ó¤]¥i¥H¬Ý PDF ÀÉ®×. ­nª`·N gv
¤w¸g¨ú¥N¤F¸ûÂÂªº¹wÄýµ{¦¡ "Ghostview"; ·sªº¨Ï¥ÎªÌ¤¶­±­n¤ñ ghostview ¥­­±¦ÑÂÂªº
Athena ¹Ï§Î¨Ï¥ÎªÌ¤¶­±º}«Gªº¦h, ¥\¯à¤]¤ñ¸û¦h.




\subsection{TeX dvi}

TeX DeVice Independant ÀÉ®×¥i¥H¦b X11 ¤U¥Î \onlynameurl{xdvi} ¨Ó¹wÄý.
²{¥Nª©ªº xdvi ·|©I¥s ghostscript ¨Ó´yÃ¸ PostScript ªº³¡¥÷.

¤]¦³¤@­Ó VT100 ªºÅX°Êµ{¦¡, ¥s°µ {\ttfamily dgvt}. °²¦p§A¥u¯à°µ¨ì³o¼Ëªº¸Ü, {\ttfamily Tmview}
¥i¥H·f°t Linux ©M svgalib ¤@°_¥Î.




\subsection{Adobe PDF}

Adobe ªº Acrobat Reader ¦³´£¨Ñ Linux ª©; ¥u­n±q¥L­Ìªººô¯¸ \nameurl{http://www.adobe.com/}{} ¤U¸ü´N¥i¥H¤F.

§A¤]¥i¥H¥Î xpdf, ¥¦¬O­Ó§K¶O³nÅé(freeware) ¦Ó¥Bªþ­ì©l½X, ¦P®É§Ú·Q Ghostview
²{¦bÀ³¸Ó¤w¸g¤ä´©¦b X11 ¤U¥Î gs ¬Ý PDF ÀÉ®×.




\section{¦b lpd ¤U¨Ï¥Î§Ç¦C¦¡¦Lªí¾÷}


\subsection{³]©w printcap}

Lpd ¦b {\itshape /etc/printcap\/} ¤¤´£¨Ñ¤F¤­­Ó¥i¥H³]©wªºÄÝ©Ê,
Åý§A¥Î¨Ó±±¨î¦Lªí¾÷©Ò³s±µªº§Ç¦C°ðªº³]©w. ¾\Åª {\itshape \onlynameurl{printcap}\/}
ªº½u¤W¤âÉm(man page), ¨Ã½Ðª`·N {\itshape br\#\/}, {\itshape fc\#\/}, {\itshape xc\#\/},
{\itshape fs\#\/} ©M {\itshape xs\#\/} ªº·N¸q. ¨ä¤¤³Ì«áªº¥|­ÓÄÝ©Ê¬O¦ì¤¸²Õ¦C(bitmap),
¥Î¨Ó¥Nªí¸Ó§Ç¦C°ðªº¨Ï¥Î³]©w. ¦Ó {\itshape br\#\/} ÄÝ©Ê¥u¬O³æ¯ÂªºÀj²v(baud rate),
¨Ò¦p `{\ttfamily br\#9600}'.



­n±N \onlynameurl{stty} ªº³]©wÂà´«¬°
printcap ªººX¼Ð³]©w(flag settings) «D±`Â²³æ. °²¨Ï§A»Ý­n, ½Ð²{¦b´N¬Ý¬Ý stty
ªº½u¤W¤âÉm.



§A¥i¥H¥Î stty ¨Ó³]©w¦Lªí¾÷°ð, ¥H«KÅý§A¥i¥H±N¤@­ÓÀÉ®× cat ¨ì¸Ó°ð,
¨Ã¥B¨Ï¥¦¥¿½T¦a¦C¦L¥X¨Ó. ³o¨à¬O§Úªº¦Lªí°ð `{\itshape stty -a\/}' ªºµ²ªG:
\begin{tscreen}
\begin{verbatim}
dina:/usr/users/andy/work/lpd/lpd# stty -a < /dev/ttyS2
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr 
-igncr -icrnl ixon -ixoff -iuclc -ixany -imaxbel
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 
bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase
-tostop -echoprt -echoctl -echoke
\end{verbatim}
\end{tscreen}

³oùØ©M¶}¾÷®É§Ç¦C°ðªì©l¤Æªº³]©w¤è¦¡°ß¤@ªº¤£¦P¦b©ó {\ttfamily -clocal}, {\ttfamily -crtscts},
©M {\ttfamily ixon}. ®Ú¾Ú§Aªº¦Lªí¾÷ªº¬y¶q±±¨î(flow control) ¤è¦¡, §Aªº³]©w¥i¯à·|¤£¦P.



¹ê»Ú¤W, §A¬O¥H¯S®íªº¤è¦¡¨Ï¥Î stty. ¦]¬° stty ªº¹ï¶H¬O³s±µ¦b¼Ð·Ç¿é¤J(standard
input) ¤Wªº²×ºÝ¾÷¸Ë¸m, §A¬O¥Î¦p¤W©Ò¥Üªº `{\ttfamily $<$}' ¦r¤¸, ¨Ó¨Ï±o stty
³B²z©Ò«ü©wªº§Ç¦C°ð.



¥u­n§Aªº stty ³]©w¥¿½T, `{\itshape cat file {$>$} /dev/ttyS2\/}' (¦b§Úªº¨Ò¤l¤¤)
´N¥i¥H±NÀÉ®×°e¨ì¦Lªí¾÷¤F, ½Ð¬Ý¤@¤U³o­ÓÀÉ®×
/usr/src/linux/include/asm-i386/termbits.h, ¥¦¥]§t¤F«Ü¦hªº
\#define ©M¤@¨Ç struct (§A¥i¯à·Q§â¥¦ cat ¨ì¦Lªí¾÷ (¤w¸g¥i¥H¥Î¤F§a, ¹ï¤£¹ï?),
µM«á§â¥¦·í°µ«K±ø¯È). §ä¨ì¤U­±³o¤@¦æ:

\begin{tscreen}
\begin{verbatim}
/* c_cflag bit meaning */
#define CBAUD   0000017
\end{verbatim}
\end{tscreen}

³o¤@¬q¦C¥X¤F {\itshape fc\#\/} ©M {\itshape fs\#\/} ¦ì¤¸ªº·N¸q. §A·|µo²{¨ì¨º¨àªº¦WºÙ
(¦bÀj²v¤§«á) ©M stty ¿é¥Xªºµ²ªG¨ä¤¤¤@¦æ¬Û²Å¦X, §Ú¤£¬O»¡³o·|«Ü®e©ö¶Ü?



§ä¨ì¨º¨Ç¦b§Aªº stty µ²ªG¤¤«e­±¦³´î¸¹(-) ªº³]©w, §â¨º¨Ç¼Æ¦r(¬O¤K¶i¦ìªº) ¥[°_¨Ó.
³o¥Nªí¤F§A­n²M°£ªº¦ì¤¸, µ²ªG´N¬O§Aªº {\itshape fc\#\/} ¯à¤O. ·íµM§A¤]¥i¥Hª½±µ¥Î
`{\ttfamily fc\#0177777}' (§Ú´N¬O), ¦]¬°§A±N·|¦b²M°£¤§«á¥ß¨è³]©w³o¨Ç¦ì¤¸.



²{¦b¹ï¨º¨Ç¦b stty ªºµ²ªG¤¤¨S¦³´î¸¹¦b«e­±ªº³]©w (¦b³o¤@¬q¤¤©Ò¦C¥Xªº) °µ¦P¼Ëªº¨Æ.
¦b§Úªº¨Ò¤l¤¤, ­«­nªº³]©w¦³  CS8 (0000060), HUPCL (0002000), ©M CREAD
(0000200). ¦P®É¤]§ä¨ì¥Nªí§AªºÀj²vªººX¼Ð (§Úªº¬O 0000015), §â¥¦­Ì²Î²Î¥[°_¨Ó,
¦b§Úªº¨Ò¤l¤¤·|±o¨ì 0002275. ³o´N¬O§Aªº {\itshape fs\#\/} ¯à¤O (`{\ttfamily fs\#02275}'
¦b§Úªº¨Ò¤l¤¤¹B§@ªº«Ü¦n).



¥Î¦P¼Ëªº¤è¦¡°w¹ï³o­Ó¼ÐÃDÀÉ(include file) ¤¤ªº¤U¤@¬q, "c\_lflag bits",
°µ³]©w©M²M°£ªº°Ê§@. ¦b§Úªº¨Ò¤l¤¤§Ú¤£»Ý­n³]©w¥ô¦óªF¦è, ©Ò¥H¥u­n¥Î
`{\ttfamily xc\#0157777}' ©M `{\ttfamily xs\#0}' ´N¥i¥H¤F.




\subsection{·|±¼¦rªºÂÂ«¬§Ç¦C¦¡¦Lªí¾÷}

Jon Luckey «ü¥X¦³¨Ç¨ã¦³ ten-cent
§Ç¦C¤¶­±©M¤p½w½Ä°ÏªºÂÂ«¬ªº§Ç¦C¦¡¦Lªí¾÷, ·í¨Ï¥Î¬y¶q±±¨î®É,
»¡°±¤î´N¬O{\itshape ¯uªº\/}ªí¥Ü°±¤î. ¥Lµo²{¥Î {\ttfamily \onlynameurl{setserial}}
°±¥Î¥Lªº Linux ¾÷¾¹ªº 16550 §Ç¦C°ðªº FIFO ¥\¯à«á, ±¼¦rªº°ÝÃD´N¸Ñ¨M¤F
(¦pªG§A­n³o¼Ë°µ, ¦ü¥G¥u­n±N uart ªººØÃþ«ü©w¬° 8250 ´N¥i¥H¤F).




\section{·PÁÂ}

{\ttfamily smbprint} ªº¸ê°T¬O±q Marcel Roelofs {\ttfamily $<$marcel@paragon.nl{$>$}}
ªº¤@½g¤å³¹¨Óªº.



¦³Ãö¨Ï¥Î Netware ¦Lªí¾÷ªº {\ttfamily nprint} ªº¸ê°T¬O¥Ñ Michael Smith
{\ttfamily $<$mikes@bioch.ox.ac.uk{$>$}} ©Ò´£¨Ñªº.



¦b lpd ¤U¨Ï¥Î§Ç¦C¦¡¦Lªí¾÷¤@¸`¬O¥Ñ Andrew Tefft
{\ttfamily $<$teffta@engr.dnet.ge.com{$>$}} ©Ò´£¨Ñ.



¦³Ãö gs ©M gamma ªº¤¶²Ð¬O Andreas {\ttfamily $<$quasi@hub-fue.franken.de{$>$}}
°e¨Óªº.



¦³Ãö§Ç¦C°ðªº 30 ¬í closing\_waiting ªº¨º¨â¬q¬O¥Ñ Chris Johnson
{\ttfamily $<$cdj@netcom.com{$>$}} ©Ò°^Ämªº.



Robert Hart °e¨Ó¤@¨Ç·¥¨Îªº¤ù¬q, ¬OÃö©ó³]©w¤@³¡¨Ï¥Î HP
ºô¸ô¦Lªí¾÷ªº¦C¦L¦øªA¾¹, §Ú³v¦r·Ó¥Î.



ÁÙ­n¯S§OÁÂÁÂ§A­Ì¤§¤¤ªº«Ü¦h¤H, ¨º¨Ç¾ú¦~¨Ó´¿¸g«ü¥X¤å³¹¤¤¥´¦r, url,
¥H¤ÎºØºØ¿ù»~ªº¤H, ÁÂÁÂ.



\end{document}
