Canon LBP 5100 (CAPT) - Debian sid 及び Windows XP Pro. x64 からの印刷 (2009/04/23)

(追記 2010/4/18) 64 ビット Windows OS に対応した Canon LBP 5100 のドライバが公開されていました.これで,仮想 PostScript プリンタサーバは 64 ビット Windows でも作成できることになりました.しかし,まだ,64 ビット Debian に対応した Canon LBP 5100 のドライバは提供されていないようです.

Linux 対応という表記だけで,Canon LBP 5100 を購入しました.ネットワークプリンタにするため,専用のネットワークカードも購入しました.これが苦闘の始まりでした.

Linux のドライバのインストールのために,ネットで調査したところ,

http://opfc.sourceforge.jp/download.html.ja
にあるように,Debian GNU/Linux の x86_64 は対応していません.また,32ビット OS でも Debian GNU/Linux 4.0 (Etch) までで Debian GNU/Linux sid は対応確認されていませんでした.それでも他のディストリビューションは x86_64 に対応しているものもあり,何とかなるだろうと思っていました.このときの調査で,Canon LBP 5100 には,Canon 独自の CAPT (Color Advanced Printing Technology) が使用されていることを知りました.PC 側で描画処理することにより,プリンタの CPU 負荷が軽減されるとのことです.

64ビット Linux での Canon CAPT プリンタ調査したところ,
Canon CAPT プリンタ を Ubuntu/amd64 で使う - nabeの雑記帳
の手順で 64ビット Debian sid から Canon LBP 5100 への印刷ができそうでした.そこで,上記のページに従って,インストール・設定しました.しかし,結果は失敗に終わりました./etc/cups/cups.conf で LogLevel を debug にして,ログを見た結果,
cupsdAuthorize: No authentication data provided.
の一行が原因であるようでしたので,ネット調査しましたが解決には至りませんでした.サーバをできるだけまとめたいと思っていたのですが,解決するための時間的な余裕もありませんでしたので,妥協して 32ビット Debian sid への Canon CAPT プリンタのパッケージをインストールし,設定を行いました.しかし,これも失敗に終わりました.ログには,64ビット Debian sid のときと同様のメッセージが表示されていました.

Linux での設定が滞ったため,当初考えていた samba サーバによる印刷環境の提供はあきらめ,32ビット Windows XP & Vista への Canon LBP 5100 のプリンタドライバのインストールを開始しました.しかし,32ビット Windows XP & Vista のプリンタドライバはありますが,私が主に使用している Windows XP x64 Edition のプリンタドライバはありませんでした.

結局,この時点で Canon LBP 5100 への印刷が可能であるのは,32ビット Windows のみでした.他の OS で印刷ができないのは,研究室内の活動を大幅に損います.そこで,妥協の妥協で,32ビット Windows をプリントサーバにできないかと考えました.ネットで調べると,Windows を仮想 PS プリンタにする手法がありました.最終的にこの手法で Debian sid 及び Windows XP Professional x64 Edition からの Canon LBP 5100 への印刷を可能としました.以下のその手法の概略を示します.

