Linux Tips

Linux用ドライバが存在しないプリンタで印刷するには

北浦訓行
2005/4/7

 Linux用のプリンタドライバが存在せず、印刷できない場合がある。しかし、そのプリンタをWindowsマシンに接続して、Sambaを経由させれば印刷できる。つまり、LinuxからPostScript形式の印刷データを送信して、WindowsマシンでそれをWindows用のGhostscriptに渡し、そこからWindows用のプリンタドライバを使って印刷するのである。

 まず、Windows用のGhostscriptをインストールする。Ring Server(http://www.ring.gr.jp/pub/text/TeX/ptex-win32/gs/)からAFPL Ghostscript 8.50 for Windowsの日本語版(gs850w32full.zip)をダウンロードして展開する。

 セットアッププログラム(setupgs.exe)を実行すると、[AFPL Ghostscript Setup]ダイアログボックスが表示される。ここでは、必ず[Use Windows TrueType fonts for Chinese, Japanese and Korean]をオンにして[Install]ボタンをクリックする。

[AFPL Ghostscript Setup]ダイアログボックス

 次に、Linuxから送られてきた印刷データをGhostscriptに渡すためのソフトウェアRedMon(Redirection Port Monitor:http://www.cs.wisc.edu/~ghost/redmon/)をインストールする。通常は、アプリケーションやネットワークから送られてきた印刷用のデータは、プリンタに送られて印刷される。RedMonは、送られてきた印刷用のデータをプリンタではなくGhostscriptに渡す。そして、Ghostscriptがプリンタにデータを出力する。

 RedMonは、http://www.ring.gr.jp/pub/text/CTAN/support/ghostscript/ghostgum/にある。redmon17.zipを展開してsetup.exeを実行すればインストールできる。

 続いて、仮想PSプリンタを設定する。コントロールパネルの[プリンタとFAX]を選択して、[プリンタのインストール]をクリックする。[プリンタの追加]ウィザードを起動し、[ローカルプリンタまたはネットワークプリンタ]の画面で[このコンピュータに接続されているローカルプリンタ]を選択する。そのとき、[プラグ アンド プレイ対応プリンタを自動的に検出してインストールする]をオフにしておく。[次へ >]ボタンをクリックすると、[プリンタポートの選択]画面が表示されるので、[新しいポートの作成]を選択して[ポートの種類]で[Redireceted Port]を選択する。

[ポートの種類]の画面

 [次へ >]ボタンをクリックすると[Add Redirected Port]というダイアログボックスが表示される。デフォルトでは[Port Name]ボックスに「RPT1:」と入力されているので、そのまま[OK]ボタンをクリックする。[プリンタソフトウェアのインストール]画面では、できるだけ高解像度のPSプリンタを選択する。ここでは、EpsonのEPSON LP-9200PS3を選択した。

 [プリンタ名]の画面では、任意の分かりやすい名前を入力する。(ここでは「shareprinter」とした)。次の[プリンタ共有]画面でプリンタを共有し、共有名を入力する(同じく「shareprinter」とした)。

 プリンタの設定が終了したら、コントロールパネルの[プリンタとFAX]を開いて、作成したプリンタ(ここでは「shareprinter」)を右クリックして、ショートカットメニューの[プロパティ]を選択する。[shareprinterのプロパティ]ダイアログボックスが開くので、[ポート]タブをクリックする。[RPT1:]が選択されていることを確認して、[ポートの構成]ボタンをクリックすると、[RPT1: Propaties]ダイアログボックスが表示される。

 [Redirect this port to the program]ボックスに、Ghostscriptの実行ファイル(gswin32c.exe)をフルパスで入力する。[Browse]ボタンをクリックして、[ファイル開く]ダイアログボックスで選択してもよい。そして、[Arguments for this program are]ボックスに、Ghostscriptに渡すオプションを入力する。内容は以下のようになる。

-q -dBATCH -dNOPAUSE -sDEVICE=mswinpr2 -rプリンタの解像度 -sOutputFile="\\spool\プリンタ名" - -c quit

 ここでは、「Dell Photo AIO Printer 922」を使用するので、以下のように指定した。

-q -dBATCH -dNOPAUSE -sDEVICE=mswinpr2 -r1200 -sOutputFile="\\spool\Dell Photo AIO Printer 922" - -c quit

 最後に、[Run:]ボックスで[Hidden]を選択したら、[OK]ボタンをクリックする。

[RPT1: Properties]ダイアログボックス

 [全般]タブで[テストページの印刷]ボタンをクリックし、テスト印刷を行ってみよう。もし、文字化け(筆者の環境では、半角のスペース部分にゴミのような点が印刷された)が発生した場合は、[全般]パネルにある[印刷設定]ボタンをクリックして、[印刷設定]ダイアログボックスの[詳細設定]ボタンをクリックする。そして、グラフィックスの[TrueTypeフォント]で[ソフトフォントとしてダウンロード]を選択してダイアログボックスを閉じる。

[EPSON LP-9200PS3詳細オプション]ダイアログボックス

 [全般]パネルに戻ったら、もう一度テスト印刷してみる。文字化けが解消されていれば、Windowsの設定は完了だ。

 次に、Linuxのプリンタ設定を行う。ここでは、Sambaの設定が終わっている(Windowsとのファイルの共有ができている)Fedora Core 3を利用する。GNOMEメニューの[システム設定]−[印刷]を選択して、[プリンタ設定]ダイアログボックスを表示する。

 ツールバーの[新規]ボタンをクリックすると、[新規印刷キューの追加]ウィザードが起動する。キュー名などを入力して画面を進めて、[プリンタタイプ]画面の[キュータイプの選択]で[ネットワーク上のWindows(SMB)]を選択する。ボックスに共有するプリンタが表示された場合はそれを選択する。表示されなかった場合は[指定]ボタンをクリックして、接続するPCのワークグループ名やサーバ名もしくはIPアドレス、共有するプリンタの名前、Windowsのユーザー名とパスワードを入力する。

 [OK]ボタンをクリックすると、ボックスに指定したPCのプリンタが表示される。

[新規印刷キューの追加]ウィザードの[プリンタタイプ]画面

 [プリンタモデル]の選択画面では、[汎用]の中の[PostScript Printer]を選択する。

 以上で設定は終了だ。テスト印字で正しく印刷できるかどうかを確認してみよう。

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間