SchlagwortAirPrint

Drucken von Überall

Wie bereits in meinem vorherigen Post angekündigt, habe ich mich entschieden die Lage zu Wechseln. Nachdem meine besser Hälfte bereits in den Club der Androiden gewechselt hat, ist jetzt auch mein Xperia da. Ein Mako, was es bei Versionen <=4.3 gab war das Thema drucken. Nicht für jeden ein Business-Case aber wir drucken ganz gerne mal Pdf’s oder ähnliches direkt vom Smart Phone.

In meiner aktuelle Landschaft gibt es einen Cups Printserver, der meine Drucker in Netz announced. On top, arbeitet ein AirPrint Dienst, welche für die bestehenden Geräte & Macs die Drucker freigibt.

Um schnell drucken zu können kann man das App Let’s Print Droid nutzen. Hier werden auch direkt die AirPrint Drucker angeboten. Unschön an der Lösung sind 2 Aspekte. Zum eine muss mander zu druckenden Inhalt immer an die App senden, anstatt eines Eintrages “drucken” zu haben. Zum anderen erscheint mir die Qualität nicht so gut zu sein. Auf der anderen Seite kann man mit AirPrint leider nur in lokalen Netzen drucken.

Das Pendant von Google/Android heist CloudPrint. Wie der Name schon sagt liegt hier der Spooler in der Cloud und ist somit weltweit erreichbar. Der Drucker polled dann regelmäßig auf die Queue und arbeitet die Jobs ab. Leider habe ich lediglich einen Drucker, welcher nativ CloudPrint unterstützt, was also nun tun? Diesmal habe ich es mir einfach gemacht un habe auf die “stabilerer” Windows Lösung gesetzt und den “CloudPrint” listerner auf meinem Terminal Server installiert. Jetzt übernimmt der Windows-Server das Jobhandling und ich kann “weltweit” zu Hause drucken.

Airprint auf Debian

Heut gibts ein Quick Howto, wie Ihr eurem Debian Server beibringt die Drucker via AirPrint zu teilen 🙂

Zuerteinmal müsst Ihr ein paar Pakete installieren:

apt-get install avahi-daemon cups cups-pdf python-cups

nachdem nun Cups am Start ist, müssen wir das CUPS noch konfigurieren:

nano /etc/cups/cupsd.conf

Bildschirmfoto 2014-05-15 um 20.46.43

Hier die noch die 17 editieren, damit der Zugriff nicht nur auf den Localhost beschänkt ist:

# Only listen for connections from the local machine.
Listen 631

Anschlißend diesen Teil ersetzen:

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

# Restrict access to the admin pages...
<Location /admin>
  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>
  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>

Nachdem nun Cups soweit konfiguriert ist, einfach den Service neu starten:

service cups restart

Da nicht jeder in Cups rumfummel kann, muss man noch einen User der lpadmin gruppe hinzufügen

adduser felix lpadmin

Jetzt geht es zum AirPrint Teil ….

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
chmod +x airprint-generate.py
./airprint-generate.py -d /etc/avahi/services

Jetzt nochmal ein Neustart für Cups und den avahi-daemon und alles sollte funktionieren.

service cups restart
service avahi-daemon restart

… GSCHAFFT!!!