CUPS installieren und einrichten – PDF Drucker installieren – CUPS mit Apple AirPrint, PDF und Canon PIXMA MX850

CUPS unter Ubuntu zu installieren ist kein Hexenwerk.
Am besten geht es mit Synaptic: Einfach das Paket cups suchen und installieren.
Alternativ via Kommandozeile:

sudo su
apt-get update
apt-get upgrade
apt-get install cups printer-driver-gutenprint 
cupsctl --remote-admin 
lsusb 
cupsctl --share-printers 
cupsctl --remote-printers 
usermod -aG lpadmin pi

Nach der Installation kann man das Cups Webinterface unter

localhost:631 

im Browser erreichen.
Natürlich nur von der lokalen Maschine. Cups lauscht am Anfang nur auf localhost. Listen localhost:631

Um Cups mit dem eigenen User konfigurieren zu können muss der User Mitglied in der Gruppe “lpadmin” sein. Ansonsten kann man sich nur mit root anmelden.

 apt-get install cups printer-driver-gutenprint cupsctl --remote-admin lsusb cupsctl --share-printers cupsctl --remote-printers usermod -aG lpadmin pi
sudo usermod -aG lpadmin username

 

CUPS PDF Drucker installieren

 

Bis Ubuntu 8.04 konnte CUPS von Haus aus PDFs erstellen.
Warum das Feature entfernt wurde bleibt mir bis heute ein Rätsel. Egal. So gehts:

Synaptic starten
Paket cups-pdf suchen und installieren

Im Prinzip war es das schon, aber… Wenn man anonym und ohne login drucken will zB via iPad oder ähnlichem passiert gar nichts. Eine weitere Ubuntu Eigenheit.

Die Datei cupsd.conf editieren:

nano /etc/cups/cupsd.conf

Die folgenden zwei Zeilen vor “Allow remote access” ergänzen:

FileDevice Yes
ServerAlias *

Seit Ubuntu 14.04 hat sich die Konfiguration wieder geändert-
Um aus dem lokalen Netz zugreifen zu können muss der kursive Text in die Konfiguration eigefügt bzw geändert werden.

Listen *:631  

<Location />
 Order allow,deny 
 Allow 192.168.4.0/255.255.255.0 
</Location>

Jetzt sollte der Zugriff auf das Cups-Webinterface ohne “forbidden” Meldung klappen.
Falls nicht: http://www.cups.org/documentation.php/ref-cupsd-conf.html

Als nächstes und in der Datei

nano /etc/cups/cups-pdf.conf

unter AnonDirName den gewünschten Ablageort für die “anonymen” PDFs festlegen.

AnonDirName /var/spool/cups-pdf/ANONYMOUS

Uffpassa: Die PDFs werden mit nobody.nogroup in dem Ordner angelgt. Also unbedingt auf die Schreibrechte achten.

Alle mit login gedruckten PDFs landen im Nutzerverzeichnis im Ordner ~/PDF Falls man das ändern will, um etwa alle PDFs in einen Ordner zu legen kann man dies ebenfalls in /etc/cups/cups-pdf.conf unter Path Settings -> Out machen.

So, das waren die Einstellungen im Hintergrund. Jetzt kommt die PDF Drucker Konfigutation im Browser:

localhost/ &nbsp;
localhost:631 eintippen, falls der Link nicht klappt

Erst mal den Haken bei “Erlaube entfernte Verwaltung” setzen, damit man auch von anderen Rechnern im Heimnetz auf CUPS kommt.

Drucker -> Drucker hinzufügen
Lokale Drucker:   ->   CUPS-PDF (Virtual PDF Printer)
Weiter

Name: Virtual_PDF_Printer (oder irgendwas eingeben)
Beschreibung: Virtual PDF Printer (oder irgendwas eingeben)
Freigabe:     Diesen Drucker freigeben (Haken setzen!)
Weiter

Die folgende Seite ist sowas von verwirrend und nutzlos für einen PDF Drucker …

Marke: Generic (muss man erst mal drauf kommen!)
Weiter

Modell: Generic CUPS-PDF Printer
Drucker hinzufügen

Done

CUPS: Canon PIXMA MX850 unter Ubuntu

Wasn Schrott mit Canon und Linux. Ich verstehe nicht, warum Canon es nicht schafft Linux Treiber auf den Markt zu bringen. Egal, es geht trotzdem und zwar so:

