FreeBSD QandA 773
Q. プリンタで印刷しようとすると途中までしか印刷できません。
A. lpqで印刷ジョブのキューを見ると印刷しようとしている
エントリのサイズが1025024bytesになっていませんか?
lpr: hogehoge.ps : copy file is too large
などのメッセージが表示されませんでしたか?
Windows からの大きな文書のプリントアウトを samba で利用して
FreeBSD の lpr で行う場合や ghostscript を用いて printer に
出力している場合など、大量の出力を行う場合にキューファイルの
サイズ制限を超えてしまっていることが考えられます。
/etc/printcap の mx フィールドでスプールに置かれるファイルの
上限サイズが決まりますが、そのデフォルトが 1025024bytesです。
mx#0と指定するとこのサイズは無制限になります。
(例) /etc/printcap に以下のようなエントリがあったとします。
lp|local line printer:\
:sh:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
このとき、以下のように変更すればよいでしょう。
lp|local line printer:\
:sh:mx#0:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:
あるいは、エントリの最後に追加する場合には
lp|local line printer:\
:sh:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:\
:mx#0:
などとします。最後の行に追加する場合には、前の行の行末に「\」を
つけて継続行にするのを忘れないようにして下さい。
詳細は printcap(5) (および termcap(5)) を参照して下さい。
また、lpr 起動時に -s option をつけて lpr -s として使用
すると、印刷対象ファイルをスプールにコピーするかわりに
シンボリックリンクの作成を指定することができますので、
この方法を用いてもその現象は回避可能です。
この方法を使うと、印刷が完了するまで印刷対象のファイルを
消したり変更することができなくなりますが、ディスク容量を
節約できるという利点があります。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。