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
,
mit der Sie den zu verwendenden Drucker (der dazu in
printer-name
/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:
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
erzeugt für unser obiges Beispiel die folgende Ausgabe:-l
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.
user
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 -
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
auf
dem Drucker fish-report.dvi
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.
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.
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:
anzahl
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
,
gefolgt von drei Kopien von
parser.c
auf
den Standarddrucker:parser.h
%
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.
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.
text
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.
text
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.
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.
abort
printer-name
Bricht den aktuellen Druckauftrag ab und beendet den Drucker. Solange die Warteschlange aktiviert ist, können allerdings weiterhin Druckaufträge erteilt werden.
clean
printer-name
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.
disable
printer-name
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.
down printer-name
nachricht
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.
enable
printer-name
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.
help
command-name
Ausgaben von hilfreichen Informationen zu
command-name
. Wird kein
command-name
angegeben, wird
die Liste der verfügbaren Befehle ausgegeben.
restart
printer-name
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
.
start
printer-name
Startet den Drucker, um die in der Warteschlange enthaltenen Aufträge zu drucken.
stop
printer-name
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.
topq printer-name
job-or-username
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.
up
printer-name
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.
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>.