Drucker einrichten mit CUPS: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
Tag: visualeditor-switched
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Ausgangssituation=
= Ausgangssituation=
OS: Debian Squeeze / Wheezy<br>
OS: Debian >= buster<br>
Drucker: <br>
Drucker: <br>
&nbsp;&nbsp;Canon Pixma iP4300<br>
&nbsp;&nbsp;Canon Pixma iP4300<br>
Line 29: Line 29:
# dpkg -i cnijfilter-common-2.70-3.i386.deb
# dpkg -i cnijfilter-common-2.70-3.i386.deb
# dpkg -i cnijfilter-ip4300-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
Cups (bzw. das Paket '''cups''') installieren und Daemon starten. Cups lauscht per
default auf Port 631, also im Browser
default auf Port 631, also im Browser
http://localhost:631
http://localhost:631
Line 35: Line 35:


===HP===
===HP===
Mittlerweile gibt es für hp das Debianpaket '''hplip'''. Dort sich alle gängigen Modelle enthalten.
Voraussetzung ist, dass folgende Pakete installiert sind:


* hplip-cups
# 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
* libcups2-dev
* libcupsimage2-dev
* libcupsimage2-dev

* libcupsimage2-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.
* libusb-dev
* python-apt-dev
hplip bezeichnet diese z.T. etwas anders, z.B. "cups-devel" statt "libcups2-dev". Ein aptitude search ... hilft da weiter.


Für das Auswählen von weiteren Optionen (scan, fax,...) sollten auch folgende Pakete installiert sein:
Für das Auswählen von weiteren Optionen (scan, fax,...) sollten auch folgende Pakete installiert sein:
Line 52: Line 55:
* python-notify
* python-notify


Drucker im CUPS einrichten. Die Web-GUI lauscht auf Port 631, also in Browser http://localhost:631 eingeben.
Anschließend
Unter "Administration" Add Printer auswählen.
./hplip-<versionsnr.>.run
ausführen

Drucker im CUPS einrichten. Wer vorher noch das ppd file bearbeiten will (z.B.
Default size von letter auf A4 umstellen):<br>
Der hplip-run erzeugt ein hplip-<versionsnr> Verzeichnis

Im dortigen Unterverzeichnis
ppd/hpcups/
das entsprechende Druckermodell raussuchen, bearbeiten und im Punkt "Upload ppd
file" hochladen (landet dann in /etc/cups/ppd)


== Cups konfigurieren ==
== Cups konfigurieren ==
Line 76: Line 69:
den richtigen Treiber erwischt hat!
den richtigen Treiber erwischt hat!
Continue -> Model (oder Make):
Continue -> Model (oder Make):
Dort sollte 'Canon' erscheinen<br>
Dort sollte 'Canon', 'HP' usw. erscheinen<br>
Alternativ den Punkt 'Provide a PPD File' wählen:<br>
Alternativ den Punkt 'Provide a PPD File' wählen:<br>
Diese Dateien befinden sich unter /usr/share/cups/model
Diese Dateien befinden sich bei Canon unter /usr/share/cups/model


Fertig. Unter "Printers" kann man sich den Drucker anschauen u. gegebenenfalls
Fertig. Unter "Printers" kann man sich den Drucker anschauen u. gegebenenfalls
Line 86: Line 79:
erscheint:
erscheint:
"Unable to start filter "pstocanonij" - No such file or directory."
"Unable to start filter "pstocanonij" - No such file or directory."
muss diese im Verzeichnis
muss diese Datei separat erzeugt werden. Dazu öffnet man mit dem midnight
/usr/lib/cups/filter hinterlegt werden. Danach den Drucker nochmal neu einrichten und sich mit
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.
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==
==Debugging==
Line 96: Line 92:


==Known Bugs==
==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
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
''/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:
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
# ln -s /lib/libpng12.so.0 libpng.so.3


== Alternative Gutenprint ==
== Alternative Gutenprint ==
Line 105: Line 110:


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



Latest revision as of 21:44, 22 July 2023

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

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

Dieses 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