Steuern Sie Ihren Drucker von einem Linux-Terminal aus mit dem Befehl lp
Wichtige Erkenntnisse
- Das Drucken über die Befehlszeile mit lp kann hilfreich sein, um Dateien direkt an den Drucker zu senden, ohne eine Anwendung öffnen zu müssen.
- Die meisten Distributionen enthalten LP, aber Sie müssen es möglicherweise mit Befehlen wie „sudo apt install cups“ installieren.
- Die Verwendung von lpstat, lpoptions und lpinfo kann Ihnen dabei helfen, Informationen über Ihren Drucker zu finden und Druckaufträge über die Befehlszeile mit Layoutoptionen zu senden.
Mit dem Linux-Befehl lp können Sie aus einem Terminalfenster drucken. Sie können Druckaufträge manuell oder aus Skripts heraus senden, die Seitenausrichtung und andere Einstellungen festlegen und die Funktionen Ihres Druckers auflisten.
Warum über die Befehlszeile drucken?
Basierend auf meiner Superkraft an Annahmen halte ich es für wahrscheinlich, dass der Großteil des Druckens von Linux-Computern in häuslichen Umgebungen aus einer GUI-Anwendung heraus erfolgt.
Natürlich gibt es auch textbasierte Benutzeroberflächen (TUI)-Anwendungen, die das Drucken unterstützen. Diese werden in einem Terminalfenster ausgeführt und ermöglichen Ihnen das Senden von Inhalten an Ihren Drucker. Dennoch gehe ich davon aus, dass der Großteil des Druckvorgangs aus GUI-Anwendungen erfolgt.
Das Drucken von Textdateien über die Befehlszeile außerhalb einer Anwendung ist für die meisten Menschen keine alltägliche Aktivität, kann aber nützlich sein. Sie müssen kein Programm starten, die Datei laden, auf „Drucken“ klicken und die Anwendung dann wieder schließen. Mit dem Befehl lp können Sie die Datei über die Befehlszeile direkt an den Drucker senden.
Das ist bis zu einem gewissen Punkt nützlich, kommt aber zum Tragen, wenn Sie ein Shell-Skript haben, das etwas drucken muss. Das Drucken vorhandener Dateien oder das Drucken von Dateien, die vom Skript selbst erstellt wurden, ist mit lp und seiner Familie unterstützender Programme einfach.
Sie müssen jedoch einen Punkt verstehen: Sie können keine alten Dateitypen an den Drucker senden. Sie können beispielsweise keine ODT-Datei an den Drucker senden, da sie nicht in einem Format vorliegt, das der Drucker versteht. Wenn Sie ein ODT-Dokument in LibreOffice öffnen und drucken, sendet LibreOffice eine übersetzte Version der Datei an den Drucker, die der Drucker verstehen und darauf reagieren kann. Das Drucken, über das wir hier sprechen, eignet sich am besten für Textdateien.
LP installieren
Die meisten Distributionen enthalten lp und die anderen druckerbezogenen Befehle direkt nach dem Auspacken. Wenn Sie sie installieren müssen, sind dies die Befehle, die Sie benötigen.
Unter Ubuntu müssen Sie Folgendes eingeben:
sudo apt install cups
Verwenden Sie auf Fedora diesen Befehl:
sudo dnf install cups
Der Befehl für Manjaro lautet:
sudo pacman -S cups
Informieren Sie sich über Ihren Drucker
Der Befehl lp verfügt über einige hilfreiche verwandte Befehle. Eines davon ist lpstat, das Informationen über Ihren Drucker herausfinden kann.
Ohne Befehlszeilenoptionen zeigt lpstat die Druckwarteschlange an.
lpstat
Die Option -p (Drucker) listet die konfigurierten Drucker und ihren Status auf, z. B. inaktiv oder beim Drucken.
lpstat -p
Die Option -d (Standard) zeigt den Standarddrucker an. Um eine nützliche Antwort auf diesen Befehl zu erhalten, muss ein Drucker als Standardgerät konfiguriert sein. Nur weil Sie nur einen Drucker haben, ist dieser nicht der Standarddrucker.
lpstat -d
Der Befehl lpoptions listet die Optionen auf, die Ihr Drucker unterstützt. Wenn kein Drucker angegeben ist, wird der Standarddrucker beschrieben.
lpoptions
Um herauszufinden, über einen bestimmten Drucker, können Sie den Namen in der Befehlszeile mit der Option -p (Drucker) übergeben. Da wir nur einen einzigen Drucker angeschlossen haben und dieser der Standarddrucker ist, erhalten wir das gleiche Ergebnis wie zuvor.
lpoptions -p Lexmark_B2442dw
Beachten Sie, dass der zu verwendende Name über die Ausgabe von lpstat -p ermittelt werden kann.
Um die Ausgabe des Befehls „lpoptions“ besser lesbar zu machen, können Sie sie über den Befehl „column“ übergeben. Wenn wir es anweisen, bei jedem Leerzeichen eine neue Zeile zu beginnen, erhalten wir ein grobes und fertiges Spaltenformat, das viel einfacher zu analysieren ist.
lpoptions -p Lexmark_B2442dw | column -t -o $'\n'
Der Befehl lpinfo kann mit der Option -v (ausführlich) verwendet werden, um Ihnen Verbindungsdetails für erkannte Drucker anzuzeigen. Die Drucker, die jedes Protokoll verwenden können, werden angezeigt.
lpinfo -v
Da wir nun über unseren Drucker Bescheid wissen, können wir Druckaufträge an ihn senden.
Druckaufträge mit lp erstellen
Der Befehl lp ist derjenige, der tatsächlich Druckaufträge an den Drucker sendet.
Mit lpq können wir einen kurzen Blick auf die Druckwarteschlange werfen.
lpq
Wir beginnen mit einer leeren Druckwarteschlange. Um einen Job zu senden, verwenden wir den Befehl lp, gefolgt vom Namen der Datei.
lp sample-file-1.txt
Wenn Sie schnell genug sind oder die Datei groß genug ist, können Sie mit lpq prüfen, ob der Auftrag in der Druckwarteschlange angekommen ist.
lpq
Wir können der Warteschlange weitere Aufträge hinzufügen, und diese werden vom Drucker der Reihe nach verarbeitet, während er seine Arbeitslast abarbeitet.
lp sample-file-2.txt
lpq
Wenn der Name Ihrer Datei Leerzeichen enthält, schließen Sie den Dateinamen entweder in Anführungszeichen ein oder verwenden Sie die Tabulatorerweiterung, um den Namen für Sie zu vervollständigen. Durch die Tabulatorerweiterung werden Leerzeichen automatisch für Sie maskiert.
lp "sample file 3.txt"
lpq
Wenn Sie mehrere Kopien eines Dokuments benötigen, verwenden Sie die Option -n (Kopien), gefolgt von der Anzahl der benötigten Kopien.
lp -n 15 sample-file-1.txt
lpq
Beachten Sie, dass in der Druckwarteschlange keine 15 Einträge angezeigt werden. Der Auftrag wird einmal an den Drucker gesendet, mit der Anweisung, ihn 15 Mal zu drucken.
Um Papier zu sparen und wenn Ihr Drucker dies unterstützt, können Sie doppelseitig drucken. Sie können wählen, ob die Seiten an der langen oder kurzen Kante umgedreht werden sollen. Wir tun dies, indem wir die Option -o (Optionen) verwenden und den Namen der Option, die wir verwenden möchten – in unserem Fall „sides“ – sowie alle Parameter für diese Option übergeben.
Lassen Sie uns etwas doppelseitig drucken, wobei die Seiten an der langen Kante umgedreht werden.
lp -o sides=two-sided-long-edge sample-file-1.txt
Um die Seiten so zu drucken, dass sie an der kurzen Kante umgedreht werden, verwenden wir den Parameter „Two-sided-short-edge“.
lp -o sides=two-sided-short-edge sample-file-1.txt
Ebenso einfach ist die Auswahl im Quer- oder Hochformat. Wir verwenden erneut die Option -o (Optionen) und geben entweder Hoch- oder Querformat an.
lp -o landcape sample-file-1.txt
Es gibt viele andere Optionen, die Sie mit der Option -o (Optionen) verwenden können. Schauen Sie sich bei Interesse die Manpage an. Möglicherweise finden Sie einige der Optionen hilfreich.
- job-sheets=name: Druckt ein Deckblatt. Ersetzen Sie den Namen durch einen der folgenden Werte: „Vertraulich“, „Geheim“, „Standard“, „streng geheim“ oder „Nicht klassifiziert“.
- media=size: Legt das Papierformat fest. Typische Größen sind „A4“, „Letter“ und „Legal“.
- number-up=number: Die Zahl kann 2, 4, 6, 9 oder 16 sein. Dies bestimmt, wie viele Eingabeseiten auf einer Ausgabeseite zusammengepfercht werden.
- print-quality=quality: Der Qualitätswert kann 3 (Entwurf), 4 (normal) oder 5 (am besten) sein.
Druckaufträge abbrechen
Um einen Druckauftrag abzubrechen, müssen Sie dessen Auftragsnummer kennen. Sie finden dies in der Ausgabe des Befehls lpq.
Der Befehl, den wir benötigen, ist Abbrechen, gefolgt von der Jobnummer.
lpq
cancel 16
lpq
Sie können mehrere Aufträge gleichzeitig stornieren.
lpq
cancel 15 17
lpq
Wir haben jetzt die Druckwarteschlange geleert.
Hardcopy, das
Durch die Möglichkeit, Ihren Drucker über das Terminalfenster zu steuern, können Sie über die Befehlszeile drucken und dabei ein gewisses Maß an Kontrolle über das Seitenlayout und die Papierverarbeitung haben. Besonders nützlich ist es jedoch, wenn Sie eine Möglichkeit benötigen, aus einem Shell-Skript heraus zu drucken.