tutorials / linux-printing

Linux Printing - Druckerverwaltung

Einleitung

Drucken über die Kommandozeile ist besonders nützlich für Server, Skripte und Remote-Administration. Hier sind alle wichtigen Befehle.

Dateien drucken

Datei drucken

cat [file] > /dev/lp

cat [file] | lpr

pr -l60 [file] | lpr

lpr -P [printerName] [file]

Mit Optionen drucken

# Doppelseitig
lpr -o sides=two-sided-long-edge [file]

# Mehrere Seiten pro Blatt
lpr -o number-up=2 [file]

# Landscape
lpr -o landscape [file]

# Mehrere Kopien
lpr -# 3 [file]

Druckwarteschlange verwalten

Druckwarteschlange anzeigen

lpq

# Für bestimmten Drucker
lpq -P [printerName]

Druckauftrag abbrechen

# Vorherigen Auftrag
lprm -

# Spezifischen Auftrag
lprm [jobId]

# Alle eigenen Aufträge
lprm -a

# Drucker leeren
cancel [printerName]

# Alle Aufträge eines Benutzers
cancel -u [user]

Drucker-Status

Drucker-Status anzeigen

lpstat -t

# Nur Standard-Drucker
lpstat -d

# Alle Drucker
lpstat -p -d

Detaillierte Drucker-Info

lpstat -p [printerName] -l

Drucker aktivieren/deaktivieren

Drucker aktivieren

enable [printerName]

# Oder mit cupsenable
cupsenable [printerName]

Drucker deaktivieren

disable [printerName]

# Oder mit cupsdisable
cupsdisable [printerName]

Drucker pausieren (nimmt keine neuen Jobs an)

cupsdisable [printerName]

Drucker fortsetzen

cupsenable [printerName]

Drucker konfigurieren (CUPS)

Verfügbare Drucker auflisten

lpstat -p -d

# Oder
lpinfo -v

Standard-Drucker setzen

lpoptions -d [printerName]

Drucker-Optionen anzeigen

lpoptions -p [printerName] -l

Drucker hinzufügen

lpadmin -p [printerName] -E -v [deviceURI] -m [driverModel]

Beispiel:

lpadmin -p HP_LaserJet -E -v usb://HP/LaserJet -m drv:///hp/hpcups.drv/hp-laserjet_p2015_series.ppd

Drucker entfernen

lpadmin -x [printerName]

PDF erstellen

Datei zu PDF (via CUPS-PDF)

lpr -P CUPS-PDF [file]

Mehrere Dateien zu einem PDF

cat file1.txt file2.txt | lpr -P CUPS-PDF

Erweiterte Optionen

Drucker-Eigenschaften setzen

lpadmin -p [printerName] -o [option]=[value]

Beispiele:

# Duplex
lpadmin -p [printerName] -o sides=two-sided-long-edge

# Papierformat
lpadmin -p [printerName] -o media=A4

# Auflösung
lpadmin -p [printerName] -o printer-resolution=600dpi

Drucker teilen (Network Sharing)

lpadmin -p [printerName] -o printer-is-shared=true

# Drucker-Freigabe beenden
lpadmin -p [printerName] -o printer-is-shared=false

CUPS Web-Interface

CUPS Web-Interface nutzen

http://localhost:631

Zugriff aktivieren:

sudo cupsctl --remote-any
sudo systemctl restart cups

Praktische Beispiele

Automatischer Druck bei neuem File

#!/bin/bash
# watch_and_print.sh
inotifywait -m /path/to/watch -e create |
while read path action file; do
    lpr "$path$file"
done

Batch-Druck aller PDFs

for file in *.pdf; do
    lpr -P HP_Printer "$file"
done

Druckauftrag mit Benachrichtigung

lpr important.pdf && notify-send "Druck gestartet" "important.pdf wird gedruckt"

Troubleshooting

CUPS Logs anzeigen

sudo tail -f /var/log/cups/error_log

Drucker-Status prüfen

lpstat -p -d
lpstat -t

Drucker neu starten

sudo systemctl restart cups

Druckwarteschlange leeren

cancel -a

Best Practices

  • Teste mit -P: Gib immer Drucker an, um Fehler zu vermeiden
  • Prüfe Warteschlange: Mit lpq vor wichtigen Aufträgen
  • Nutze CUPS Web-Interface: Für komplexe Konfiguration
  • Backups von PPD-Dateien: Drucker-Konfigurationen sichern
  • Log-Monitoring: Bei Problemen CUPS-Logs prüfen

Weitere Ressourcen