7月 222010
 

僕の自宅にはネットワーク上に FreeBSD 二台、Windows7 二台、MacOSX 一台がクライアント PC として存在してます。でもって自宅にはプリンタがあって ブラザー HL-2040 があるのですが、このプリンター、USB とパラレルポートで接続できるのであります。

HL-2040 のパラレルポートは Windows7 に、USB は MacOSX に接続されているので FreeBSD が動作している PC にはプリンタが接続されていないのであります。

そもそも、FreeBSD ではプリンタが動作するようにする設定はややこしいし、無理して FreeBSD から印刷しなくとも、cupsd が動作していて、ベンダがドライバを用意している MacOSX から印刷すれば綺麗に印刷できるのでそれで良いやー。とか思っていたわけですが・・。

しかし、よくよく調べてみるとブラザーは MacOSX と Linux 用に cups ドライバを用意しているので、それを FreeBSD に持ってきたら FreeBSD でも綺麗に印刷できるではないかい?

とか思い、FreeBSD で cupsd を onestart したわけです。で、その後に http://localhost:631 にアクセスするわけです。そしたら・・。

あぁれぇ? MacOSX に接続しているプリンタが FreeBSD から見えるではありませんかっ!! 以下は cupsd に接続した時の「プリンタの管理」の画面です。

cups_printer.png

cupsd で既に認識されているので、後はアプリから使えるのか確認するだけです。まずは GTK アプリの代表格 Firefox からですが、「印刷」を選択するとちゃーんと MacOSX に接続されたプリンターが見えていて、印刷もちゃんとできました。

次は僕がメインで利用しているデスクトップ環境の KDE4 の konqueror で印刷してみましたが、これまたプリンタがちゃんと見えていてちゃんと印刷ができたのでありました。日本語も文字化けせずに綺麗に印刷されております(@_o)。

す、すげーな。って感じなのてありました。

さてと。ここからはただの観測でしかなくて、全くウラは取ってないのですが、MacOSX と、後、KDE4 を利用した僕のデスクトップ環境では mDNS やら avahi やら hald などがガシガシ動いている環境です。なので、MacOSX 上の samba でファイル共有とプリンタ共有がオンになっていると Apple 謹製の cupsd はサクっとお互いを認識しあえるのかなぁ(サクっと認識されたのは多分 mDNS の影響だと、僕は思うのでありますが)。などと思った次第です。

MacOSX に接続され、ネットワーク共有されているプリンタはサクっと利用できると言うことなのでしょうなぁ。

それにしても上のほうに書いた通り HL-2040 のパラレルポートは Windows7 に接続しています。で、Windows7 に接続しているプリンタもネットワーク共有しているのですが、こいつは cupsd からは見ることが出なかったのでありました。

cupsd 同士、後、mDNS などの親和性がすごーく良い。と言うことなんでしょうかねぇ。

最後にですが FreeBSD 上で make した cups-base の make config のオプションを付けておきます。

# This file is auto-generated by 'make config'.
# No user-servicable parts inside!
# Options for cups-base-1.4.3
_OPTIONS_READ=cups-base-1.4.3
WITH_GNUTLS=true
WITHOUT_PHP=true
WITHOUT_PYTHON=true
WITHOUT_LIBPAPER=true
WITH_DNSSD=true
WITHOUT_PAM=true
WITHOUT_LDAP=true
WITHOUT_DBUS=true
WITHOUT_LIBUSB=true
WITH_GHOSTSCRIPT=true
WITHOUT_XPDF=true
WITHOUT_XDG_OPEN=true

 
本当に良く分からないのですが WITH_DNSSD=true なのかなぁ。 FreeBSD で簡単にプリンタを使いたければ MacOSX に接続されているプリンタで。って感じでしょうか;-)。