☆ VMWare Guest OS でプリンタを使おう ☆ VMware 内のゲストOSからパラレルポートプリンタを使用する為の メモ書きである. ■ カーネルの再構築 □ カーネルの設定 以下の項目を有効にする. ◆ モジュールが自動的に読み込まれるために <モジュールのサポート, 及び自動的なモジュールの読み込みを有効にする> ● Loadable module support ・ [*] Enable loadable module support ・ [*] Set version information on all module symbols ・ [*] Kernel module loader ◆ パラレルポートプリンタのために <パラレルポートを使う> ● Parallel port support ・ Parallel port support ・ PC-style hardware ● Character device ・ Parallel printer support ・ Support for user-space paralell port device drivers ◆ SCSI 接続によるスキャナを使うために ● SCSI support ・ SCSI CD-ROM support ・ <*> SCSI generic support ・ SCSI low-level drivers -> [*] BusLogic SCSI support ◆ SAMBA を使えるようにするために ● File systems ・ Network File Systems -> SMB file system support (to mount Windows shares etc.) 設定終了後に Exit する前に, Save Configuration to an Alternate File を選択してカーネルの設定に関する情報を保存しておく. ファイル名は, ver2.4.18_2002-08-20.config などで良いだろう. これを利用する際には Load an Alternate Configuration File として このファイルを保存しておくと良いだろう. □ カーネルのコンパイル # make dep # make-kpkg clean # make-kpkg --revision=shadow-2002-08-19 kernel_image □ カーネルの設定のバックアップ インストールの前に, コンパイルした deb ファイルと カーネルの設定ファイル(ver*.*.*_2002-**-**.config)を 他のコンピュータに置いておく. □ カーネルのインストール その後, カーネルをインストールし, 再起動する. # dpkg -i /usr/src/kernel-image-2.4.18_shadow-2002-08-19_i386.deb ■ パラレルポートをゲストOSにブリッジする □ VMWare でパラレルポートをゲストOSに接続させる. 「Setting」→「Configuration Editor」にて 「Add」とし, 「Parallel Port」を選択する. すると, 設定について聞かれるので, 「Use physical parallel port」を選択し, 「Bidirectional mode」(双方向モード)にチェックがついていることを 確認して「Finish」する. □ ゲストOSを起動 ゲストOSを起動し, 実際にパラレルポートを認識できているか 確認する. ちゃんとゲストOS側がプリンタを認識しているのならば, 起動中に何度かプリンタがチュインチュインとうなるはずである. ■ lpr の設定 パラレルポートプリンタに関しては VMWare はほぼ透過的にゲストOSは デバイスを使用できるので, 直接 Debian からプリンタを使う場合と ほぼ同じ設定で良い. □ lpr のインストール Debian パッケージの lpr か lprng をインストールする. □ /etc/printcap の編集 /etc/printcap に以下のエントリを加える. (小高さんと杉山さんのメモ書き参照) bj|Canon BJM70 printer:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/lp:\ :if=/usr/local/bin/print-filter.sh:\ :lf=/var/log/lp-errs:\ :mx#0:\ :sh: □ フィルタファイルの作成 基本的に BJ M70 は PostScript プリンタではないので, PSファイルを印刷するためにフィルタを通す必要がある. 上記で :if=/usr/local/bin/print-filter.sh と記述してある部分が フィルタである. フィルタファイル /usr/local/bin/print-filter.sh に以下の記述を 書き込む. #!/bin/sh /usr/bin/gs -q -sDEVICE=bjc600 -sPAPERSIZE=a4 -dSAFER -dNOPAUSE -sNOBATCH -sOutputFile=- - この記述に関して2つ注意がある. 1. 始めの /usr/bin/gs について この gs は gs-ja パッケージがインストールされていれば gs-ja にリンクされる. よって, gs-ja のインストールを忘れない事. 2. -sDEVICE について これはプリンタによりことなるので, 別のパラレルポート プリンタを使う場合は適宜書き換える必要がある. 最後に print-filter.sh に実行権限を出す事を忘れないように. # chmod 755 print-filter.sh □ 実際に印刷 後は普通に lpr コマンドを使用して印刷を行ってみる. $ lpr -Pbj ****.ps 印刷が行われるか確認しよう. ただし, カラーの印刷はできず. しょうがないのでどうしてもカラー印刷したい時は Windows から印刷しましょう. (T_T)