PRINTCAP
Section: File Formats (5)
索引
jman
BSD mandoc
索引
名称
printcap
- プリンタケーパビリティデータベース
索引
書式
索引
解説
は、
ラインプリンタの記述に使われる
termcap(5)
を簡略化したものです。
スプールシステムは利用のたび毎に
ファイルにアクセスするため、
プリンタを動的に追加したり削除することが可能です。
データベース中の各々のエントリが、1 台のプリンタを記述するのに使われます。
termcap(5)
とは異なり、このデータベースは代替できません。
これは、アカウント情報がバイパスされてしまうことがあるからです。
デフォルトのプリンタは通常
lp
ですが、環境変数
PRINTER
によって上書きすることもできます。
各スプーリングユーティリティはオプション
-P printer
をサポートし、出力先のプリンタ名を明示することが可能です。
あるプリンタに対するデータベースをセットアップする方法の詳細については、
"4.3 BSD Line Printer Spooler Manual"
を参照してください。
索引
ケーパビリティ
ファイルレイアウトの解説については
termcap(5)
を参照してください。
Name Type Default Description
- "af str" Ta NULL Ta アカウンティングファイル名
-
- "brnumnonelp が tty の場合、ボーレートを設定
-
(ioctl2
call)
- "cf str" Ta NULL Ta cifplot データ用フィルタ
-
- "ct num 120 TCP コネクションのタイムアウト時間(秒)"
-
- "dfstr" Ta NULL Ta tex データ用フィルタ
-
( DVI
フォーマット)
- "ff str" Ta So \f Sc Ta フォームフィード送信文字
-
- "fo bool false デバイスオープン時にフォームフィードを印字"
-
- "gfstr" Ta NULL Ta グラフデータフィルタ
-
(plot3
フォーマット
- "hl bool false バーストヘッダページを最後に印刷"
-
- "ic bool false 字下げ出力の用の(非標準の) ioctl をサポートした
-
ドライバ"
- "if str" Ta NULL Ta アカウンティングを行うためのテキストフィルタ名
-
- "lf str" Ta /dev/console Ta エラーロギングファイル名
-
- "lostr" Ta lock Ta ロックファイル名
-
- "lpstr" Ta /dev/lp Ta 出力時にオープンするデバイス名、またはオープンする TCP ソケット port @ machine
-
- "mcnum" Ta 0 Ta lpr(1)
-
で要求できる最大部数を指定します。0 = 制限なし。
- "ms str" Ta NULL Ta lp が tty の場合、コンマで区切ったリスト。
-
tty モード記述用の
stty(1)
リストに似ている。
- "mx num 0 最大ファイルサイズ ("
-
BUFSIZ
ブロック単位)。0 = 制限なし。
- "nd str" Ta NULL Ta キューのリスト用の次のディレクトリ (未実装)
-
- "nf str" Ta NULL Ta ditroff データ用フィルタ (device independent troff)
-
- "ofstr" Ta NULL Ta 出力用フィルタリングプログラム名
-
- "pcnum2001 フィートまたは 1 ページあたりの
-
費用 (1/100 セント単位)"
- "pl num 66 1 ページの行数"
-
- "pw num 132 1 行の文字数"
-
- "px num 0ピクセル単位のページ幅 (水平方向)"
-
- "pynum0ピクセル単位のページ長 (垂直方向)"
-
- "rcboolfalseリモートホストへ送信時、各部を再送します (下記参照)"
-
- "rfstr" Ta NULL Ta
-
FORTRAN
形式のテキストファイル出力用フィルタ
- "rg str" Ta NULL Ta グループ制限。許可されたグループのメンバのみアクセスが許可される
-
- "rmstr" Ta NULL Ta リモートプリンタが接続されているホスト名
-
- "rpstr" Ta lp Ta リモートプリンタ名引数
-
- "rsboolfalseローカルにアカウントを持つリモートユーザに対する制限"
-
- "rwboolfalseプリンタデバイスを読み書き用にオープンする"
-
- "sbboolfalse短いバナー (1 行のみ)"
-
- "scboolfalse複数コピーの抑制"
-
- "sdstr" Ta /var/spool/lpd Ta スプール ディレクトリ
-
- "sfboolfalseフォームフィードの抑制"
-
- "shboolfalseバーストページヘッダの出力抑制"
-
- "srstr" Ta NULL Ta 受信される各データファイルの統計情報を保持するファイル名
-
- "ssstr" Ta NULL Ta 送信される各データファイルの統計情報を保持するファイル名
-
- "ststr" Ta status Ta 状態ファイル名
-
- "tfstr" Ta NULL Ta troff データ用フィルタ (cat phototypesetter)
-
- "trstr" Ta NULL Ta キューが空の時に印刷するトレイラ文字列
-
- "vfstr" Ta NULL Ta ラスタイメージ用フィルタ
-
2 文字のケーパビリティは、別の読み易い名前があります。
短い形式 長い形式
- "af acct.file"
-
- "br tty.rate"
-
- "cf filt.cifplot"
-
- "ct remote.timeout"
-
- "dffilt.dvi"
-
- "dudaemon.user"
-
- "ffjob.formfeed"
-
- "fojob.topofform"
-
- "gffilt.plot"
-
- "hlbanner.last"
-
- "iffilt.input"
-
- "lfspool.log"
-
- "lospool.lock"
-
- "lptty.device"
-
- "mcmax.copies"
-
- "mstty.mode"
-
- "mxmax.blocks"
-
- "nffilt.ditroff"
-
- "offilt.output"
-
- "pcacct.price"
-
- "plpage.length"
-
- "pwpage.width"
-
- "pxpage.pwidth"
-
- "pypage.plength"
-
- "rcremote.resend_copies"
-
- "rffilt.fortran"
-
- "rgdaemon.restrictgrp"
-
- "rmremote.host"
-
- "rpremote.queue"
-
- "rsdaemon.restricted"
-
- "rwtty.rw"
-
- "sbbanner.short"
-
- "scjob.no_copies"
-
- "sdspool.dir"
-
- "sfjob.no_formfeed"
-
- "shbanner.disable"
-
- "srstat.recv"
-
- "ssstat.send"
-
- "stspool.status"
-
- "tffilt.troff"
-
- "trjob.trailer"
-
- "vffilt.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
]
-w width
-l length
-i indent
-n login
-h host acct-file
-c
フラグは
-l
フラグ (コントロール文字をそのまま通過させます) が
lpr(1)
に指定された場合のみ渡されます。
width
機能と
length
機能はページ幅とページ長を
(それぞれ
pw
と
pl
によって) 文字単位で指定します。
-n
と
-h
パラメータでそれぞれのジョブの所有者のログイン名とログイン先ホスト名を
指定します。
acct-file
機能は
の
af
エントリがそのまま使われます。
if
が指定されなかった場合、
of
が代わりに使われます。
of
は
if
が個々のジョブ毎にオープンされるのに対して、たった 1 回だけ
オープンされると言う特徴を持っています。
そのため、アカウンティングを行うには
if
の方が向いています。
of
には、
width
と
length
フラグのみが与えられます。
その他の全てのフィルタは次のように呼び出されます。
filter
-x width
-y length
-n login
-h host acct-file
width
と
length
はピクセル単位で表され、それぞれ
px
と
py
エントリで指定されます。
全てのフィルタはファイルを
stdin
から読み込み
stdout
からの出力をプリンタに送られ、
stderr
または
syslog(3)
がログ出力に使われます。
フィルタは
SIGINT
を無視してはいけません。
索引
リモートプリンティング
rm
を使用してリモートプリンタに印刷する時、
if
または
of
を使用できます。両方を指定した場合、
of
は無視されます。
どちらのフィルタも同様に振舞いますが、上述の通り異なった引数を渡されます。
特に、出力フィルタはファイルが転送されるたびに、停止・再起動されます。
このように動作することが必要な理由は、フィルタを通した結果の大きさをリモート
lpd(8)
に渡すためです。
-p
フラグが
lpr(1)
に渡されると、
pr(1)
はローカルでは実行されませんが、リモートの
lpd(8)
に対して要求されます。それゆえ、
if
を介したフィルタリングは、
pr(1)
が実行される後ではなく前に実行されることになります。
ネットワークプリンタのモデルによっては、
lpd(8)
からのジョブを受け付けるものの、ジョブ制御ファイルを無視し、
各データファイルがプリンタに届くと印刷するだけのものがあります。
このような動作の副作用のひとつに、
lpr(1)
コマンドで指定される
-#
フラグで指定される複数部数の要求をプリンタが無視してしまうことがあります。
rc
エントリは、ユーザが元々要求した各部に対して、
lpd(8)
がデータファイルを再送するようにします。
rc
エントリを指定して良いのは、プリンタに直接ジョブを送るホストだけです。
lp
が
port @ machine
で指定された場合 (そして
rm
が使用されない場合)、印刷データは指定された
machine
の指定された
port
に直接転送されます。
索引
転送の統計情報
印刷ジョブがリモートマシン
(他の UNIX ボックスかもしれませんしネットワークプリンタかもしれません)
に転送されるとき、各転送の統計情報を保持することが有効かもしれません。
sr
および
ss
のオプションは、lpd がこのような統計情報を保持するためのファイル名を示します。
ジョブの統計情報の行が各データファイルに書き込まれるのは、
ファイルの転送に成功したときです。
行の書式は、転送における送信側と受信側とで、同一です。
ジョブを送ってくる種々のマシンとプリントサーバ間のネットワーク性能に
興味がある場合、
受信データファイルの統計情報をプリントサーバで使えるかもしれません。
プリントサーバは、印刷ジョブがサーバに届くたびに、
各印刷ジョブの速度の統計情報を集めることができます。
誰がどのジョブをリモートプリンタに送ったのか、
何時送られたのか、そしてファイルの (バイト数での) 大きさはどのくらいだったか
について知りたい場合、送信データファイルの統計情報を
最小のアカウンティング記録として使えるかもしれません。
しかし、何ページ印刷したのかといった情報は一切含みません。
なぜなら、
そのような情報をリモート (ネットワーク) プリンタから得るための標準的な方法が
存在しないためです。
索引
ロギング
ラインプリンタプログラム自身 (つまり
lpd(8)
とそれに関連するプログラム) が生成したエラーメッセージは、
syslog(3)
の
LPR
ファシリティを使ってロギングされます。
フィルタの 1 つから
stderr
に出力されたメッセージは、対応する
lf
で指定されたファイルに送られます。
当然、フィルタ自身もまた
syslogd(8)
を使うことがあるかも知れません。
コンソールに送られるエラーメッセージには、ラインフィードだけではなく
キャリッジリターンとラインフィードが追加されます。
索引
関連項目
lpq(1),
lpr(1),
lprm(1),
hosts.lpd5,
termcap(5),
chkprintcap(8),
lpc(8),
lpd(8),
pac(8)
-
"4.3 BSD Line Printer Spooler Manual"
索引
歴史
ファイルフォーマットは
BSD 4.2
から登場しました。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- ケーパビリティ
-
- フィルタ
-
- リモートプリンティング
-
- 転送の統計情報
-
- ロギング
-
- 関連項目
-
- 歴史
-
Time: 07:07:29 GMT, January 12, 2009