Drucker einrichten mit CUPS: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
No edit summary
Line 95: Line 95:


=== Drucker stoppt selbständig ===
=== Drucker stoppt selbständig ===
Manchmal "hängt" ein Drucker einfach bzw. liefert keinen Output. In der Übersicht im Webfrintend sieht man dann
Manchmal "hängt" ein Drucker einfach bzw. liefert keinen Output. In der Übersicht im Webfrontend sieht man dann
''Paused - "File "/usr/lib/cups/filter/hpcups" not available: No such file or directory"''
''Paused - "File "/usr/lib/cups/filter/hpcups" not available: No such file or directory"''



Revision as of 07:17, 16 May 2020

Ausgangssituation

OS: Debian >= buster
Drucker:
  Canon Pixma iP4300
  HP Deskjet 1000
Server: Cups

Arbeitsschritte

Im Vorfeld

Bevor man sich einen Drucker zulegt, will man vielleicht unter http://www.openprinting.org/printers überprüfen, ob das gute Stück auch von Linux unterstützt wird.

Treiber holen

Canon bietet dankenswerterweise generische Treiber:
http://de.software.canon-europe.com/
tar.gz runterladen und auspacken.

Für hp gibt es unter der Sammelbezeichnung hplip eine große Menge Treiber für alle gängigen Modelle

http://sourceforge.net/projects/hplip/files/hplip/

Treiber installieren

Canon

Da es nur rpms gibt, müssen die Treiber erst in Debianpakete verwandelt werden. Dafür gibt es das praktische Tool 'alien':

# alien --script cnijfilter-common-2.70-2.i386.rpm
# alien --script cnijfilter-ip4300-2.70-2.i386.rpm

Nun die Treiber nach altbekannter Manier installieren:

# dpkg -i cnijfilter-common-2.70-3.i386.deb
# dpkg -i cnijfilter-ip4300-2.70-3.i386.deb

Cups (bzw. das Paket cups) installieren und Daemon starten. Cups lauscht per default auf Port 631, also im Browser

http://localhost:631

eingeben. Unter "Administration -> add printer" bekommt man eine Auswahlmaske (s.u.)

HP

Mittlerweile gibt es für hp das Debianpaket hplip. Dort sich alle gängigen Modelle enthalten.

# apt install hplip

(Wer sich im o.g. Link die neueste Version heruntergeladen hat, muss diese mittels

hplip-<version>.run installieren.)

Falls im laufenden Betrieb Schwierigkeiten entstehen sollten, sollte man überprüfen, ob folgende Pakete vorhanden sind.

  • libcups2-dev
  • libcupsimage2-dev
  • python3-apt-dev

Für Debugging / manuelle Einstellungen gibt es eine Reihe hp-* commands, auf die hier aber nicht näher eingegangen wird, da wir den Drucker direkt im CUPS einrichten.

Für das Auswählen von weiteren Optionen (scan, fax,...) sollten auch folgende Pakete installiert sein:

  • xsane
  • libsane-dev
  • python-imaging
  • python3-pyqt4
  • python-notify

Drucker im CUPS einrichten. Die Web-GUI lauscht auf Port 631, also in Browser http://localhost:631 eingeben. Unter "Administration" Add Printer auswählen.

Cups konfigurieren

Name:
Location:
Description:

Hier ist es ziemlich egal, was man einträgt, ich würde aber keinen zu langen Namen wählen.

Continue -> Device:

Hier sollte im Drop-Down-Menü bereits der richtige Name erscheinen, in dem Fall "Canon iP4300 USB #1 (Canon iP4300)" Ist das nicht der Fall, überprüfen, ob man den richtigen Treiber erwischt hat!

Continue -> Model (oder Make):

Dort sollte 'Canon', 'HP' usw. erscheinen
Alternativ den Punkt 'Provide a PPD File' wählen:
Diese Dateien befinden sich bei Canon unter /usr/share/cups/model

Fertig. Unter "Printers" kann man sich den Drucker anschauen u. gegebenenfalls per "modify" Änderungen vornehmen. Der Punkt "Set default printer" ermöglicht ein Drucken per 'lpr' ohne Setzen einer -P-Option. Achtung: Falls z.B. nach einem versuchten Probedruck folgende Meldung erscheint:

"Unable to start filter "pstocanonij" - No such file or directory."

muss diese im Verzeichnis /usr/lib/cups/filter hinterlegt werden. Danach den Drucker nochmal neu einrichten und sich mit einer Testseite davon überzeugen, dass alles geklappt hat.

Es besteht auch die Möglichkeit, das ppd File manuell nachzubearbeiten, z.B. Default Size von letter auf A4 umstellen. Die vorhin von CUPS generierte Datei befindet sich unter

/etc/cups/ppd/

Debugging

Wenn nicht alles so läuft, wie es soll, kann man über die Web-GUI Debugging einschalten (Administration -> server -> Save debugging information for troubleshooting) Dann nochmal drucken und in die Logfiles schauen. Nicht vergessen, diese Option später wieder rauszunehmen, da diese ein Vielfaches an Output erzeugt.

Known Bugs

Drucker stoppt selbständig

Manchmal "hängt" ein Drucker einfach bzw. liefert keinen Output. In der Übersicht im Webfrontend sieht man dann

Paused - "File "/usr/lib/cups/filter/hpcups" not available: No such file or directory"

In diesem Fall geht man auf die Printer-Übersicht und klickt bei Maintenance den Punkt "Resume Printer" an.

Fehlende Library

Wenn im Debug Output (s.o.) das Fehlen einer Datei libpng.so.3 angemeckert wird oder ein Output erscheint wie

/usr/local/bin/cifip4300: error while loading shared libraries: /usr/lib/libpng.so.3: invalid ELF header

muss diese Datei richtig verlinkt werden -> Mit dpkg ermitteln, welche libpng gerade installiert ist und den entsprechenden Link ins /lib-Verzeichnis setzen:

# ln -s /lib/libpng12.so.0 libpng.so.3

Alternative Gutenprint

Falls die Treiber des Herstellers Probleme machen, kann man auch (den in cups enthaltenen) Gutenprint-Treiber verwenden. Dazu im Webfrontend (localhost:631) den Drucker anwählen und unter "Administration->modify" das Modell des Herstellers + gutenprint wählen, also z.B. "Canon Pixma iP4300 - CUPS+Gutenprint v5.2.9"

Alternative Turpoprint

Die ist ein kommerzielles Programm für Linux-Druckertreiber. Kostenpunkt: ca. 30 € (Stand März 2011): (http://www.turboprint.de/)

Hier ist nur die Demoversion beschrieben. Diese hat den Nachteil, dass auf jedem Ausdruck ein hässliches Turboprint-Label erscheint.
turboprint herunterladen, auspacken, installieren (./setup-Befehl ausführen), danach gibt es die Möglichkeit, eine Testseite zu drucken.
In den Ordner /usr/share/turboprint/ppd wechseln, dort das zum Drucker passende file auswählen und in den Cups-Ordner kopieren, also in meinem Fall:

# cd /usr/share/turboprint/ppd
# cp Canon_PIXMA_iP4300.ppd /usr/share/cups/model/

Dann im Cups ebendiese Datei auswählen

-> Add printer

Das ist natürlich ein sehr spezifisches Beispiel, aber das Funktionsprinzip ist ähnlich für fast alle Drucker.

Zuguterletzt noch ein paar Tipps zum Finetuning des Druckers:
http://wiki.ubuntuusers.de/Canon-Drucker