AirPrint для iPhone или Mac на Linux

on December 12th, 2012 by Hades | No Comments »

Новой особенностью последних iOS является возможность AirPrint!  Для организации данного функционала необходимо иметь Linux и немного свободного времени, а также установленные следующие пакеты в вашей системе:

  • avahi-daemon;
  • cups.

Установим сервер avahi на вашу систему (если он не установлен):

sudo apt-get install avahi-daemon

 

Для конфигурации сервера avahi используем следующий python script (airprint-generate.py)

python airprint-generate.py

 

Результат работы данного скрипта – файл AirPrint-HP-LaserJet-p2015.service, который нужно скопировать в /etc/avahi/services/

mv AirPrint-HP-LaserJet-p2015.service /etc/avahi/services/AirPrint-HP-LaserJet-p2015.service
Содержимое файла AirPrint-HP-LaserJet-p2015.service:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">AirPrint HP-LaserJet-p2015 @ %h</name>
  <service>
    <type>_ipp._tcp</type>
    <subtype>_universal._sub._ipp._tcp</subtype>
    <port>631</port>
    <txt-record>txtvers=1</txt-record>
    <txt-record>qtotal=1</txt-record>
    <txt-record>Transparent=T</txt-record>
    <txt-record>URF=none</txt-record>
    <txt-record>rp=printers/HP-LaserJet-p2015</txt-record>
    <txt-record>note=HP LaserJet p2015</txt-record>
    <txt-record>product=(GPL Ghostscript)</txt-record>
    <txt-record>printer-state=3</txt-record>
    <txt-record>printer-type=0x2900c</txt-record>
    <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-pdf</txt-record>
  </service>
</service-group>

 

где:

  • AirPrint HP-LaserJet-p2015 — это имя, под которым принтер будет виден в сети;
  • rp=printers/HP-LaserJet-p2015 — это имя принтера в CUPS, можно сходить сюда и посмотреть имя.

Редактируем файл /etc/cups/cupsd.conf , добавляем стройки

ServerAlias *
Listen 631
Browsing on
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
BrowseAddress @LOCA

 

Перезапускаем сервисы cups и avahi

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


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.