PIXUS iP4300 の導入 on Linux

CUPS による共有プリンタの構築


新プリンタの購入

 数年ぶりに、プリンタを新調しました。もっとも、この内容を記しているのは、購入から半年以上もすぎているので、今更感がないわけではありません。もともと、自宅サーバー上に構築していた Blog に書いていたものでしたが、Blog データを Lost する羽目になり、備忘録として書き直したものです。

 年賀状の作成という、年に一度のプリンタが大活躍するイベントを迎え、初売り(爆笑)にて、新たなプリンタを購入することとなりました。購入したプリンタは CANON PIXUS iP4300 です。これに決定した最大の理由は値段の安さと印刷の早さです。とはいえ、印刷の早さの基準は、それまで使用していた HP DeskJet 970Cxi なので、数年も経過していれば、速度の向上があることそのものは、ある意味必然ともいえました。

 プリンタを購入後は、急ぎで行わなければいけない作業(爆笑)を行うため、Windows 側で導入しました。ここで引っかかるようなことは、最近のプリンタではまずありません。以前使用していた HP DeskJet 970Cxi は、プリンタドライバの組み込みが結構面倒でしたので、それに比較すると、より容易になっているので、ほとんどトラブルらしいトラブルもなく仕えました、と言いたいところですが、世の中そう甘くはありません。

 最初に悩んだのは、用紙カセットから給紙してくれない、ということです。CANON PIXUS iP4300 は、上部の用紙スタックの外、底部に用紙カセットを備える、2系統給紙機構となっていました。自作ラックもどき(笑)という限定された空間に設置するため、高さが限定されており、よくある本体上部や背面からの給紙機能は実質使用できないことになります。ところが、肝心の底面カセットからの給紙が全くされず、一体なにが悪いのか、と半分切れかけたときに、ふと(給紙方法はドライバオプションなどで設定するのでは?)ということに気づきました。案の定、デフォルト設定は上面給紙でしたが、オプションの中に、カセット給紙の選択肢があり、無事デフォルトをカセット給紙に変更することが出来ました。

 底面からの給紙は、用紙が反転してしまうことになるため、あまり厚みのある用紙は使えません。一般のコピー用紙からすると、年賀状は厚みがあるため、底面給紙には不安が残りましたが、案ずるより産むが易しで、思いの外スムーズに吸い込んでくれて、不安は杞憂に終わりました。

 次に悩んだのが、LAN コネクタです。このプリンタ、実は会社で一つ前の iP4100 を購入しており、背面に RJ45 の Ethernet ポートが存在していました。もちろん、iP4300 にも搭載されていると考えて探してみたのですが、一向に見つかる気配がありません。そこで、取扱説明書を確認してみたところ、初めて Ethernet ポートが搭載されていないことに気づきました(爆)。Web 上で情報を集めてみたところ、iP4100 のモデルの一つに、有線 LAN +無線 LAN 搭載のモデルがあったことが判明し、その後の iP4200 から廃止されてしまったことがわかりました。非常に残念ですが、どれかのマシンにぶら下げるしかない、という結論となってしまいました。既存のマシンをプリンタサーバーとして使用することも考えましたが、ThinkPad 600 や 570 をそのような用途に使うことには、非常に抵抗がありました。だからといって ThinkPad 760 などでは、Vine Linux 4.1 を入れるのも、なかなか厳しいようにも思われ、サーバー群のどれかにぶら下げることになりました。ここにも、問題が含まれていることには、この時点では気づいていませんでした。この件については、後ほどふれます。

 若干のトラブルはあったものの、とりあえず Windows からの使用は、問題なく行えました。トラブルといっても、先述したとおり、取り扱いの不慣れさから発生したものであり、最初のうちはしょうがないといえるものでした。

