Dieser Abschnitt beschreibt, wie Sie einen unter FreeBSD konfigurierten Drucker verwenden können. Die folgende Liste bietet einen Überblick über wichtige Anwenderbefehle:
Zusätzlich existiert mit lpc(8) ein Befehl zur zur Steuerung von Druckern und Druckerwarteschlangen, der im Abschnitt Drucker verwalten näher beschrieben wird.
Jeder der drei Befehle lpr(1), lprm(1), sowie lpq(1) akzeptiert die
Option -P printer-name
,
mit der Sie den zu verwendenden Drucker (der dazu in /etc/printcap definiert sein muss) festlegen. Dadurch sind Sie in
der Lage, Druckaufträge zu erstellen, zu stornieren, oder den Status Ihrer Druckaufträge
zu überprüfen. Verwenden Sie die Option -P
nicht, wird der in
der Umgebungsvariable PRINTER definierte Drucker verwendet.
Existiert diese Variable nicht, greifen diese Befehle auf den Drucker lp zurück.
Im Folgenden steht der Begriff Standarddrucker daher für den über die Umgebungsvariable PRINTER definierten Drucker, oder, falls diese Variable nicht existiert, für den Drucker lp.
Um eine Datei zu drucken, geben Sie folgenden Befehl ein:
% lpr filename ...
Dadurch wird jede angegebene Datei an den Standarddrucker geschickt. Wenn Sie keine Datei angeben, liest lpr(1) die zu druckenden Daten von der Standardeingabe. Um beispielsweise einige wichtige Systemdateien zu drucken, geben Sie folgenden Befehl ein:
% lpr /etc/host.conf /etc/hosts.equiv
Um einen bestimmten Drucker auszuwählen, verwenden Sie:
% lpr -P
printer-name filename ...
Das folgende Beispiel gibt eine ausführliche Liste aller im Arbeitsverzeichnis enthaltenen Dateien auf den Drucker rattan aus:
% ls-l
| lpr-P
rattan
Da keine Dateien an lpr(1) übergeben
werden, liest lpr die zu druckenden Daten von der
Standardeingabe, in unserem Fall also die Ausgabe des Befehls ls -l
.
lpr(1) akzeptiert auch verschiedene Optionen zur Formatierung und Konvertierung von Dateien, zur Erzeugung von multiplen Ausdrucken und so weiter. Lesen Sie dazu den Abschnitt Druckoptionen.
Wenn Sie lpr(1) verwenden, werden alle zu druckenden Daten in ein Paket, den sogenannten “Druckauftrag”, gepackt und an LPD geschickt. Jeder Drucker verfügt über eine Druckerwarteschlange, in der Ihre Druckaufträge gemeinsam mit denen anderer Benutzer verbleiben, bis sie gedruckt werden können. Zuerst eintreffende Druckaufträge werden dabei auch zuerst gedruckt.
Um die Druckerwarteschlange des Standarddruckers anzuzeigen, verwenden Sie lpq(1). Wollen Sie
einen anderen Drucker abfragen, müssen Sie die Option -P
verwenden. Der Befehl
% lpq -P
bamboo
zeigt so die Druckerwarteschlange des Druckers bamboo
an. Dieser Befehl liefert eine Ausgabe ähnlich der folgenden:bamboo is ready and printing Rank Owner Job Files Total Size active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes 2nd kelly 10 (standard input) 1635 bytes 3rd mary 11 ... 78519 bytes
Derzeit enthält die Warteschlange von bamboo drei Druckaufträge. Dem ersten Auftrag, der vom Benutzer kelly erstellt wurde, wurde die “Auftragsnummer (job number)” 9 zugewiesen. Analog erhält jeder Druckerauftrag eine eindeutige Nummer zugewiesen. Diese Nummern sind nur dann von Bedeutung, wenn Sie einen Druckauftrag stornieren wollen. Der Abschnitt Druckaufträge stornieren beschreibt, wie Sie dazu vorgehen.
Der Auftrag mit der Nummer 9 besteht aus zwei Dateien, mehrere an lpr(1) übergebene Dateien werden also als Teil eines (gemeinsamen) Druckauftrags betrachtet. Dieser Druckauftrag ist derzeit aktiv (beachten Sie den Status active in der Spalte “Rank”), wird also gerade gedruckt. Der zweite Auftrag besteht aus Daten, die von der Standardeingabe an lpr(1) übergeben wurden. Der dritte Auftrag wurde vom Benutzer mary erstellt. Er ist sehr viel größer als die anderen Aufträge. Da der Pfad der zu druckenden Datei aufgrund seiner Länge nicht in der Spalte “Files” Platz hat, werden von lpq(1) nur drei Punkte angezeigt.
Die erste Zeile der Ausgabe von lpq(1) ist ebenfalls sehr nützlich: Sie beschreibt den momentanen Druckerstatus (oder zumindest, was LPD denkt, dass der Drucker gerade macht).
lpq(1) unterstützt
auch die Option -l
zur Erstellung einer ausführlicheren
Ausgabe. Die Eingabe von lpq -l
erzeugt für unser obiges Beispiel die folgende Ausgabe:
waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes /etc/hosts.equiv 15 bytes kelly: 2nd [job 010rose] (standard input) 1635 bytes mary: 3rd [job 011rose] /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes
Mit lprm(1) können Sie einen Druckauftrag stornieren. Häufig ist lprm(1) auch noch in der Lage, einen bereits aktiven Auftrag abzubrechen, allerdings wird dabei in der Regel trotzdem ein Teil des Auftrages oder der gesamte Auftrag gedruckt.
Um einen Druckauftrag auf dem Standarddrucker zu stornieren, müssen Sie zuerst die Auftragsnummer über lpq(1) ermitteln. Danach geben Sie Folgendes ein:
% lprm Job-Nummer
Um einen Druckauftrag eines anderen Druckers zu stornieren, benötigen Sie
wiederum die Option -P
. Der folgende Befehl entfernt den
Druckauftrag mit der Nummer 10 aus der Warteschlange des Druckers bamboo:
% lprm -P
bamboo 10
lprm(1) unterstützt verschiedene Kurzbefehle:
Entfernt alle Druckaufträge (des Standarddruckers), die von Ihnen erstellt wurden.
Entfernt alle Druckaufträge (des Standarddruckers), die vom Benutzer user erstellt wurden. Der Superuser kann im Gegensatz zu einem normalen Benutzer auch Aufträge anderer Benutzer entfernen.
Wenn Sie weder eine Auftragsnummer, einen Benutzernamen, noch die Option -
angeben, entfernt lprm(1) den aktiven
Druckauftrag auf dem Standarddrucker, falls dieser Auftrag von Ihnen erstellt
wurde. Der Superuser kann hingegen jeden aktiven Druckauftrag abbrechen.
Verwenden Sie zusätzlich die Option -P
zu den eben
beschriebenen Kurzbefehlen, wenn Sie diese auf einen anderen Drucker als den
Standarddrucker anwenden wollen. So entfernt der folgende Befehl beispielsweise alle
Druckaufträge des aktuellen Benutzers aus der Druckerwarteschlange des Druckers
rattan:
% lprm -P
rattan -
Anmerkung: Wenn Sie in einer Netzwerkumgebung arbeiten, erlaubt es lprm(1) Ihnen nur, Druckaufträge auf dem Rechner zu stornieren, auf dem sie erstellt wurden. Dies gilt selbst dann, wenn der gleiche Drucker auch auf anderen Rechnern des Netzwerks verfügbar ist. Die folgende Befehlsfolge veranschaulicht diesen Umstand:
% lpr-P
rattan myfile % rlogin orchid % lpq-P
rattan Rank Owner Job Files Total Size active seeyan 12 ... 49123 bytes 2nd kelly 13 myfile 12 bytes % lprm-P
rattan 13 rose: Permission denied % logout % lprm-P
rattan 13 dfA013rose dequeued cfA013rose dequeued
lpr(1) unterstützt verschiedene Optionen zur Formatierung von Text, zur Konvertierung von Grafik- und anderen Dateiformaten, zur Erzeugung von multiplen Kopien, zur Verwaltung von Druckaufträgen und andere mehr. Dieser Abschnitt beschreibt einige dieser Optionen.
Die folgenden lpr(1)-Optionen kontrollieren die Formatierung von in einem Druckauftrag enthaltenen Dateien. Verwenden Sie diese Optionen, wenn Ihr Druckauftrag keinen normalen Text enthält, oder wenn Sie normalen Text mit pr(1) formatieren wollen.
Der folgende Befehl druckt so beispielsweise eine DVI-Datei (des TeX-Satzsystems) namens fish-report.dvi auf dem Drucker bamboo:
% lpr -P
bamboo -d fish-report.dvi
Diese Optionen gelten für jede Datei des Druckauftrags, daher ist es nicht möglich beispielsweise DVI- und ditroff-Dateien über den gleichen Druckauftrag zu drucken. Sie müssen diese Dateien vielmehr über getrennte Druckaufträge drucken, wobei Sie jeweils geeignete Konvertierungsoptionen verwenden.
Anmerkung: Alle Optionen mit Ausnahme von
-p
und-T
setzen einen installierten und für den jeweiligen Drucker konfigurierten Konvertierungsfilter voraus. So benötigt die Option-d
den DVI-Konvertierungsfilter. Diese Filter werden im Abschnitt Konvertierungsfilter ausführlich beschrieben.
-c
Druckt cifplot-Dateien.
-d
Druckt DVI-Dateien.
-f
Druckt FORTRAN-Textdateien.
-g
Druckt Plot-Daten.
-i anzahl
Rückt die Ausgabe um anzahl Spalten ein, lassen Sie anzahl weg, wird der Text um 8 Spalten eingerückt. Beachten Sie aber, dass diese Option nicht mit allen Konvertierungsfiltern funktioniert.
Anmerkung: Zwischen der Option
-i
und der der Zahl darf dabei kein Leerzeichen stehen.
-l
Druckt Text inklusive vorhandener Steuerzeichen.
-n
Druckt ditroff-Dateien (geräteunabhängiges troff).
Formatiert normalen Text mit pr(1), bevor der Ausdruck erfolgt.
-T titel
Verwende titel auf dem pr(1)-Deckblatt
anstelle des Dateinamens. Diese Option ist nur wirksam, wenn sie gemeinsam mit der
Option -p
verwendet.
-t
Druckt troff-Daten.
-v
Druckt Rasterdaten.
Dazu ein Beispiel. Der folgende Befehl druckt eine formatierte Version der Manualpage zu ls(1) auf den Standarddrucker:
% zcat /usr/share/man/man1/ls.1.gz | troff-t
-man | lpr-t
zcat(1) dekomprimiert
den Quellcode der Manualpage ls(1) und reicht ihn
an troff(1) weiter, das
ihn formatiert und daraus GNU troff-Daten erzeugt. Diese werden wiederum an
lpr(1) weitergereicht,
das den Druckauftrag schließlich an LPD übergibt.
Da die Option -t
von lpr(1) verwendet
wurde, konvertiert das Drucksystem die GNU troff-Daten zuvor in ein Format,
das der Standarddrucker verstehen und ausgeben kann.
Die folgenden Optionen von lpr(1) weisen LPD an, den Druckauftrag auf verschiedene Art und Weise zu behandeln:
Erzeugt anzahl Ausdrucke jeder im Druckauftrag enthaltenen Datei anstelle eines einzigen Exemplars. Diese Option kann von einem Administrator deaktiviert werden, um die Beanspruchung des Druckers zu verringern. Lesen Sie den Abschnitt Den Ausdruck von mehreren Kopien verhindern, wenn Sie diese Funktion benötigen.
Das folgende Beispiel druckt drei Kopien der Datei parser.c, gefolgt von drei Kopien von parser.h auf den Standarddrucker:
% lpr -#3
parser.c parser.h
Verschickt eine E-Mail, nachdem der Druckauftrag beendet wurde. Verwenden Sie diese Option, sendet LPD Ihnen eine E-Mail, wenn es die Bearbeitung Ihres Druckauftrages abgeschlossen hat. Diese Nachricht enthält Informationen darüber, ob Ihr Auftrag erfolgreich erledigt wurde oder ob ein Fehler auftrat. Ist dies der Fall, wird meist noch angegeben, welcher Fehler auftrat.
Kopiert die Dateien nicht in das Spooling-Verzeichnis, sondern verlinkt stattdessen symbolisch auf diese Dateien.
Wenn Sie einen umfangreichen Druckauftrag erstellen, werden Sie diese Option wahrscheinlich verwenden wollen. Einerseits sparen Sie dadurch Speicherplatz im Spooling-Verzeichnis (im schlimmsten Fall könnte Ihr Druckauftrag ansonsten das Dateisystem des Spooling-Verzeichnis zum Überlaufen bringen), andererseits sparen Sie dadurch auch Zeit, weil LPD die in Ihrem Druckauftrag enthaltenen Dateien nicht in das Spooling-Verzeichnis kopieren muss.
Da LPD in diesem Fall die Originaldateien verwendet, muss sichergestellt sein, dass diese nicht verändert werden, bevor der Ausdruck abgeschlossen ist.
Anmerkung: Wenn Sie auf einen entfernten Drucker drucken, muss LPD die Dateien dennoch vom lokalen auf den entfernten Rechner kopieren. In diesem Fall spart die Option
-s
Speicherplatz lediglich im lokalen Spooling-Verzeichnis, nicht aber im entfernten. Dennoch ist diese Option auch in diesem Fall nützlich.
Löscht die im Druckauftrag enthaltenen Dateien, nachdem sie in das
Spooling-Verzeichnis kopiert oder unter Verwendung der Option -s
gedruckt werden. Verwenden Sie diese Option daher
nur mit äußerster Vorsicht!
Die folgenden lpr(1)-Optionen passen den Text an, der auf einem Deckblatt eines Druckauftrages ausgegeben wird. Wird die Ausgabe von Deckblättern auf dem Zieldrucker unterdrückt, bleiben diese Optionen wirkungslos. Lesen Sie den Abschnitt Deckblätter, wenn Sie diese Funktion benötigen.
Ersetzt den Rechnernamen auf dem Deckblatt durch text. Der Rechnername ist dabei in der Regel der Name des Rechners, auf dem der Druckauftrag erstellt wurde.
Ersetzt den Namen des Druckauftrages auf dem Deckblatt durch text. Der Name des Druckauftrages entspricht in der Regel dem Namen der ersten Datei des Druckauftrages oder stdin, wenn Sie die Standardeingabe an den Drucker weiterleiten.
Verhindert den Ausdruck von Deckblättern.
Anmerkung: Ob diese Option funktioniert, hängt von der Art und Weise ab, wie Deckblätter auf Ihrem System erzeugt werden. Lesen Sie den Abschnitt Deckblätter für weitere Informationen.
Als Administrator Ihres Systems ist es Ihre Aufgabe, Drucker zu installieren, zu konfigurieren und zu testen. Um mit Ihrem Drucker zu kommunizieren, können Sie lpc(8) verwenden. Dadurch sind Sie in der Lage,
Ihre Drucker zu starten und zu beenden.
Die Warteschlangen Ihrer Drucker zu aktivieren und zu deaktivieren.
Die Reihenfolge der Druckaufträge zu ändern.
Am Anfang dieses Abschnitts steht die Erklärung einiger Begriffe. Wenn ein Drucker beendet ist, wird der Inhalt seiner Warteschlange nicht gedruckt. Druckaufträge können zwar weiterhin erstellt werden, diese verbleiben aber solange in der Warteschlange, bis der Drucker wieder gestartet oder die Warteschlange gelöscht wird.
Ist eine Warteschlange deaktiviert, kann (mit Ausnahme von root) kein Benutzer mehr einen Druckauftrag erteilen. Ist die Warteschlange hingegen aktiviert, können Druckaufträge erteilt werden. Ist ein Drucker zwar gestartet, die Warteschlange hingegen deaktiviert, werden dennoch alle noch in der Warteschlange vorhandenen Druckaufträge gedruckt.
Im Allgemeinen benötigen Sie root-Rechte, um lpc(8) einsetzen zu können. Als normaler Benutzer erlaubt es Ihnen lpc(8) lediglich, den Druckstatus abzufragen und einen hängenden Drucker neu zu starten.
Es folgt nun eine Zusammenfassung der Befehle von lpc(8). Die meisten dieser Befehle benötigen das Argument printer-name, mit dem Sie angeben, auf welchen Drucker der Befehl angewendet werden soll. Wenn Sie für printer-name all angeben, wird der Befehl auf alle in /etc/printcap definierten Drucker angewendet.
Bricht den aktuellen Druckauftrag ab und beendet den Drucker. Solange die Warteschlange aktiviert ist, können allerdings weiterhin Druckaufträge erteilt werden.
Entfernt veraltete Dateien aus dem Spooling-Verzeichnis des Druckers, da diese manchmal nicht vollständig von LPD entfernt werden können. Dies ist insbesondere dann der Fall, wenn während der Bearbeitung des Druckauftrages Fehler auftraten. Dieser Befehl sucht dabei nach Dateien, die nicht in das Spooling-Verzeichnis gehören und entfernt diese.
Deaktiviert die Annahme neuer Druckaufträge. Solange der Drucker nicht beendet wird, werden weiterhin alle in der Warteschlange enthaltenen Auftrage bearbeitet und gedruckt. root kann jederzeit Druckaufträge erstellen, selbst dann, wenn die Druckerwarteschlange deaktiviert ist.
Dieser Befehl ist besonders nützlich, wenn Sie einen neuen Drucker testen müssen oder einen neuen Filter installiert haben. Dazu deaktivieren Sie die Warteschlange des Druckers und erstellen Ihre Druckaufträge als root. Andere Benutzer können erst dann einen Druckauftrag erstellen, wenn Sie Ihre Tests abgeschlossen haben und die Druckerwarteschlange mit enable wieder reaktivieren.
Beendet einen Drucker. Äquivalent zu disable, gefolgt von stop. Die von Ihnen definierte nachricht wird als Druckerstatus angezeigt, wenn ein Benutzer die Warteschlange des Druckers mit lpq(1) oder mit lpc status abfragt.
Aktiviert die Warteschlange eines Druckers. Erteilte Druckaufträge können zwar erteilt werden, diese werden aber nur dann gedruckt, wenn der Drucker auch gestartet ist.
Ausgaben von hilfreichen Informationen zu command-name. Wird kein command-name angegeben, wird die Liste der verfügbaren Befehle ausgegeben.
Startet den Drucker. Normale Benutzer können diesen Befehl verwenden, um einen hängenden LPD zu reaktivieren, sie sind allerdings nicht berechtigt, einen Drucker zu starten, der mit stop oder down beendet wurde. Dieser Befehl ist äquivalent zu abort, gefolgt von start.
Startet den Drucker, um die in der Warteschlange enthaltenen Aufträge zu drucken.
Beendet den Drucker. Der Drucker beendet den aktiven Druckauftrag noch, danach wird kein weiterer in der Warteschlange enthaltener Auftrag gedruckt. Obwohl der Drucker beendet wurde, können weiterhin Druckaufträge erteilt werden, solange die Warteschlange nicht deaktiviert wurde.
Sortiert die Druckerwarteschlange des Druckers printer-name um, wobei der Auftrag mit der angegebenen Auftragsnummer, oder Druckaufträge, die von username erstellt wurden, an den Beginn der Warteschlange gesetzt werden. Für diesen Befehl kann die Option all nicht als printer-name verwendet werden.
Startet einen Drucker. Das Gegenstück zu down. Äquivalent zu start, gefolgt von enable.
lpc(8) akzeptiert diese Befehle direkt auf der Kommandozeile. Geben Sie keinen Befehl ein, wird lpc(8) im interaktiven Modus gestartet. In diesem Modus können Sie solange Befehle eingeben, bis Sie exit oder quit eingeben.
Zurück | Zum Anfang | Weiter |
Erweiterte Drucker-Konfiguration | Nach oben | Alternativen zum LPD-Drucksystem |
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.