Berkeley Printing System
Berkeley Printing System (auch: Berkeley lpd, BSD-System, Line Printer Daemon protocol / LPD, Line Printer Remote protocol / LPR)
Berkeley lpd (auch: BSD-System) ist zum Drucken unter Unix recht verbreitet, da es Netzwerkdrucker unterstützt. Dieser Standard wurde bereits in andere Betriebssysteme als Unix (z. B. Linux, Mac OS X) übernommen und hat sich zu einem Quasi-Standard für TCP/IP-Drucker entwickelt.
Befehle
- lpr schickt einen Auftrag an den Drucker
- lprm löscht einen Auftrag aus der Druckerwarteschlange
- lpq zeigt Drucker und ihre Druckerwarteschlange
- lpd ist der Druckerdämon und behandelt die Druckanforderungen
- lpc steuert den Druckerdämon lpd
- lpmove verschiebt einen Druckauftrag zu einem anderen Drucker
Konfiguration
Die Konfiguration findet in der Datei "/etc/printcap" statt.
Starten des Druckauftrags
Der Server des Druckdienstes heisst lpd. Um als Anwender Dateien in das Spoolverzeichnis des Dienstes zu schreiben, wird das Frontendprogramm lpr verwendet. Der Name des Druckers ist in der Druckerkonfigurationsdatei "/etc/printcap" hinterlegt. Dort steht auch, ob der Drucker direkt an der lokalen Maschine angeschlossen ist oder ob er über das Netz erreichbar ist.
Ausgabe der Datei "file" auf den Standarddrucker, der der Umgebungsvariable "PRINTER" entnommen wird.
$ lpr file
Ausdruck der Druckkonfigurationsdatei "/etc/printcap" mit einer Titelzeile.
$ pr -h "/etc/printcap vom 18.04.2003" /etc/printcap | lpr
Erzeugung der Prozessliste mit ps, Formatierung mit pr und anschliessender Ausdruck.
$ ps -alx | pr -h "ps um 13:27" | lpr
Ausdruck der mittels a2ps veränderten Datei "file" auf dem Drucker "drucker1".
$ a2ps file | lpr -Pdrucker1
Druckkontrolle
Anzeige der laufenden Druckaufträge für den Standarddrucker.
$ lpq
Anzeige der laufenden Druckaufträge für den Drucker "drucker1".
$ lpq -Pdrucker1
Löschen in der Warteschlange eingestellter Druckaufträge mittels der Druckauftragsnummer. Das funktioniert nur, solange der Druckdämon den Auftrag noch nicht in Bearbeitung hat.
$ lprm
Tipps
Entfernen einer "banner page"
Problem: Es gibt einen Drucker, der trotz gesetztem Schalter "-h" im Druckskript weiterhin eine zusätzliche Seite ausdruckt. Darauf steht jeweils:
User: sieraak1 Host: sun2000 Class: sun2000 Job: 4386-1
Lösung: Es gibt zwei "banner pages"; eine wird vom Spooler erzeugt (die kann über lpadmin und die Option "-h" in lpr weggeschaltet werden); eine weitere wird vom Drucker erzeugt, wenn als Protokoll LPD (entspricht BSD) verwendet wird und wenn dieses feature im Drucker aktiviert ist; es lässt sich am Drucker über die Menüführung abschalten oder (bei HP Laserjet) über ein telnet auf Port 23 konfigurieren.
$ telnet 172.16.11.3 Connected to 172.16.11.3. HP JetDirect Please type "?" for HELP, or "/" for current settings > / ===JetDirect Telnet Configuration=== Firmware Rev. : H.07.17 MAC Address : 00:10:83:56:07:14 Config By : USER SPECIFIED IP Address : 172.16.11.3 Subnet Mask : 255.255.0.0 Default Gateway : 172.16.1.1 Syslog Server : Not Specified Idle Timeout : 90 Seconds Set Cmnty Name : Not Specified Host Name : NPI560714 DHCP Config : Disabled Passwd : Disabled IPX/SPX : Enabled DLC/LLC : Disabled Ethertalk : Disabled Banner page : Enabled > banner: 0 > / > quit User Quitting Connection closed by foreign host.