Linux からの使用

 Windows から使えるのは、ある意味当然であり、本命は Linux からの使用にあるわけです。そこで、CANON のサイトを調べて見たところ、一つ前のモデルである iP4200 用のプリンタドライバ ver2.60 が見つかりました。さすがに、発売間もない iP4300 用のドライバは見つかりませんでした。普通の人はここであきらめるかもしれませんが、こういうところは潔くない私は、駄目もとで、このドライバを組み込んでみることにしました。iP4300 は iP4200 のマイナーチェンジであれば、これでうまく行く可能性もあります。博打的な要素は大きいところではありましたが。

 配布されているプリンタドライバは、rpm 形式と tarball の二つがありました。もちろん根性なしの私は、rpm を選んだのは言うまでもありません(笑)。提供されているプリンタドライバは、二つのパッケージに別れており、一つは共通に使用するパッケージであり、もう一つは各機種用の個別パッケージでした。

chijfilter-common-2.60-1.i386.rpm 共通ファイル
chijfilter-ip4200-2.60-1.i386.rpm 機種依存ファイル

 ダウンロードしたファイルは、相互に依存しているため、一括でインストールする必要があります。

# rpm -ivh chijfilter-common-2.60-1.i386.rpm cnijfilter-ip4200-2.60-1.i386.rpm

 プリンタドライバが組み込みできた時点で、プリンタのインストールが完了したと考えたくなりますが、実はまだ途中なのです。メニューバーから、『デスクトップ』→『システム管理』→『CUPS印刷マネージャ』を選択します。『CUP サーバに接続できません』となる場合は、cupsd(cups デーモン)が起動していませんので、GUI で行う場合には、『デスクトップ』→『システム管理』→『サービスの起動』を選択します。そうすると、『サービスの起動』が開きますので、『印刷サービス』の行のチェックボックスをクリックします。CUI で行う場合には、GNOME 端末を開き、su - コマンドで root になり、/etc/rc.d/init.d/cups start とすると、cupsd が起動します。

 『プリンタ』ウインドウが開いたならば、『新しいプリンタ』を選択します。

 プリンタを直接 PC に接続している場合は、『ローカルプリンタ』を選択し、『次へ』ボタンを押します。プリンタを直接接続している場合には、『検出されたプリンタ』に、iP4300 が見つかります。

 『使用するドライバ』のウインドウが開きます。『製造元』に『Canon』を選択して、型式に『iP4200 ver2.60』を選択して、『適用』を押します。ここで、『ドライバのインストール』がありますが、ここでは PPD 形式のドライバがインストールできるようになっているため、rpm 形式のドライバはここからインストールすることはできません。

 ドライバの詳細設定ウインドウが開きます。給紙方法をカセットにする場合は、『用紙』タブを選択し、印刷元を『Cassete』に変更します。最後に閉じるを押すと終了します。

 プリンタの設定ができたら、必ず『テストページの印刷』を行って、正しく、指定した用紙で印刷されていることを確認しましょう。

共有プリンタの設定

サーバー側の設定

 Linux だけから利用できればよいかというと差にあらず、Windows からも使えることが重要なポイントになります。単独のプリンタとして使うのでは、何のために Linux に接続するのか、ということになります。

 Linux でプリンタを共有する方法はいくつかあります。その中で、今回は IPP (Internet Printer Protocol)による共有を行うこととしました。samba ではなく IPP を選択した理由は、それほど大きなものではなく、samba で以前玉砕していたため、別のサービスを利用してみようと考えたためです(笑)

 今回、共有するプリンタの設定は、特には必要ありませんでした。Local プリンタとして設定した時点で、IPP としても動作するようになっています。ただし、使用するポートが 631 となっているため、Linux のファイアーウォールを設定している場合に、追加で通過を許可しないと、いくら待っても認識されない、ということになりますので、少々注意が必要です。

