Berkeley Printing System

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

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.

Weblinks

Vorlage:enwi