Drucker von der Kommandozeile steuern

Druck auf Befehl

In der Regel druckt es sich bequem über entsprechende Dialoge in den Anwendungen. Wer Dateien aber noch mit Filtern nachbearbeiten möchte, muss anschließend von Hand drucken: Wir geben eine Einführung in lpr & Co.

Grafische Anwendungen, etwa Office-Pakete oder Zeichenprogramme wie Gimp, bieten dem Anwender zum Ausdruck eines Dokumentes unterschiedlich ausführliche und komfortable Druckdialoge. Hier kann kurz vor dem Ausdruck noch allerlei eingestellt werden, etwa eine Skalierung der Druckseiten, die Reihenfolge mehrerer Seiten, oder eine "2-auf-1"-Funktion. Unabhängig davon, mit welcher Anwendung Sie arbeiten, landen aber schließlich alle Druckausgaben beim Hilfsprogramm lpr (traditionell: Line Printer), welches je nach Konfiguration verschiedene Filter auf die übergebenen Druckdaten anwendet und schließlich einen neuen Eintrag in der gewünschten Drucker-Warteschlangeerzeugt.

Abbildung 1: Gimp erwartet die Angabe des Druckbefehls

Jeder dieser Einträge hat in der Regel seinen Weg durch das Drucksystem als PostScript-Datei begonnen, die von der Anwendung erzeugt wurde - es ist dann Aufgabe des Drucksystems, diese PostScript-Daten in ein Format zu konvertieren, das der angeschlossene Drucker versteht (sofern er nicht eh PostScript beherrscht).

Über die grundsätzlichen Techniken, welche die verschiedenen Drucksysteme (LPRng, CUPS etc.) einsetzen, haben Sie sich schon in den Artikeln ab Seite 38 informieren können - hier geht es nun ausschließlich um die Kommandozeilen-Programme

  • lpr (Eintrag in die Druckerwarteschlange aufnehmen),
  • lpq (Warteschlange anzeigen),
  • lprm (Eintrag aus Warteschlange löschen) und
  • lpc (Drucker anhalten, Warteschlange suspendieren etc.).

Häufig ist es sinnvoll, die Druckausgabe eines Programmes zunächst in eine PostScript-Datei zu schreiben und dann weiter zu verarbeiten: Eine Anwendung dafür finden Sie etwa im "Zu Befehl" ab S. 60. Somit lohnt es sich, die Syntax von lpr & Co. kennen zu lernen.

lpr liest stdin

Das sicher wichtigste Programm ist lpr: Es nimmt die neuen Druckaufträge entgegen und sorgt für ihren korrekten Eintrag in die Warteschlange. Prinzipiell kann lpr auf zwei Arten aufgerufen werden:

[esser@dual lpr]$ lpr datei.ps

wird die Datei datei.ps auf dem Standard-Drucker ausdrucken. Welcher Drucker das ist (falls Sie mehrere angeschlossen haben oder über das Netzwerk erreichen können), erfahren Sie weiter unten. Es können hier auch mehrere Dateinamen übergeben werden, und je nach Konfiguration des Drucksystems dürfen dies auch Dateien unterschiedlichster Formate sein: Ist Ihr System ordentlich eingerichtet, sollte auch ein

[esser@dual lpr]$ lpr *.jpg test.ps README /var/log/messages

möglich sein. Die zweite und häufig interessantere Anwendungsmöglichkeit ist die, bei der lpr die Standardeingabe stdin liest: So kann lpr das letzte Element einer Shell-Pipe-Kette sein. Ein Beispiel dafür wäre

[esser@dual lpr]$ dvips test.dvi | psselect 1-10 | psnup -2 | lpr

Ein typischeres Beispiel ergibt sich aus der Zusammenarbeit mit einem Office-Paket: Haben Sie (wie oben beschrieben) die Druckausgabe eines Dokumentes in eine Datei (etwa /tmp/out.ps) umgeleitet, so können Sie diverse PostScript-Konverter auf diese Datei anwenden, bevor Sie sie endgültig drucken; am typischsten ist dabei vermutlich die (verkleinerte) Plazierung von zwei Seiten auf einer:

[esser@dual lpr]$ psnup -2 /tmp/out.ps | lpr

In beiden Fällen erwartet lpr keine weiteren Parameter. Die man-page des Tools liefert zwar eine ganze Reihe von Parametern zurück, welche aber größtenteils unwichtig sind - lpr ist noch heute kompatibel zu seinen ersten Unix-Varianten, die sich hauptsächlich mit dem Ausdruck von ASCII-Dateien auf Matrix- oder Typenraddruckern beschäftigten… Wichtig ist aber häufig die Option "-P", über die die Warteschlange ausgewählt werden kann.

Warteschlangen

lpr & Co. erwarten prinzipiell, dass Sie angeben, welche Warteschlange Sie bearbeiten möchten, da Sie unter Linux natürlich mehrere Drucker verwalten können; tatsächlich kann es auch mehrere Warteschlangen für einen einzigen Drucker geben, um etwa in unterschiedlicher Qualität zu drucken oder beim Profi-Bürodrucker zwischen Simplex- und Duplex-Druck zu wählen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Drucken auf Kommando
    Ein Raspberry Pi eignet sich bestens als Druckserver für kleine Netze, zumal sich der Server-Dienst Cups auch abseits von Web- und GUI-Oberflächen via Terminal verwalten lässt.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • KDEPrint
    Mit dem neuen Print-Framework KDEPrint macht KDE 2.2 in Drucksachen einen Riesensprung nach vorn – Grund genug für eine Erkundungstour.
  • Drucker-Grundlagen
    Die Druckerverwaltung unter Linux ist ein komplexes System. Wer sich in die Details einarbeitet, stößt auf Queues, PostScript, Druckertreiber und Filter. Dank der automatischen Hardware-Erkennung in Yast bleibt der Anwender davon aber weitgehend verschont, ein neuer Drucker ist unter SuSE Linux flott eingerichtet.
  • Printserver mit Samba
Kommentare

Infos zur Publikation

LU 10/2016: Kryptographie

Digitale Ausgabe: Preis € 0,00
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Probleme mit MPC/MPD
Matthias Göhlen, 27.09.2016 13:39, 2 Antworten
Habe gerade mein erstes Raspi Projekt angefangen, typisches Einsteigerding: Vom Raspi 3B zum Radi...
Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 6 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 4 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...
windows bootloader bei instalation gelöscht
markus Schneider, 12.09.2016 23:03, 1 Antworten
Hallo alle zusammen, ich habe neben meinem Windows 10 ein SL 7.2 Linux installiert und musste...