| PRINTCAP(5) | File Formats Manual | PRINTCAP(5) |
名前¶
printcap —
書式¶
printcap
説明¶
printcap は termcap(5)
データベースを簡単にしたものであり、ラインプリンタを記述するのに使われる。
スプーリングシステムは、使用されるたびに
printcap
ファイルにアクセスし、プリンタの動的な追加と削除を可能にしている。
データベースにおける各エントリは、1
つのプリンタを記述するのに使われる。
このデータベースは書き込み可能にしておいてはならない(
termcap
データベースは普通書き込み可能になっている)。
なぜなら、それによってアカウンティング(accounting)をすり抜けることが
可能になってしまうからである。
通常、デフォルトプリンタは
lp
である。ただし、環境変数
PRINTER
が設定されていれば、そちらが優先される。
各スプーリングユーティリティは、目的のプリンタを明示的に指定できるよう、
オプション -P
printer
をサポートしている。
ある特定のプリンタに対するこのデータベースの設定の詳細は 4.3 BSD Line Printer Spooler Manual を参照せよ。
ケイパビリティ¶
ファイルレイアウトの説明については termcap(5) を参照せよ。| Name | Type | Description | |
| af | str | NULL |
アカウントファイル名 |
| br | num | none | lp が tty の場合, そのボーレートを設定する (ioctl(2) コール) |
| cf | str | NULL |
cifplot データ用フィルタ |
| df | str | NULL |
tex データ (DVI フォーマット) 用フィルタ |
| fc | num | 0 | lp が tty の場合, フラグビットをクリアーする (sgtty.h) |
| ff | str | ‘\f’ |
改ページ(form feed) のために送信する文字列 |
| fo | bool | false | デバイスオープン時に改ページ(form feed)を印刷する |
| fs | num | 0 | `fc' と同様だが、こちらはビットをセットする |
| gf | str | NULL |
グラフデータ用フィルタ (plot(3) フォーマット ) |
| hl | bool | false | 最後にバーストヘッダーページを印刷する |
| ic | bool | false | ドライバはインデント付き印刷のために (非標準の) ioctl をサポートする |
| if | str | NULL |
アカウントのためのテキストフィルタ名 |
| lf | str | /dev/console | エラーログファイル名 |
| lo | str | lock | ロックファイル名 |
| lp | str | /dev/lp | 出力に対してオープンするデバイス名 |
| mx | num | 1000 | 最大ファイルサイズ
( BUFSIZ
ブロックの数で指定),
0 = 制限なし |
| nd | str | NULL |
キューリストのための次のディレクトリ (未実装) |
| nf | str | NULL |
ditroff データ(デバイス非依存 troff)用フィルタ |
| of | str | NULL |
出力フィルタプログラム名 |
| pc | num | 200 | 1 フィートもしくは 1 ページあたりの価格(1/100 セント単位) |
| pl | num | 66 | ページ長 (行数) |
| pw | num | 132 | ページ幅 (文字数) |
| px | num | 0 | ピクセル単位でのページ幅 (水平方向) |
| py | num | 0 | ピクセル単位でのページ長 (垂直方向) |
| rf | str | NULL |
FORTRAN スタイルのテキストファイルを印刷するためのフィルタ |
| rg | str | NULL |
制限グループ。このグループのメンバーのみアクセスが許される |
| rm | str | NULL |
リモートプリンタのためのマシン名 |
| rp | str | ``lp'' | リモートプリンタ名引数 |
| rs | bool | false | ローカルにアカウントをもったリモートユーザに限定する |
| rw | bool | false | 読み書きのためにプリンタデバイスをオープンする |
| sb | bool | false | ショートバナー(short banner) (1 行のみ) |
| sc | bool | false | 複数コピーを抑制する |
| sd | str | /var/spool/lpd | スプールディレクトリ |
| sf | bool | false | 改ページ(form feed)を抑制する |
| sh | bool | false | バーストページヘッダーの印刷を抑制する |
| st | str | status | ステータスファイル名 |
| tf | str | NULL |
troff データ(cat 写植)用フィルタ |
| tr | str | NULL |
キューが空の場合に印刷するための後書き文字列(trailer string) |
| vf | str | NULL |
ラスタイメージ(raster image)用フィルタ |
ローカルのラインプリンタドライバが字下げをサポートしているならば、 デーモンはその方法を理解できなければならない。
フィルタ¶
lpd(8) デーモンは、さまざまなプリンタのタイプに応じてファイルを処理するために、 filters (フィルタ) のパイプラインを構築している。 選択されるフィルタは、 lpr(1) へ渡されるフラグに依存している。 パイプラインの構築は、次のようになる :p pr | if 通常テキスト + pr(1) none if 通常テキスト c cf cifplot d df DVI (tex) g gf plot(3) n nf ditroff f rf Fortran t tf troff v vf ラスタイメージ(raster image)
if フィルタは、次の引数とともに呼び出される:
if
[-c]
-wwidth
-llength
-iindent
-n login
-h host acct-file-c
フラグは、 lpr に
-l
フラグ(制御文字を文字としてそのまま通す)が指定してある時に限って渡される。
width と length
は、ページの幅と長さ(それぞれ
pw と pl
から得られる)を文字数で指定する。
-n と -h
はそれぞれ、ジョブ所有者のログイン名とホスト名を指定する。
acct-file は、
printcap の af
エントリから渡される。
if
が指定されていない場合は、
代わりに of
が使用される。これらの間には、
if
がそれぞれのジョブに対して毎回オープンされるのに対し、
of は 1
回しかオープンされないという違いがある。
したがって、アカウンティング(accounting)を行なうには
if
の方が適している。
of には、
width と length の 2
つのフラグが与えられるだけである。
他のすべてのフィルタは、次のようにして呼び出される:
filter
-xwidth
-ylength
-n login
-h host acct-fileただし、 width
と length
はピクセル単位で表され、それぞれ
px エントリと
py
エントリによって指定される。
すべてのフィルタは、そのファイルとして
stdin
(標準入力)を、プリンタとして
stdout
(標準出力)をとる。そのログは、
stderr
(標準エラー出力)に対して、もしくは
syslog(3)
を使ってとられる。また、
SIGINT
を無視することは許されない。
ロギング(LOGGING)¶
ラインプリンタプログラム自身 (つまり、 lp* プログラム) によって生成されたエラーメッセージは、LPR を使うことで
syslog(3)
によって記録される。
フィルタのうちの 1
つの stderr
(標準エラー出力)
上に印刷されたメッセージは、それに対応する
lf
ファイルへと送られる。
もちろん、フィルタはそれ自身で
syslog
を使ってもかまわない。
コンソールへ送られるエラーメッセージには、改行(LF)だけではなく、 復帰(CR)と改行(LF)が追加される。
関連項目¶
termcap(5), lpc(8), lpd(8), pac(8), lpr(1), lpq(1), lprm(1) 4.3 BSD ラインプリンタスプーラーマニュアル.履歴¶
printcap
ファイルフォーマットは、
4.2BSD
で登場した。
| May 10, 1991 | BSD 4.2 |