仮想 PostScript プリンタサーバの作成 (Windows XP 32bit)

  1. 32ビット Windows へのプリンタドライバのインストール

    Canon から提供されているプリンタドライバをインストールします.プリンタ名称は,Canon LBP5100 です.共有設定はしません.

  2. Ghostscript のインストールと設定

    GPL Ghostscript 8.64 をダウンロードして,インストールします.セットアップのダイアログで.Use Windows True Type fonts for Chinese, Japanese and Korean のチェックをします.C:\gs\gs8.64\bin と C:\gs\gs8.64\lib を PATH に追加します.

  3. RedMon のインストール

    redmon17 をダウンロードして,インストールします.Redirected Port が作られます.

  4. Adobe PS プリンタドライバのインストール

    Adobe のサイトから Adobe PS プリンタドライバをダウンロードして,インストールします.インストーラのバージョンは 1.0.6 です.

  5. 仮想 PS プリンタの作成

    「ローカルプリンタ」を手動で「Redirected Port」で作成します.Port の名前はデフォルトの「RPT1:」とします.プリンタソフトウェアのイントールでは,PostScript プリンタドライバであれば何でもよいですが,「AdobePSGenericPostScriptPrinter」を選択しました.プリンタ名は「Canon LBP5100PS」とし,共有名を「LBP5100PS」としました.

  6. GhostScript 引数ファイルの作成

    Ghostscript に渡すパラメータを書いたファイル lbp5100.rsp を作成し,C:\gs におきます.lbp5100.rsp の中身は次の通りです.

    -Ic:\gs\gs8.64\lib;c:\gs\fonts;c:\gs\gs8.64\kanji
    -sDEVICE=mswinpr2
    -dNOPAUSE
    -dSAFER
    -sPAPERSIZE=a4
    -r600
    -sOutputFile="\\spool\Canon LBP5100"
    

  7. 仮想 PS プリンタの設定

    作成した「Canon LBP5100PS」の「プロパティ」を開き,「ポートの設定」で「RPT1:」を選択し,「ポートの構成」を

    Redirect this port to the program: C:\gs\gs8.64\bin\gswin32c.exe
    Arguments for this program are: @C:\gs\lbp5100.rsp -
    Output: Copy temporary file to to printer
    Printer: Canon LBP5100
    Run: Hidden
    
    とします.このとき,「Log File」をクリックして,ログファイルを c:\gs\lbp5100.log としました.「プロパティ」に戻って「デバイスの設定」タブの「ジョブの後にCtrl+Dを送信」を「いいえ」に変更します.ここでプリンタ「Canon LBP5100PS」の印刷テストを行います.印刷テストに成功したらここまでのところはうまくいっています.なお,この「Canon LBP5100PS」の印刷テスト結果は白黒です.

  8. ネットワーク印刷サービスの起動

    「コントロールパネル」から「プログラムの追加と削除」を立ち上げます.「Windows コンポーネントの追加と削除」をクリックします.「そのほかのネットワークファイルと印刷サービス」という項目をチェックして追加インストールします.インストールが完了したら,「コントロールパネル」から「管理ツール」内の「サービス」を選択します.サービス一覧から「TCP/IP Print Server」を選択し,スタートアップの種類を「自動」とします.マシン起動時に自動的にネットワーク印刷サービスが起動するようになります.

これで,仮想 PostScript プリントサーバ側の設定は完了です.

Debian/GNU Linux プリントクライアントの設定

パッケージ cups, cups-bsd, cups-client, cups-client をインストールします.cups パッケージでは postscipt の ppd ファイル postscript.ppd が含まれます.まず,その ppd ファイルがある場所を次のコマンドで探します.

lpinfo -m | grep PostScript
lsb/usr/cups-included/postscript.ppd Generic PostScript Printer

次のコマンドで,プリンタを登録します.

# lpadmin -p LBP5100PS -E -v lpd://xxx.xxx.xxx.xxx/LBP5100PS \
   -m lsb/usr/cups-included/postscript.ppd -D "Canon LBP5100"
# lpadmin -d LBP5100PS

これで印刷できるようになります.なお,xxx.xxx.xxx.xxx は仮想 PS プリントサーバの IP アドレスです.postscript.ppd を使用しているので,カラー印刷も両面印刷もできます.

Windows XP Pro. x64 プリントクライアントの設定

「ローカルプリンタ」を手動で「Standard TCP/IP Port」で作成します.プリントサーバの IP アドレス xxx.xxx.xxx.xxx でポート名「IP_xxx.xxx.xxx.xxx」が作成されます.デバイスの種類では「カスタム」をクリックし,プロトコルを「LPR」,LPR 設定のキュー名を「LBP5100PS」とし,「LPR バイトカウントを有効にする」にチェックを入れます.プリンタソフトウェアのインストールでは,PS プリンタドライバを選択します.ここでは,「Canon LBP-2260PS」を選択しました.「Canon LBP-2260PS」ではカラー印刷,両面印刷が可能です.テスト印刷が成功したら設定完了です.


梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp
Last modified: 2020/05/01 15:37
Total Access Count