ファイアーウォールへの設定

 GNOME を使っている場合、『デスクトップ』→『システム管理』→『セキュリティレベルとファイアーウォールの設定』を選択します。管理者(root)のパスワード入力が求められるので、root のパスワードを入力し、OK ボタンを押します。ここで、デフォルトフォーカスは、『いいえ』となっていますので、手動で『はい』を選択するつもりで Enter キーを連打していると、いつまで経っても、プリンタウインドウが開かないので、きちんと『OK』ボタンを押しましょう。実のところ、このトラップにはまり、何度行ってもプリンタが開かないのはなぜ、と悩んでいました(苦笑)。

 ファイアーウォールの設定には、標準では IPP は含まれていません。そこで、『その他のポート』を選択します。そうすると、ウインドウが拡張され、追加リストが表示されます。

 『追加(A)』を選択して、設定ウインドウを開き、ポートに 631 を、プロトコルに tcp を選択して、『OK』 ボタンを押します。

 OK ボタンを押すと、その他のポートに設定した IPP (631/tcp) が記述されます。

 最後に、『OK』 ボタンを押すと、ファイアーウォールの設定を反映させてよいか、の確認が表示されますので、『OK』ボタンを押します。

クライアントの設定

 クライアントの設定は、あっさりとしていて、Local プリンタとして設定した上で、接続先を、Local からネットワーク上の IPP に変更するだけです。管理者権限でプリンタウインドウを開くと、『接続』のタブが増えていることがわかります。

 接続のタブを開くと、プリンタの接続方法を指定することになりますので、『ネットワークプリンタ CUPS(IPP) 』を選択します。そうすると URL の指定になりますので、『ipp://server:631/printers/iP4200-Ver.2.60』を指定します。server には、プリンタサーバとなる PC のホスト名または IP アドレスを設定します。なお、IPP の設定をどうやって調べるか、ということになりますが、GNOME のユーティリティは若干不親切で、この部分はじつは KDE のユーティリティを用いています(苦笑)。KDE のユーティリティでは、IPP を提供するホスト名を指定することで、プリンタ一覧が表示され、使用したいプリンタを設定する、という GUI らしい設定が可能となっています。GNOME の URL を直接入力させる、というよりは、こちらの方が使いやすいように感じます。

 後は、正しく印刷されることを確認します。なお、iP4300 は、自動節電機能があるため、プリンタの電源が落ちていないかどうか、を確認しておきましょう。いくら待っても印刷されないときには、プリンタの電源が落ちていることも疑いましょう。えっ、これもやっただろうって?まあ、そういう言い方もありますね ...(^_^;;

 ここで URL を調べておくことは、後で Windows から設定する時も役に立ちます。Windows でも同様に、ローカルプリンタとして設定しておき、後から URL を指定してネットワークプリンタへ変更するため、再利用が出来るのです。

 我が家では、プリンタを直接管理しているのは Linux ですが、利用しているのは、Windows クライアント& Linux クライアントです。Windows クライアントには、DC も含まれています。本当の意味で、共有プリンタとして活躍してくれています。Windows からも Linux からも同じように使えるので、非常に重宝しています。

もう一つの設定方法

 こちらが、サーバー向きの設定でしょうね。CUPSは http サーバーを内包しています。従って、ブラウザからの設定が可能となっています。cupsd が起動していることを確認した上で、http://localhost:631 を開くと、CUPS の管理画面が開きます。

 『プリンタの追加』ボタンを押すと、『名前』から『説明』までの入力を求められます。『名前』には、プリンタの名称として表示される名前なので、任意の名前を設定できます。名前以外は入力しないで進めます。特に『説明』については、後で上書きされるため、ここで設定しても無意味です。

 プリンタを接続しているインターフェイスを指定します。なぜかデバイス名となっていますが、インターフェイスを指定します。iP4300 は USB 接続ですから、USB Printer #1 を選択します。

 使用するプリンタのメーカーを指定します。このメーカー名で次に選択するドライバの絞り込みを行うので、間違えないように注意します。

 使用するプリンタドライバを選択します。すでに rpm コマンドでドライバを導入しているので、リスト内に『iP4200-Ver2.60』が存在しています。もし、リストに表示されない場合は、先に cnij filter および common を導入しておきます。

 正しく設定されると、完了メッセージが表示されます。この後、プリンタの印字テストを行います。プリンタサーバーとして使うマシンに、X Window System を導入していない場合には、こちらの方が負荷が低く、お勧めします。


Last Update is 2007/07/08. CopyRights Tazoe Kazuya 2007.