Provided by: manpages-ja_0.5.0.0.20140515+dfsg-2_all bug

名前

     printcap — プリンタ ケイパビリティ データベース

書式

     printcap

説明

     printcaptermcap(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 フラグ(制御文字を文字としてそのまま通す)が指定してある時に限って渡さ
     れる。 widthlength は、ページの幅と長さ(それぞれ pwpl から得られる)を文字数で指定す
     る。 -n-h はそれぞれ、ジョブ所有者のログイン名とホスト名を指定する。 acct-file は、
     printcapaf エントリから渡される。

     if が指定されていない場合は、 代わりに of が使用される。これらの間には、 if がそれぞれのジョ
     ブに対して毎回オープンされるのに対し、 of は 1 回しかオープンされないという違いがある。 した
     がって、アカウンティング(accounting)を行なうには if の方が適している。 of には、 widthlength の 2 つのフラグが与えられるだけである。

     他のすべてのフィルタは、次のようにして呼び出される:

           filter -xwidth -ylength -n login -h host acct-file

     ただし、 widthlength はピクセル単位で表され、それぞれ 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 で登場した。