Drucker einrichten mit CUPS

From Linuxwiki
Jump to navigation Jump to search

Ausgangssituation

OS: Debian Squeeze / Wheezy
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

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 cupsys) 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:

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' erscheinen
Alternativ den Punkt 'Provide a PPD File' wählen:
Diese Dateien befinden sich 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 Datei separat erzeugt werden. Dazu öffnet man mit dem midnight commander das cnijfilter-common-rpm und kopiert die Datei pstocanonij nach /usr/lib/cups/filter. Danach den Drucker nochmal neu einrichten und sich mit einer Testseite davon überzeugen, dass alles geklappt hat.

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

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