スポンサーリンク

LPD(8) FreeBSD システム管理者マニュアル LPD(8)

名称

lpd − ラインプリンタ・スプーラ・デーモン

書式

lpd [−cdlpsW46] [port#]

解説

lpd ユーティリティは、ラインプリンタのためのデーモン (スプール領域を管理 するプログラム) で、通常はブート時に rc(8) ファイルから起動されます。この デーモンは、接続されているプリンタの情報を printcap(5) ファイルを一通り読 み込むことによって取得し、クラッシュ後に残っていたファイルがあれば印刷し ます。その後、システムコールの listen(2)accept(2) を用いてキュー内の ファイルの印刷・スプール領域へのファイル転送・キューの表示・キューからの ジョブの削除などの要求を受け付けます。何か要求があると lpd は子プロセスを fork してその要求を処理するので、親プロセスは続けて次の要求待ちをできるよ うになっています。

使用できるオプション:

       −c

デフォルトでは、リモートホストがローカルホスト上の lpd へ印刷を試 みた際にエラーが発生すると、 lpd はリモートホストに対してエラー メッセージのみを送信します。 −c フラグを使用すると、 lpd はこれら の接続エラーを syslog(3) で記録します。

−d
インターネットで listen するソケットにて SO_DEBUG をオンにします (setsockopt(2) 参照)。

−l
−l
オプションをつけると、 lpd はネットワークから受けとった正当な 要求について記録をとるようになります。これはデバッグを行う際に有 用です。

−p
−p
フラグは −s フラグの別名です。このフラグは価値が低下しており、 将来のバージョンの lpd では削除されるかもしれません。

−s
−s
(セキュア) フラグは、 lpd に、インターネットで listen するソ ケットをオープンしないようにさせます。これは、リモートホストから の接続を lpd が拒否するもののローカルユーザからの印刷要求は許可す ることを意味します。

−W
デフォルトでは、 lpd デーモンはリモートホストの予約ポート (1024 未満) からの接続のみを受け付けます。 −W フラグを指定すると、 lpd はすべてのポートからの接続を受け付けます。 Windows 用の特定の lpr 実装からの印刷ジョブを受け付けたい場合に有用です。

−4
inet のみ。

−6
inet6 のみ。

−46
inet と inet6 (デフォルト)。

port#
他のプロセスと接続するのに用いるインターネットポート番号は通常 getservbyname(3) を使って取得しますが、引数 port# を使って変更す ることも可能です。

プリンタへのアクセス制限は二つの手段を用いて行われます。第一に、全ての要 求は /etc/hosts.equiv ファイルもしくは /etc/hosts.lpd ファイルに列挙され ているマシンからのものでなければなりません。第二に、アクセスされるプリン タに関する printcap(5) エントリに rs 特性の指定があると、 lpr からの要求 はそのプリンタが接続されているマシンにアカウントを持つユーザのものしか受 け付けられなくなります。

各スプールディレクトリ内に minfree というファイルを作成し、空きとして残し ておくディスクのブロック数を書いておけば、ラインプリンタキューがディスク を使い尽くしてしまわないようにできます。 minfree ファイルは任意のテキスト エディタを使って編集できます。

このデーモンは、プリンタへのアクセスを排他的に行うためのロック (後述) を 行ったうえでファイルの処理を開始し、スプールディレクトリの中に cf で始ま る名前のファイルがあるかどうかを調べます。 cf ファイルの内容は印刷すべき ファイルの名前もしくは印刷以外で行うべき何らかの動作を示しています。ファ イル中の各行はキー文字から始まっており、その行の残りの部分と合わせてどの ような動作を行うべきかを表しています。

J
ジョブ名 (job name)。バーストページに印刷されるジョブ名として用い られる文字列。

C
分類 (classification)。バーストページに印刷される分類行に用いられ る文字列。

L
リテラル (literal)。この行はパスワードファイルから取り出した ID 情報を保持しており、この行があると見出しページが印刷されます。

T
表題 (title)。 pr(1) で表題として使用される文字列。

H
ホスト名 (host name)。 lpr(1) が実行されたマシンの名前。

P
人物 (person)。 lpr(1) を実行した人物のログイン名。これは lprm(1) がジョブの所有権を調べる際に使用されます。

M
現在の印刷ジョブが完了した時、指定のユーザにメールを送ります。

f
整形済みファイル (formatted file)。すでに整形済みである印刷ファイ ルの名前。

l
‘‘f’’ とほぼ同じですが、制御文字を通すことと改ページを行わない点 が異なります。

p
フィルタとして pr(1) を使用して印刷すべきであるファイルの名前。

t
troff ファイル。ファイルの内容が troff(1) の出力結果であることを 示します。

n
ditroff ファイル。ファイルの内容がデバイス独立 troff の出力結果で あることを示します。

r
DVI ファイル。ファイルの内容が Tex l の出力する DVI 形式であるこ とを示します。 Stanford の DVI 形式です。

g
graph ファイル。ファイルの内容が plot(3) の生成したデータであるこ とを示します。

c
cifplot ファイル。ファイルの内容が cifplot の生成したデータである ことを示します。

v
ファイルの内容がラスタイメージであることを示します。

r
ファイルの内容が FORTRAN のキャリッジ制御文字を伴ったテキストデー タであることを示します。

1
troff R フォント。デフォルトのものに代えて使用するフォントファイ ルの名前。

2
troff I フォント。デフォルトのものに代えて使用するフォントファイ ルの名前。

3
troff B フォント。デフォルトのものに代えて使用するフォントファイ ルの名前。

4
troff S フォント。デフォルトのものに代えて使用するフォントファイ ルの名前。

W
幅 (width)。 pr(1) および他のテキストフィルタが使用するページ幅 ( 文字数) を変更します。

I
字下げ (indent)。字下げの文字数が ASCII で書かれています。

U
リンク解除 (unlink)。印刷完了時に消去するファイルの名前。

N
ファイル名 (file name)。印刷中のファイルの名前。ファイルが標準入 力の場合 (lpr(1) がパイプラインの中で実行された場合) は空白になっ ています。

Z
ロケールです。 pr(1) が使用するロケール文字列です。

何らかのファイルがオープンできない場合、 syslog(3) を通じて LOG_LPR 機能 分類でメッセージが記録されます。 lpd ユーティリティは、最大 20 回まで目的 のファイルのオープンを試みますが、それでも失敗するとそのファイルに関わる 印刷処理は飛ばします。

lpd ユーティリティは、ロックファイルを排他的にアクセスする目的あるいは複 数のデーモンが同時にアクティブになるのを回避する目的で flock(2) を使用し ます。デーモンが kill されたり異常終了した場合でもロックファイルを削除す る必要はありません。ロックファイルは普通に読むことができる ASCII 形式で書 かれており、2 行からなります。 1 行目はデーモンのプロセスIDで、2 行目は現 在実行中であるジョブの制御ファイル名です。 2 行目は lpq(1) および lprm(1) が使用できるよう、常に lpd の現在の状態を示すように更新されています。

関連ファイル

       /etc/printcap

プリンタ記述ファイル
/var/spool/*
スプールディレクトリ群
/var/spool/*/minfree
最低限残しておく空き領域の設定
/dev/lp*
ラインプリンタデバイス
/var/run/printer
ローカルな要求のためのソケット
/etc/hosts.equiv
プリンタへのアクセスを許可されているマシンの一覧
/etc/hosts.lpd
プリンタへのアクセスは許可されているが、同一の管理 権限下には置かれていないマシンの一覧

関連項目

lpq(1), lpr(1), lprm(1), setsockopt(2), syslog(3), hosts.lpd(5), printcap(5), chkprintcap(8), lpc(8), pac(8)

       4.2 BSD Line Printer Spooler Manual.

歴史

lpd プログラムは Version 6 AT&T UNIX から登場しました。

FreeBSD 10.0 June 6, 2001 FreeBSD 10.0

スポンサーリンク