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
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/
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!
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!?
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.
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
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.
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
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.
Hallo Namensbruder,
ab Zeile:
./airprint-generate.py
komme ich nicht weiter, es wird keine Datei erzeugt.
Gruß hagen
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.
…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.
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…
Geht doch !
Wo auch immer der Fehler lag.
Vielen Dank!
Hallo Hagen,
super! Freut mich, dass es geklappt hat.
Gruß
Hagen
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
Hey cool, danke Gringo!