Das Paket libcups2-dev installieren

sudo apt-get install libcups2-dev

Das Paket cups-bjnp herunterladen, welches die Canon Treiber enthält.
Quelle:
sourceforge.net/projects/cups-bjnp/

Ein neues Verzeichnis anlegen: mkdir canonMX850
Die Datei cups-bjnp-1.0.tar.gz in das Verzeichnis kopieren
Datei entpacken: 
tar -xzvf cups-bjnp-1.0.tar.gz
In das Verzeichnis wechseln: cd cups-bjnp-1.0
Die folgenden Kommandos ausführen:

./configure
make
sudo make install

So, jetzt den Drucker aus und anschalten und Ubuntu findet den Drucker automatisch. Cool oder? Jetzt steht dem drucken mit dem Canon PIXMA MX850 mit CUPS unter Ubuntu nichts mehr im Wege.

Um im Netzwerk mit CUPS zu drucken einfach die gleichen Schritte wie beim PDF durchführen. Der Canon PIXMA MX850 taucht in CUPS jetzt automatisch bei “Drucker hinzufügen” -> “Netzwerkdrucker” auf.

Der letzte Trick an der Sache ist wieder wie beim PDF die Auswahl des Treibers:
Am Besten läuft der Canon PIXMA MX850 unter Linux mit dem Canon PIXMA iP5300Treiber. (Warum auch immer). Canon PIXMA iP5300Treiber auswählen und Drucker hinzufügen. Fertig

CUPS mit Apple AirPrint, PDF und Canon PIXMA MX850

Mich hat immer gestört, dass ich in meiner Windows/Linux Welt nicht mit dem iPad, iPhone, iPod oder iDontknow drucken kann. Aber im Prinzip ist es kein Problem:

Jetzt kombinieren wir mal wild drauf los.
Zusätzlich zu den oben installierten CUPS Paketen brauchen wir noch das Paket AVAHI und das Script airprint-generate.py von tjfontaine in der aktuellen Version:

https://github.com/tjfontaine/airprint-generate

 

Also Script herunterladen und in ein Verzeichnis packen.

sudo apt-get install python-cups
mkdir /opt/airprint 
cd /opt/airprint 
wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

 

Mit dem Script die Avahi “services” erzeugen und installieren:

chmod 755 airprint-generate.py 
./airprint-generate.py 
mv AirPrint-*.service /etc/avahi/services
./airprint-generate.py -d /etc/avahi/services

 

Jetzt Cups und AVAHI neu starten

sudo /etc/init.d/avahi-daemon restart
sudo /etc/init.d/cups restart

 

Nach dem Neustart der Dienste kann das iPad entweder auf dem Canon PIXMA MX850 oder dem PDF Drucker ducken.

Have Fun!

