it-swarm.com.de

Von der Kommandozeile drucken

Wie kann ich die Befehlszeilenausgabe direkt auf dem Drucker ausdrucken?.

Ich verwende Ubuntu Server 12.04 und muss Dateien in ein freigegebenes Verzeichnis kopieren und dann von einer Ubuntu-Desktop-Distribution herunterladen, um sie zu drucken.

Jede Hilfe wird geschätzt

28
kamil

Hauptsächlich gibt es zwei Standardbefehle:

lpr und lp

man lpr gibt die Ausgabe aus:

lpr sendet Dateien zum Drucken. In der Befehlszeile angegebene Dateien werden an den angegebenen Drucker gesendet (oder an das Standardziel, wenn kein Ziel angegeben ist). Wenn in der Befehlszeile keine Dateien aufgelistet sind, liest lpr die Druckdatei von der Standardeingabe.

man lp gibt die Ausgabe aus:

lp sendet Dateien zum Drucken oder ändert einen ausstehenden Auftrag. Verwenden Sie den Dateinamen "-", um das Drucken über die Standardeingabe zu erzwingen.

so einfach verwenden Sie den Befehl:

lp /path-to-file-to-print

Oder

lpr /path-to-file-to-print
35
Maythux

Sie können lp verwenden.

Zum Beispiel:

man firefox | lp -d printername

Dadurch wird die Manpage von Firefox auf dem angegebenen Drucker gedruckt

15
Noosrep

Wenn Sie sie installiert haben, gibt es zwei weitere Optionen, die Sie kennen sollten

und

Diese sind nützlich, um nummerierte Seiten mit Überschriften und optionalen Zeilennummern zu versehen. Sie können dann auch den Broschürenstil drucken (z. B. zwei Seiten auf jeder Seite eines Blatts).

Ich verwende diese mit Postscript-fähigen Druckern, aber ich glaube, dass Ubuntus Drucksystem PS für jeden unterstützten Drucker rastern kann.

4
RedGrittyBrick

Möglicherweise möchten Sie zunächst herausfinden, wie auf den Drucker zugegriffen wird - lpstat gibt Ihnen diese Informationen. Wenn Sie die Ausgabe auf beiden Systemen vergleichen, können Sie wahrscheinlich feststellen, ob der betreffende Drucker auf beiden Systemen konfiguriert wurde. lpstat -p -d listet alle Drucker mit ihrem Status auf und teilt mit, welcher Drucker als Standarddrucker festgelegt wurde.

Sie können Ihre Ausgabe dann einfach an den Befehl lp oder lpr leiten. Möglicherweise möchten Sie jedoch einen Filter für hübsches Drucken oder Paginieren einfügen. Es gibt eine gute Zusammenfassung der Werkzeuge im Debian-Handbuch "Hervorheben und Formatieren von Nur-Text-Daten" , aber ich benutze normalerweise nur sed, um Eingabeaufforderungen und andere Dinge hervorzuheben, bevor ich alles über a2ps sende.

3
Tatjana Heuser

So drucken Sie eine TXT-Datei in einer Verwendung:

command | lpr -P printername -p ( periority from 1 to 100 )

Beispiel

ls -l | lpr -P printername -p 1 
2
nux

Sie können den Befehl lp verwenden.

So drucken Sie die Ausgabe eines Befehls auf dem Standarddrucker (verwenden Sie lpstat -d, um den Standarddrucker zu ermitteln):

echo "test" | lp

So drucken Sie auf einem bestimmten Drucker (verwenden Sie lpstat -p | awk '{print $2}', um die verfügbaren Druckernamen aufzulisten):

echo "test" | lp -d printername

So drucken Sie eine Datei anstelle einer Befehlsausgabe:

lp /path/to/file
1
waldyrious

Die Frage bezieht sich auf das Drucken über die Befehlszeile auf einem Server, und es hört sich so an, als ob auf diesem System noch keine Drucker definiert sind. Ich habe kein System zum Überprüfen, daher sind die folgenden Angaben ungefähr, sie sollten Ihnen jedoch einen allgemeinen Eindruck vermitteln:

  1. Stellen Sie sicher, dass das CUPS-System installiert ist und ausgeführt wird. Es stellt die Daemons bereit, die Ihre Druckaufträge verarbeiten.
  2. Sobald dies abgeschlossen ist, müssen Sie einen oder mehrere Netzwerkdrucker zum Drucken einrichten. Die übliche Methode zum Installieren von Druckern ist das Dienstprogramm Printer Admin , aber Sie sind offensichtlich nicht dafür eingerichtet, GUI-Programme von Ihrem Server auszuführen - nur Kommandozeilenzugriff über ssh. Da Sie bereits ein Ubuntu-Desktopsystem im selben Netzwerk haben, würde ich versuchen, den Inhalt des Verzeichnisses _/etc/cups_ von der Desktop-Box auf den Server zu kopieren. Es sollte alle Druckerdefinitionen und Treiber enthalten, die Sie benötigen. Überprüfen Sie die Dateien auf erforderliche Anpassungen (falls Ihre Einrichtung Benutzer-IDs oder Kennwörter angibt, die sich zwischen den beiden Systemen unterscheiden), starten Sie cupsd neu, und wenn Sie Glück haben, können Sie lpr zum Drucken über die Befehlszeile verwenden.

PS. Zur Not könnten Sie genügend X-Dienstprogramme installieren, um das GUI-Dienstprogramm Print Admin über eine Remote-X-Verbindung mit Ihrer Desktop-Ubuntu-Box auszuführen (Anmeldung mit _ssh -X_) und definieren Sie die benötigten Drucker. Aber hoffentlich wird das nicht nötig sein.

1
alexis