为了让列印功能能够正常运作, 你需要了解 lpd 系统是如何运作的.
Lpd 是 Line Printer Daemon 的缩写, 根据上下文指的可以是监控程式(the daemon) 本身或是执行印表机连线作业的全套程式. 包括了有:
lpd
印表机连线作业监控程式(The spooling daemon). 有一个负责控制所有事情, 另外针对每一部列印中的印表机也会执行一份.
lpr
使用者的列印指令. Lpr 会联络 lpd 并将列印工作送进列印暂存器.
lpq
列出伫列中等待列印的工作.
lpc
Lpd 系统控制指令. 你可以用 lpc 来控制伫列, 如停止, 开始, 调整顺序等等.
lprm
lprm
可以从伫列中移除一件列印工作.
那这一切是如何凑在一起的呢? 当系统开机时会执行 lpd. 它会检查 /etc/printcap 中有那些印表机要设立列印暂存器. 每当有使用者执行 lpr 时, lpr 会透过 /dev/printer 的插座(socket) 找到 lpd, 并将要列印的档案和一些关於列印的人以及列印方法的资讯传送给 lpd. 然後 lpd 再将档案送到的适当印表机.
lp 系统设计的时候, 大部份的印表机都是列式印表机(line printer) - 也就是说, 大部份的使用者是列印纯文字格式(plain ascii). 结果就是我们还得做一些额外的命令稿处理(scripting) 才能使 lpd 适用於现今的列印工作, 通常是 PostScript, 或是文字格式, 或是 dvi, ...