プリンターをパラレル回線でジカつなぎしている場合の、 ローカルプリンターとしての設定方法です。
ホスト本体と、プリンターをパラレル回線(やや大きい口)で つなぎます。
プリントに関するデーモン lpd が起ち上がっているか確認します。
% ps aux | grep lpd
起ち上がってなければ、root になって起ち上げます。
# /usr/sbin/lpd
ブート時に自動的に起ち上げるには、/etc/rc.conf に 次の1行を書き足します。
/etc/rc.conf
lpd_enable="YES"
プリンターの設定を /etc/printcap に書きます。とすると、次のようになります。 ただし、プリンターが PS プリンターか否かでちょっと変わります。
- lp : プリンターのあだな
- lp_PS_printer : プリンターの正式名称
PSプリンターの場合
最終行を除き、各行の最後にはバックスラッシュを入れます。
/etc/printcap lp|lp_PS_printer:\ :sh:mx#0:\ :lp=/dev/lpt0:\ :sd=/var/spool/lpd/lp:\ :lf=/var/log/lpd-errs:
各項目の意味は、あだな|正式名称:\ :表紙を印刷しない:印刷可能最大枚数(#0は無制限):\ :lp=デバイス名:\ :sd=スプールディレクトリ:\ :lf=エラーファイル:となっています。
非PSプリンターの場合
非ポストの場合、PS ファイルをプリンターにわかる言語に変換するため、 フィルターを通してあげないといけません。 フィルターは GhostScript と付属コマンド gs を使いますので、 インストールされてなければ、まずこれをインストールしてください。最終行を除き、各行の最後にはバックスラッシュを入れます。
/etc/printcap lp|lp_PS_printer:\ :sh:mx#0:\ :lp=/dev/lpt0:\ :if=/etc/filter.sh:\ :sd=/var/spool/lpd/lp:\ :lf=/var/log/lpd-errs:
各項目の意味は、あだな|正式名称:\ :表紙を印刷しない:印刷可能最大枚数(#0は無制限):\ :lp=デバイス名:\ :if=PSファイルをプリンターにわかる言語に変換するフィルター:\ :sd=スプールディレクトリ:\ :lf=エラーファイル:となっています。/etc/filter.sh の中身は、Canon LBP-320 プリンターの場合は 次のようなものです。
#!/bin/sh
/usr/local/bin/gs -q -dSAFER -sDEVICE=lips3 -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- - 2>/dev/null (1行で書く)
作成したら、chmod +x /etc/filter.sh
で実行権を与えるのを忘れないでください。
# chmod +x /etc/filter.sh
オプション -sDEVICE= の右辺は、 プリンターの種類によって変わって来ます。 -sDEVICE=lips3 は、Canon LBP-320 の言語である lips3 への 変換を指定しています。他では例えば Epson プリンターでは -sDEVICE=epson でOKです。 Epson の LP-2200 に対しては、-sDEVICE=lp2200 の方がきれいに出ました。 Epson の LP-XXXX には lpXXXX というデバイスがあるようです。 gs で使える DEVICE 名は、gs -h で調べられます。
GhostScript が対応しているプリンタリスト
- FreeBSD Q and A 内
- Linux での情報 (GhostScript の DEVICE 名はたぶん同じだと思う)
- /usr/local/share/ghostscript/"バージョン"/doc/ の中をあさる
# mkdir /var/spool/lpd/lp
印刷を許可するクライアントのIPアドレスを、 /etc/hosts.lpd に1行ずつ並べます。
/etc/hosts.lpd
123.45.67.1
123.45.67.2
123.45.67.3
上の様にやってなおプリンターがんともすんとも 言ってくれないことがあ ります。 これは lpd daemon さんはいるんだけど、 おねむしちゃっている 可能性があります。
% lpq -Plp
Warning: lp is not enable
Warning: lp is turned off
こんなときは、lpc コマンドで lpd daemon を叩き起こします。
# lpc enable lp
# lpc up lp
lpq で調べてみると、(off line ?) というワーニングが出て プリントアウトできない場合があります。 プリンタケーブルが切れてるなどの原因もあるでしょうが、 とりあえずプリンタの電源を一度切って、入れ直して見て下さい。 何事もなかったかのように復活することもあります。