[Quick Tutorial] Airprint per Debian VM

Wir haben unsere Datenschutzerklärung zum 22.05.2018 aktualisiert.
  • Hallo zusammen,


    da es anscheinend keine vernünpftigen Weg gibt einen Drucker via Airprint an die QNAP zu bringen, wollte ich den ganz Verzweifelten unter euch ( :D ) einen Workarround zeigen. Ich habe es auf anderen Wegen versucht aber irgendwann hatte ich die Faxen dicke :P 
    An dieser Stelle einen herzlichen Dank an den Author der folgenden Seite (das Tut dort haut leider nicht mehr so ganz hin). Ich habe mich dort des Teils (11. Euren Drucker hinzufügen) etwas bedient. http://www.welzels.de/blog/2013/03/qnap-als-airprint-server/



    über Docker (Container Station) -> prinzipiell haut das hin, solange der Drucker nicht per USB sondern LAN angebunden ist. Ich hab es nicht hinbekommen den USB Port durchzureichen aber vielleicht hat ja jemand eine Idee wie es geht. Docker wäre etwas ressourcenschonender


    über Entware-ng -> geht nicht ohne weiteres da mittlerweile einige Pakete aus der Repo geflogen sind (Vermutlich aufgrund des damaligen Hacks auf die WD NAS Büchsen (gebt mal bei google "wd nas cups" ein, dann solltet ihr sehen was ich meine)


    über die Virtualization Station -> Der Weg den ich euch zeigen möchte. Die VM bringt alle Voraussetzungen mit die wir brauchen und für den Server reichen auch minimal Vorraussetzungen



    Dann los..


    1. Virtualization Station (VS) installieren & aktivieren


    2. Debian Virtualbox Image herunterladen.
    Ein 8.6er minimal findet ihr zum Bleistift hier https://charlieharvey.org.uk/file/uid/112
    ! Bei diesem Image wurde ein User mit dem Namen "User" und dem Passwort "resu" eingerichtet. Ihr solltet das natürlich dementsprechend via "passwd user" ändern. Das gleiche gilt für das root Passwort (toor).


    3. VM über "importieren" in die VS laden.
    dazu diese Einstellungen:

    • CPU -> Passthrough
    • VM Cores -> 1
    • VM Memory -> 512 MB (vielleicht gehen auch weniger)
    • Unter Netzwerk wählt ihr euren Virtuellen Adapter (achtet ggf. darauf dass ihr damit im gewünschten (Sub)Netz landet)
    • Tastaturlayout noch auf Deutsch stellen und dann sollte es das gewesen sein

    4. Bevor ihr startet aktiviert in der Übersichtsseite der VS gleich die USB-Verbindung (das USB Symbol) falls ihr den Drucker per USB verbunden habt


    5. VM hochfahren und ein wenig klar Schiff mache


    Shell-Script
    1. apt-get update && apt-get upgrade -y


    6. (bei Bedarf) Tastatur auf deutsch stellen (war über die "QNAP Konsole" bei mir immer noch englisch)

    Shell-Script
    1. apt-get install console-dataloadkeys de


    7. (bei Bedarf) OpenSSH Server installieren...

    Shell-Script
    1. apt-get install openssh-server


    ... und in der SSHD Config entweder Root (PermitRootLogin yes) oder einen anderen Benutzer berechtigen. Diesen "anderen" User könnt ihr euch ganz einfach via "useradd username" selbst anlegen


    Danach den ssh daemon restarten um die config anzuziehen

    Shell-Script
    1. systemctl restart ssh.service


    Jetzt könnt ihr mit dem ssh-client eurer wahl connecten sofern euch das lieber ist.



    8. CUPS und Zeroconf installieren. Jetzt kommen wir zum wesentlichen

    Shell-Script
    1. apt-get install avahi-daemon cups cups-pdf python-cup printer-driver-hpcups


    9. CUPS konfigurieren (anstatt vi könnt ihr auch nano verwenden. )

    Shell-Script
    1. vi /etc/cups/cupsd.conf


    ALT:


    Listen localhost:631


    NEU:


    # Listen localhost:631
    Port 631


    ALT:


    # Restrict access to the server...
    <Location />
    Order allow,deny
    </Location>


    # Restrict access to the admin pages...
    <Location /admin>
    Encryption Required
    Order allow,deny
    </Location>


    # Restrict access to configuration files...
    <Location /admin/conf>
    AuthType Default
    Require user @SYSTEM
    Order allow,deny
    </Location>


    NEU:


    # Restrict access to the server...
    <Location />
    Order allow,deny
    Allow @Local
    </Location>


    # Restrict access to the admin pages...
    <Location /admin>
    Encryption Required
    Order allow,deny
    Allow @Local
    </Location>


    # Restrict access to configuration files...
    <Location /admin/conf>
    AuthType Default
    Require user @SYSTEM
    Order allow,deny
    Allow @Local
    </Location>


    10. Restart CUPS

    Shell-Script
    1. systemctl restart cups.service


    11. Euren Drucker hinzufügen
    Einen Browser öffnen und die Adresse „http://{IP eurer VM}:631“ eingeben. Wenn ihr die IP nicht wisst dann einfach "ip ad l" in die Konsole eingeben.
    Unter Server die Option „Share printers connected to this system“ aktivieren und Change Settings drücken. Danach auf Add Printer klicken um den neuen Drucker hinzuzufügen. Der sollte (bei USB) relativ weit oben unter "Local" auftauchen. „Share This Printer“ aktivieren.
    Anschließend den Druckerhersteller und das Modell auswählen, und mit Add Printer hinzufügen. Um sicher zugehen, dass alles Funktioniert, das Menü Maintenance auswählen und Print Test Page drücken.


    12. Airprint installieren


    Shell-Script
    1. wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.pychmod +x airprint-generate.py./airprint-generate.py -d /etc/avahi/services


    13. ein letztes Mal cups und die zeroconf daemons durchstarten...



    Shell-Script
    1. systemctl restart cups.service
    2. systemctl restart avahi-daemon.service


    ... und wir sind durch. Herzlichen Glückwunsch.




    Ich hoffe es hilft dem ein oder anderen :thumbsup:

  • Bis gestern gehörte ich auch zu den "ganz verweifelten". Daher großen Dank für das Tutorial und auch den Tipp über einen Container zu gehen, sofern man kein USB (stattdessen bei mir WLAN) benötigt. Ich habe nun meinen Brother MFC-9320CW über meine QNAP TS-251 AirPrint-fähig machen können - per Debian XLC Container. Weiterer Credit geht auch an Kupferstecker auf diesem Forum (Post # 38087). Danke für Euren Support!

  • Wenn gewünscht, kann ich auch ne Anleitung posten wie man das ganze in einer Windows Maschine in der VM ans laufen bringt?


    Nachteil ist halt, dass die Maschine immer laufen muss, aber vielleicht haben ja einige das.

  • ... jetzt wo ich AirPrint eingerichtet habe, stelle ich jedoch fest, dass das recht unflexibel ist - aber vielleicht habe ich ja auch etwas übersehen. Folgendes kann ich einstellen mittels der Apple-Geräte zum Zeitpunkt des Ausdrucks sowie mittels CUPS zum Zeitpunkt der Konfiguration:


    iOS:
    Anzahl der Kopien
    Seite von / bis
    Farbe / Schwarzweiß


    CUPS:
    Media Size
    Print Quality
    Media Type
    Manual Feed
    Secure Print (Was ist das überhaupt?!)
    Toner Save
    Colour/Mono
    Colour Mode
    Improve Grey Colour
    Enhance Black Printing
    Halftone Screen Lock (Was ist das nun wieder?!)
    High Quality Image Printing


    Weitere Einstellmöglichkeiten wie Randgröße oder Zoom gibt es aber scheinbar nicht. Oder vielleicht doch via Konfiguration des avahi Daemon oder Ähnlichem? Weiß das jemand?