Zum Inhalt springen

Drucken auf der Kommandozeile

CUPS bringt zwei Befehlssatz-Familien mit: die klassischen BSD-Kommandos (lpr, lpq, lprm) und die moderneren CUPS-eigenen Befehle (lp, lpstat, cancel). Beide funktionieren parallel.

Terminal-Fenster
# lp (CUPS)
lp datei.pdf # auf Standard-Drucker
lp -d BueroDrucker datei.pdf # auf bestimmten Drucker
lp -n 3 datei.pdf # 3 Kopien
lp -o sides=two-sided-long-edge datei.pdf # beidseitig
lp -o media=A4 datei.pdf # Papierformat
lp -o fit-to-page datei.pdf # an Seite anpassen
# lpr (BSD-kompatibel)
lpr datei.pdf
lpr -P BueroDrucker datei.pdf
lpr -# 3 datei.pdf # 3 Kopien
Terminal-Fenster
echo "Hallo Drucker" | lp
cat bericht.txt | lp -d BueroDrucker
# Konvertierung mit anderen Tools
pandoc README.md -o - | lp # Markdown → PDF → Drucker
Terminal-Fenster
lpoptions -p BueroDrucker -l # alle verfügbaren Optionen eines Druckers

Beispielausgabe:

PageSize/Seitenformat: *A4 A5 Letter Legal
InputSlot/Papierzufuhr: *Auto Tray1 Manual
ColorModel/Farbe: *Gray RGB
Duplex/Duplexdruck: *None DuplexNoTumble DuplexTumble

Der mit * markierte Wert ist der aktuelle Standard.

Terminal-Fenster
# Warteschlange anzeigen
lpq # Standard-Drucker
lpq -P BueroDrucker # bestimmter Drucker
lpstat -o # alle aktiven Jobs
# Job abbrechen
cancel 123 # Job-ID
cancel -a # alle eigenen Jobs
cancel -a -u micha # alle Jobs eines Benutzers (root)
lprm 123 # BSD-Variante
lprm - # alle eigenen Jobs
Terminal-Fenster
lpstat -p # alle Drucker mit Status
lpstat -p BueroDrucker # bestimmter Drucker
lpstat -d # Standard-Drucker
lpstat -t # vollständige Statusübersicht

CUPS kann einen virtuellen PDF-Drucker einrichten:

Terminal-Fenster
# Debian/Ubuntu
sudo apt install cups-pdf
# Nach der Installation steht "PDF" als Drucker zur Verfügung
# Ausgabe landet in ~/PDF/ oder /var/spool/cups-pdf/
lp -d PDF datei.txt

Für Skripte und ältere Systeme — überall verfügbar wo CUPS installiert ist:

BSD-BefehlCUPS-ÄquivalentBedeutung
lprlpDatei drucken
lpqlpstat -oWarteschlange anzeigen
lprmcancelJob entfernen
lpc statuslpstat -pDruckerstatus
Terminal-Fenster
tail -f /var/log/cups/access_log # Druckaufträge live
tail -f /var/log/cups/error_log # Fehler

Oder über das Journal:

Terminal-Fenster
journalctl -u cups -f