Home / LinuxUser / 2001 / 10 / Drucker von der Kommandozeile steuern

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Druck auf Befehl

Drucker von der Kommandozeile steuern

01.10.2001 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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

2782 Hits
Wertung: 97 Punkte (6 Stimmen)

Schlecht Gut

Infos zum Autor

Hans-Georg Eßer

Hans-Georg Eßer

Hans-Georg Eßer ist Chefredakteur der Zeitschrift EasyLinux, Doktorand an der Uni Erlangen-Nürnberg und seit Mitte der 90er begeisterter Linux-Anwender.


Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...