printcap(5) FreeBSD 一般コマンドマニュアル

printcap

前のページ 上に戻る 次のページ

printcap




解説

     printcap は、ラインプリンタの記述に使われる termcap(5) を簡略化したもので
     す。スプールシステムは利用のたび毎に printcap ファイルにアクセスするた
     め、プリンタを動的に追加したり削除することが可能です。データベース中の各
     々のエントリが、1 台のプリンタを記述するのに使われます。 termcap(5) とは
     異なり、このデータベースは代替できません。これは、アカウント情報がバイパ
     スされてしまうことがあるからです。

     デフォルトのプリンタは通常 lp ですが、環境変数 PRINTER によって上書きする
     こともできます。各スプーリングユーティリティはオプション -P printer をサ
     ポートし、出力先のプリンタ名を明示することが可能です。

     あるプリンタに対するデータベースをセットアップする方法の詳細については、
     4.3 BSD Line Printer Spooler Manual を参照してください。


ケーパビリティ

     ファイルレイアウトの解説については termcap(5) を参照してください。

     Name       Type      Default                Description
     af         str       NULL                   アカウンティングファイル名
     br         num       none                   lp が tty の場合、ボーレート
                                                 を設定  (ioctl(2) call)
     cf         str       NULL                   cifplot データ用フィルタ
     ct         num       120                    TCP コネクションのタイムアウ
                                                 ト時間(秒)
     df         str       NULL                   tex データ用フィルタ (DVI
                                                 フォーマット)
     ff         str       `\f'                   フォームフィード送信文字
     fo         bool      false                  デバイスオープン時にフォーム
                                                 フィードを印字
     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                出力時にオープンするデバイス
                                                 名
     ms         str       NULL                   lp が tty の場合、コンマで区
                                                 切ったリスト。 tty モード記述
                                                 用の stty(1) リストに似てい
                                                 る。
     mx         num       1000                   最大ファイルサイズ ( BUFSIZ
                                                 ブロック単位)。0 = 制限なし。
     nd         str       NULL                   キューのリスト用の次のディレ
                                                 クトリ (未実装)
     nf         str       NULL                   ditroff データ用フィルタ
                                                 ープのメンバのみアクセスが許
                                                 可される
     rm         str       NULL                   リモートプリンタ名
     rp         str       ``lp''                 リモートプリンタ名引数
     rs         bool      false                  ローカルにアカウントを持つリ
                                                 モートユーザに対する制限
     rw         bool      false                  プリンタデバイスを読み書き用
                                                 にオープンする
     sb         bool      false                  短いバナー (1 行のみ)
     sc         bool      false                  複数コピーの抑制
     sd         str       /var/spool/lpd         スプール ディレクトリ
     sf         bool      false                  フォームフィードの抑制
     sh         bool      false                  バーストページヘッダの出力抑
                                                 制
     sr         str       NULL                   受信される各データファイルの
                                                 統計情報を保持するファイル名
     ss         str       NULL                   送信される各データファイルの
                                                 統計情報を保持するファイル名
     st         str       status                 状態ファイル名
     tf         str       NULL                   troff データ用フィルタ (cat
                                                 phototypesetter)
     tr         str       NULL                   キューが空の時に印刷するトレ
                                                 イラ文字列
     vf         str       NULL                   ラスタイメージ用フィルタ

     2 文字のケーパビリティは、別の読み易い名前があります。

     B>短B>いB>形B>式    B>長B>いB>形B>式
     af          acct.file
     br          tty.rate
     cf          filt.cifplot
     ct          remote.timeout
     df          filt.dvi
     du          daemon.user
     ff          job.formfeed
     fo          job.topofform
     gf          filt.plot
     hl          banner.last
     if          filt.input
     lf          spool.log
     lo          spool.lock
     lp          tty.device
     mc          max.copies
     ms          tty.mode
     mx          max.blocks
     nf          filt.ditroff
     of          filt.output
     pc          acct.price
     pl          page.length
     pw          page.width
     px          page.pwidth
     py          page.plength
     tr          job.trailer
     vf          filt.raster

     ローカルラインプリンタのドライバが字下げをサポートしているならば、プリン
     タデーモンはその使い方を理解しなければなりません。


フィルタ

     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      ラスタイメージ

     if フィルタは次の引数をとります。

           if [-c] -wwidth -llength -iindent -n login -h host acct-file

     -c フラグは -l フラグ (コントロール文字をそのまま通過させます) が lpr(1)
     に指定された場合のみ渡されます。 width 機能と length 機能はページ幅とペー
     ジ長を (それぞれ pwpl によって) 文字単位で指定します。 -n-h パラ
     メータでそれぞれのジョブの所有者のログイン名とログイン先ホスト名を指定し
     ます。 acct-file 機能は printcapaf エントリがそのまま使われます。

     if が指定されなかった場合、 of が代わりに使われます。 ofif が個々の
     ジョブ毎にオープンされるのに対して、たった 1 回だけオープンされると言う特
     徴を持っています。そのため、アカウンティングを行うには if の方が向いてい
     ます。 of には、 widthlength フラグのみが与えられます。

     その他の全てのフィルタは次のように呼び出されます。

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

     widthlength はピクセル単位で表され、それぞれ pxpy エントリで指定
     されます。

     全てのフィルタはファイルを stdin から読み込み stdout からの出力をプリンタ
     に送られ、 stderr または syslog(3) がログ出力に使われます。フィルタは
     SIGINT を無視してはいけません。


リモートプリンティング

     rm を使用してリモートプリンタに印刷する時、 if または of を使用できます。
     両方を指定した場合、 of は無視されます。どちらのフィルタも同様に振舞いま
     すが、上述の通り異なった引数を渡されます。特に、出力フィルタはファイルが
     転送されるたびに、停止・再起動されます。このように動作することが必要な理
     タファイルに書き込まれるのは、ファイルの転送に成功したときです。行の書式
     は、転送における送信側と受信側とで、同一です。

     ジョブを送ってくる種々のマシンとプリントサーバ間のネットワーク性能に興味
     がある場合、受信データファイルの統計情報をプリントサーバで使えるかもしれ
     ません。プリントサーバは、印刷ジョブがサーバに届くたびに、各印刷ジョブの
     速度の統計情報を集めることができます。

     誰がどのジョブをリモートプリンタに送ったのか、何時送られたのか、そして
     ファイルの (バイト数での) 大きさはどのくらいだったかについて知りたい場
     合、送信データファイルの統計情報を最小のアカウンティング記録として使える
     かもしれません。しかし、何ページ印刷したのかといった情報は一切含みませ
     ん。なぜなら、そのような情報をリモート (ネットワーク) プリンタから得るた
     めの標準的な方法が存在しないためです。


ロギング

     ラインプリンタプログラム自身 (つまり lpd(8) とそれに関連するプログラム)
     が生成したエラーメッセージは、 syslog(3) の LPR ファシリティを使ってロギ
     ングされます。フィルタの 1 つから stderr に出力されたメッセージは、対応す
     る lf で指定されたファイルに送られます。当然、フィルタ自身もまた
     syslogd(8) を使うことがあるかも知れません。

     コンソールに送られるエラーメッセージには、ラインフィードだけではなくキャ
     リッジリターンとラインフィードが追加されます。


関連項目

     lpq(1), lpr(1), lprm(1), hosts.lpd(5), termcap(5), lpc(8), lpd(8), pac(8)

     4.3 BSD Line Printer Spooler Manual.


歴史

     printcap ファイルフォーマットは 4.2BSD から登場しました。

FreeBSD 4.4                    October 11, 2000                    FreeBSD 4.4

ABELNET VPSサービス