D:20010813 免責事項
現在4台のPCでLANを組んでいるが、プリンタを特定のマシンにつな いでしまうとプリントだけのためにそのPCを起動しなければいけない。そ れも億劫なのでネットワークプリントサーバにしようという試み。
BJC-440(Canon)とPServer(corega)でネットワー クプリントサーバを構成し、これをLinuxBoxから利用するための準備と手 順について記述する(WindozBoxの操作含む)。
PServer(corega)をBJC-440(Canon)に接続したうえで、WindozBox にPServer(corega)付属FDより、「PS Admin」をインストールする (PServer取説、P27〜)。
WindozBoxにインストールした「PS Admin」を起動して プリントサーバのIPアドレス、サーバ名、ポート名を設定する (PServer取説、P41〜)。
IPアドレス | : | 192.168.0.100 |
サブネットマスク | : | 255.255.255.0 |
デフォルトゲートウェイ[1] | : | 192.168.0.254 |
サーバ名 | : | corega19CB4B |
ポート名 | : | corega19CB4B-P1 |
「PS Admin」の環境設定を保存したうえでLinuxBoxよりプリント サーバへpingを打って接続を確認する。
~$ ping 192.168.0.100 |
LinuxBoxの/etc/hostsを編集してつぎの行を追加しておく。
192.168.0.100 corega19CB4B.[LOCAL_DOMAIN_NAME] corega19CB4B |
プリンタを使うために必要となるいくつかのパッケージをインス トールする。
# apt-get install easypr-lprng # apt-get install gs # apt-get install gsfonts # apt-get install gsfonts-x11 # apt-get install gv # apt-get install lprng |
# /etc/init.d/lprng start |
/etc/printcapへつぎのようにプリンタを 追加して、gsからサンプルファイルの出力を確認 する。
(/etc/printcapへ追加) lp|ps|gs|Remote printer entry :lp= :rm=corega19CB4B :rp=corega19CB4B-P1 :sd=/var/spool/lpd/lp/remote :mx#0 :sh :lf=/var/spool/lpd/lp/remote/log |
(gsからsample.psを出力する) ~$ gs -dKANJI -dNOPAUSE -sDEVICE=bjc600 -sOutputFile=\|lpr sample.ps -c quit |
この問題を解決して、フィルタコマンドを実行してリモートプリ ンタへデータを渡す方法もあるようだが [2]、 今回この方法は使わなかった。
ここまでで、gsからリモートプリンタへの 印刷は検証できたが各アプリケーションからリモートプリンタへの印刷 は失敗している。原因は、リモートプリンタではif(フィルタコマンド) が使えないため。解決策としてeasyprを使うこと にする。前節「関連ソフトのインストール」でインストール済みなので、 環境設定をする。easyprの環境設定は、"setup"オ プション付きで起動すればよい。
~$ easypr --setup |
~$ easypr sample.ps |
lpq | : | print queueを表示する |
lprm | : | queueからjobを削除する |
e2ps | : | textからPostScriptへ変換をする |
[1] | Comstarz Router version 4.0.19 : NEC |
[2] | /usr/share/doc/HOWTO/ja-html/Printing-HOWTO.htmlの 「11.6 リモートプリンタにifを実行する」に記述されている。 |