FreeBSD QandA 1209
Q. リモートプリンタで PostScript ファイルを印刷したいのですが、ローカ
ルホスト側で Ghostscript にフィルタを使って通すと PostScript スクリプ
トが印字されてしまいます。
A. 以下のことを確認して下さい。
1. /etc/printcap の記述は正しいですか?
FreeBSDのバージョンが古過ぎませんか?
現在のバージョン (2.2.8R で確認) では、リモートプリンタの設定
("rm=リモートホスト名") がしてあってもローカル側でのフィルタの設定
("if=フィルタ") は有効ですが、古いバージョンでは "rm" の設定があると
"if" の設定は無効になってしまいます。
プリンタスプール ("sd") が他のエントリと重複していませんか?
プリンタスプールディレクトリは各エントリ毎に別個にして下さい。
FreeBSD のバージョンを上げて見て下さい。
古いバージョンで対応させる場合は [FreeBSD-users-jp 14570] を参考に
/etc/printcap を書き直して下さい。
2. フィルタの記述は正しいですか?
Ghostscript をローカルホスト側で通す場合、フィルタが正しいことを確認し
て下さい。とくに、プリンタのデバイス名が、使用する Ghostscript に対応
しているか調べて下さい。("gs -h" コマンドで対応デバイス一覧が出てきま
す。)
できれば、使用するプリンタをまずローカルに接続し、フィルタを通して
PostScript ファイルが印刷できることを確かめて下さい。
設定例:
リモートホスト "rhost" につながるプリンタ "rps" からプリントする。
プリンタのデバイスは "epag" を使用する。
フィルタは "/usr/local/libexec/psfilter.sh" とする。
------ /etc/printcap --------
r-ps|remote printer with gs:\
:lp=:rm=rhost:rp=rps:\
:sd=/var/spool/output/rps:\
:if=/usr/local/libexec/psfilter.sh:\
:lf=/var/log/lpd-errs:\
:mx#0:sh:
----------------------------------
-----/usr/local/libexec/psfilter.sh ------------
#!/bin/sh
/usr/local/bin/gs -q -dNOPAUSE -sDEVICE=epag -sOutputFile=- - quit.ps
-----------------------------------------------
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。