16 Kommentare
  1. heidi
    heidi sagte:

    altes ipad findet netzwerkdrucker nicht

    Nachricht: vorab vielen, vielen dank: Mit ihrer Hilfe habe ich es tatsaechlich geschafft,
    mit uralt canon drucker 320i und uralt XP pc und uralt fritzbox drahtlos zu drucken! (mithilfe netgear wlan sticks)
    leider laesst sich mein uralt ipad aber nicht dazu bewegen, zu drucken.
    aber ich geb die hoffnung nicht auf. vielleicht koennen sie mir da
    auch weiterhelfen!?

    Antworten
    • hagen
      hagen sagte:

      Hallo Heidi,
      es freut mich, dass Dir die Anleitung geholfen hat.
      Weiterhelfen kann ich leider nicht, denn die Druckfunktionen (AirPrint) sind eigentlich bei allen iPads gleich. Es hätte also funktionieren müssen.

      Antworten
  2. Michael
    Michael sagte:

    Hallo,
    ich habe in meinem Netzwerk einen CUPS Server, der alle Druckaufträge spoolt. So werden die Drucker nur von einem Server befeuert. Alle Windows Server, SAP, HOST usw. schicken ihre Druckaufträge zu den Cups Servern, die wiederum die Druckaufträge zu den Druckern schicken.
    Ankommende Druckaufträge wie z.B. PCL6 Aufträge von Windows werden genauso wie die PCL5 Aufträge vom Host ohne Änderung zum Drucker übertragen. Nun haben sich einige Kollegen gedacht, das sie ihre archivierten PDF-Datei auch ausdrucken wollen und haben diese direkt auf die CUPS Queue geschickt. Ich habe erst später gemerkt das der CUPS Server diese PDF-Datei angenommen hat und in PS umgewandelt zum Drucker geschickt hat. Da nun mittlerweile alle meine Drucker auch PDF-Dateien verarbeiten und ausdrucken können, möchte ich die CUPS-Queues so umstellen, das ankommende PDF-Dateien NICHT in PS umgewandelt werden, sondern direkt weiter zum Drucker geleitet werden.
    Da meine Linux Kenntnisse nur sehr dürftig sind, bin ich auf deine bzw. eure Hilfe angewiesen.
    Es grüßt , Michael

    Antworten
    • hagen
      hagen sagte:

      Hallo Michael,

      herzlichen Glückwunsch zu der hervorragenden Einrichtung der zentralen CUPS Queue.
      Diese Seite ist leider kein unentgeltliches Hilfeforum und ich habe leider nicht die Zeit mich so tief in Fragen einzuarbeiten.
      Aber die Einrichtung des oben beschriebenen Netzwerks geht weit über dürftige Linux Kenntnisse hinaus. Aus Diesem Grund bin ich ganz sicher, dass Du das Problem in den Griff bekommst.

      Antworten
  3. Theodor M
    Theodor M sagte:

    Hi,
    danke für das ausführliche Tutorial.
    Kurze Frage, geht dass auch um NUR in einen Lokalen Ordner ein PDF abzulegen, sprich immer ins gleiche Verzeichnis zu drucken.
    Den Ordner synce ich dann auf mein NAS zur Ablage.

    GruSmß Theo

    Antworten
    • hagen
      hagen sagte:

      Ja, das geht. Ich habe das vor langer Zeit für einen Kunden gemacht. Anstatt die Datei an den Drucker zu schicken kannst du ein Pipe zum PDF-Generator angeben und damit die Datei erstens in ein PDF wandeln und zweitens in ein Verzeichnis ablegen. Bei Ubuntu liefert im Standard bereits einen PDF Drucker mit den man dazu verwenden kann und zu dem es sehr viele gute Anleitungen gibt. Viel Spaß beim Experimentieren und Drucken.

      Antworten
    • hagen
      hagen sagte:

      Ein Namensbruder,
      na das ist ja sowas von selten.
      Da teste ich doch glatt mal meine Anleitung.
      – kurze Zeit später –
      Hab mir die aktuellen Versionen wie beschrieben heruntergeladen, die Rechte angepasst und gestartet.
      Läuft bei mir nach wie vor.
      Check doch mal, ob deine Datei-Rechte stimmen, oder ruf das Script mit “python airprint-generate.py” auf.

      Antworten
      • hagen
        hagen sagte:

        …und wir schreiben “hagen” mit kleinem H…… coooool

        Das script mit “python” zu starten habe ich auch schon versucht, ohne Erfolg.
        Ich bin total neu im Linux Bereich und habe keinen Plan, ich kann zur Zeit nur copy & paste.
        Aber ich brauche dieses AirPrint, sonst kann meine Frau nicht vom iPad drucken und ich habe keine ruhige Minute um mich um andere Sachen zu kümmern.
        So von hagen zu hagen, hättest du mal Zeit und Lust mir per TeamView oder TeamSpeak zu helfen?
        Auffällig war schon das der download der AirPrint-Generate nicht so wie bei dir beschrieben funktioniert hat.
        Habe dann erst mal gefühlt Stunden gebraucht um a. den Midnight Commander zu installieren und dann b. auf die Idee zu kommen selbigen mit “sudo” zu starten damit der auch seinen job macht.

        Antworten
  4. Patrick
    Patrick sagte:

    Hallo,
    ich habe mir 3 Tage lang einen abgerochen um cups-pdf unter ios ans laufen zu bekommen und dank dir geht es jetzt 🙂 der entscheidende Punkt scheint “file device yes” gewesen zu sein, obwohl ich den printer schon angelegt hatte und dieser von Windows aus auch pdfs druckt, wollte er von ios aus nicht! nun läufts und zu letzt hab ich file device eingefügt…

    Antworten
  5. Gringo
    Gringo sagte:

    Hallo,
    danke für die ausführliche Anleitung!
    Ich hatte ein Problem beim Ausführen von “./airprint-generate.py” , das lässt sich lösen in dem man python-cups nachinstalliert.
    sudo apt-get install python-cups

    Grüße

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert