LinuxのCUPSプリンタをAirPrintから利用
Posted by maru on 23 5月 2013 at 11:36 pm | Tagged as: サーバー
全体の流れ
開発用、ファイル共有でCentOSのサーバを利用しています。
このサーバにCUPSをインストールし、Wifiで接続しているiPhone・iPadのAirPrintから利用できるようにします。
プリンタはブラザーの複合機MFC-9420CNです。
1. CentOSにCUPS、プリンタドライバをインストールし、プリンタを設定。
2. Bonjourが利用できるようCentOSにAvahiをインストール。
3. Avahiにプリンタの設定ファイルを作成
以上で、AirPrintが利用できるようになります。
1. CUPSとプリンタドライバのインストール
CentOSですので、CUPSとghostscriptをyumでインストール、プリンタドライバはブラザーのサイトからrpmを取得しインストールしました。
その後、https://サーバのIPアドレス:631/ でプリンタを設定し印刷できるところまで確認しておいてください。
なお、キュー名はMFC-9420CNとしました。
起動時にCUPSを起動させるには
chkconfig cups on
としてください。
2. Avahiのインストール
yumでインストールします。
yum install avahi avahi-compat-libdns_sd
3. Avahiにプリンタの設定ファイルを作成
ここが一番のポイントになりますが、設定ファイルを作成するPythonスクリプトがGitHubで公開されています。
https://github.com/tjfontaine/airprint-generate
airprint-generate.pyをダウンロードの上、PythonのCUPSモジュールをインストールします。
yum install system-config-printer-libs
インストールできましたら、avahi-daemonを起動します。
service avahi-daemon start
起動時にavahi-daemonを起動させるには
chkconfig avahi-daemon on
としてください。
先ほどダウンロードしたairprint-generate.pyのあるディレクトリで
python airprint-generate.py
とすると、同じディレクトリに
AirPrint-プリンタキューネーム.service
で設定ファイルが作成されます。
今回の場合 AirPrint-MFC-9420CN.service というファイルが作成されました。
このファイルを
/etc/avahi/services/
にコピーします。
続いて、/etc/cups/cupsd.confの最後に
ServerAlias *
を追加します。
ここまで出来ましたら、AvahiとCUPSを再起動します。
service avahi-daemon restart
service cups restart
iPhoneからAirPrintを利用する
これで、Wifiで接続しているiPad、IphoneからAirPrintが使えるようになります。