Damit das Drucken gut funktioniert, ist es wichtig, die Funktionsweise des lpd-Systems zu verstehen.
Lpd steht für Line Printer Daemon und bezieht sich je nach
Zusammenhang entweder auf den Daemon oder auf die gesamten Programme,
die für das Druck-Spooling zuständig sind. Das sind:
lpdDer Spooling-Daemon. Einer von diesen kontrolliert alles auf einer Maschine, UND einer läuft pro Drucker solange der Drucker druckt.
lprDer Spooling-Befehl für den Anwender. Lpr ruft lpd auf und setzt einen neuen Druckauftrag (Job) in den Spool.
lpqListet die Jobs in einer Drucker-Warteschlange auf.
lpcDer Lpd Systemkontrollbefehl. Mit lpc können die Warteschlangen gestoppt, gestartet, umsortiert, etc. werden.
lprmlprm entfernt einen Auftrag aus der Warteschlange.
Und wie paßt das alles zusammen? Nun ja, wenn der Computer bootet wird
lpd gestartet. Es durchsucht die Datei /etc/printcap, um
festzustellen, für welche Drucker es die Spools verwaltet. Jedes mal,
wenn man lpr aufruft, nimmt lpr mit lpd durch einen Socket namens
/dev/printer Verbindung auf und übergibt lpd die zu druckende
Datei und einige Informationen, wer druckt und wie zu drucken ist. Lpd
druckt dann die Datei auf dem passenden Drucker aus.
Das lp-System wurde ursprünglich entwickelt, als die meisten Drucker Zeilendrucker waren - das heißt, die meisten Anwender benutzten reine Ascii-Drucker. Es hat sich herausgestellt, daß nur etwas mehr Aufwand nötig ist, damit lpd mit heutigen Druckaufträgen zusammenarbeitet, die häufig in PostScript oder Text oder dvi oder ... sind.