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
lpqvor 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