カテゴリー:プリンター

検索



Please click now!!

CUPS で FreeBSD から簡単印刷。(MacOSX があればだよ)

僕の自宅にはネットワーク上に 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 に接続されているプリンタで。って感じでしょうか;-)。

リコー imagio PM C4500SP。

FreeBSD で印刷。これは永遠のテーマですね。gs ドライバがヘボいと、たとえ cupsd 経由で印刷したとしても日本語が文字化けするしで使い物にならないことが多い。

そんな状態で、リコー imagio PM C4500SP を FreeBSD から利用する機会があった。PM C450SP では lpr が動作していて、FreeBSD においては ipp プロトコルで通信し、利用するためには IP アドレスとキュー名を FreeBSD 側で指定する必要がある。

ちなみに、このプリンター、OS は NetBSD と言うウワサあり。IPv6 で ipp プロトコルの通信ができるプリンターらしい;-)。

僕は、KDE3 を利用しているのだけど、KDE3 にはメニューに [設定]->[プリンタ] と言うのがあって、プリンタの設定があっと言う間に行える。

プリンタの設定ウィサードを起動する前に cupsd_enable="YES" として cupd を起動し、ウィザードの下のほうにある [現在の印刷システム] を CUPS にすればええだけ。後はプリンターを登録するだけ。かんたーーん;-)。

で、ちゃんとした PS プリンターであれば簡単に動くんだけどねぇ、gs 経由で印刷する時は日本語が表示できなくてイヤになる時が多々ある。この辺りになるとプリンタの性能がモノを言うかな・・。

後、CUPS 経由で印刷する場合、ベンダが提供している MacOSX のドライバが役に立つときがある。Linux 版が無い場合は MacOSX 用のドライバを利用してみましょう;-)。

ただし、FreeBSD でどうやって dmg アーカイブを溶かすんだ?って話はあるんだけどね(^^;;。

 
Copyright (c) 1997-2010 takachan@running-dog.net All Rights Reserved.