LPR(1)

名称
lpr - 印刷ジョブを生成し、キューに登録する

書式
lpr [-Pprinter] [-#num] [-C class] [-J job] [-L locale] [-T title] [-U user] [-Z daemon-options] [-i numcols] [-1234 font] [-w num] [-cdfghlnmprstv] [name ...]

解説
lpr は、プリンタが利用可能になったときにファイルをプリント アウトするためにスプーリングデーモンを利用します。 もしファイル名が指定されないようなら、標準入力から読みます。

以下の単一文字のオプションは、ファイルが通常のテキストファイルでないこ とをラインプリンタのスプールデーモンに教えるためのものです。 スプールデーモンはそのデータを適切に出力するために、 データにふさわしいフィルタを使うようになります。 すべてのスプーラがすべてのデータタイプ用のフィルタを実装しているわけではなく、 サイトによってはここに記述した以外の用途でタイプを使用している場合もある ことに注意してください。

-d  ファイルが TeX タイプセッティングシステムから生成された DVI フォーマットデータであるとみなします。

-f  各行の最初の文字を、標準的な FORTRAN のキャリッジコントロール キャラクタとして処理するフィルタを使うようになります。

-l  コントロールキャラクタを通し、ページの区切りを抑制するフィルタを利用します。

-p  ファイルの整形に pr(1) を利用します。

以下のオプションは歴史的なものであり、 FreeBSD に含まれるソフトウェアが直接サポートするものではありません。

-c  ファイルが cifplot(1) で作成されたデータを含んでいるものとみなします。

-g  ファイルが plot ルーチンで作成された 標準的な plot データであるとみなします。

-n  ファイルが ditroff (デバイスに依存しない troff) からのデータであるとみなします。

-t  ファイルが、太古の UNIX troff(1) から生成された C/A/T 写植印字コマンドを含むものあるとみなします。

-v  ファイルが Benson Varian のようなデバイスのためのラスタイメージを 含むものとみなします。

以下のオプションは、プリントジョブを操作するときに適用します:

-P  指定したプリンタに出力します。これを指定しない通常の場合は、 デフォルトプリンタが使われる (これはサイトごとに依存します) か、 環境変数 PRINTER の値が使われます。

-h  バーストページを出力しないようにします。

-m  終了時にメールを送ってきます。

-r  スプーリングの終了時にファイルを削除します。 -s オプション使用時には出力の終了時に削除します。

-s  シンボリックリンクを利用します。通常、ファイルはスプールディレクトリに コピーされますが、大きなファイルをコピーするよりは -s オプションで symlink(2) を使ってデータファイルにリンクを張ったほうがよいでしょう。 つまり、これはファイルのプリントアウトが完了するまでは ファイルに変更を加えたり、削除したりするべきではないということを意味します。

残りのオプションはコピーを行ったり、ページの表示やヘッダの表示を行います:

-#num
    num は、各ファイルのコピーの枚数です。例えば、

        lpr -#3 foo.c bar.c more.c

    は、foo.c のコピーを 3 回行った後、bar.c のコピーを 3 回行います。一方、

        cat foo.c bar.c more.c | lpr -#3

    は、連結されたファイルのコピーを 3 回行います。 この機能を禁止してコピー機の使用を推奨しているサイトがあるかもしれません。

    -[1234] font フォントポジション i のフォントを指定します。デーモンはフォントのパス名を参照する .railmag ファイルを作成します。

-C class
    バーストページで使うジョブ見出しです。例えば、

        lpr -C EECS foo.c

    は、バーストページのシステム名 ( hostname(1) で返される) を EECS に置き換えて、foo.c をプリントします。

-J job
    バーストページに書くジョブ名です。通常は、 一番最初のファイルの名前が使われます。

-L locale
    環境変数の代りに、引数で指定される locale を使用します。( -p オプションを使用して pr(1) によるフィルタリングを要求した場合のみ有効です。)

-T title
    pr(1) のタイトル名に、ファイル名のかわりにこのタイトルを使います。

-U user
    バーストページで使うユーザ名であり、課金目的でも利用されます。 このオプションは実ユーザ id が daemon (あるいは daemon の代わりに printcap 中で指定されているユーザ) のみ使用できます。

-Z daemon-options
    LPRng 等、スプーラによっては、更なるジョブ毎のオプションを、 ‘Z’ 制御行を受け付けます。 -Z が指定され、 -p (pr(1)) が指定されなかったとき、指定された daemon-options がリモートの LPRng スプーラへ渡されます。

-i numcols
    出力が (numcols) でインデントされます。

-w num
    pr(1) のページ幅を num にします。

環境変数
以下の環境変数が存在すると、 lpr が使用します:

PRINTER
    かわりのデフォルトプリンタを指定する

関連ファイル
/etc/passwd
    個人の識別を行うためのファイル
/etc/printcap
    プリンタの特徴を記述したデータベース
/usr/sbin/lpd
    ラインプリンタデーモン
/var/spool/output/*
    スプーリングのために利用するディレクトリ
/var/spool/output/*/cf*
    デーモンの制御のためのファイル
/var/spool/output/*/df*
    ``cf'' ファイルが指定するデータファイル
/var/spool/output/*/tf*
    ``cf'' ファイルの一時的なコピー

関連項目
lpq(1), lprm(1), pr(1), symlink(2), printcap(5), lpc(8), lpd(8)

歴史
lpr コマンドは 3BSD から登場しました。

診断
もしとても大きいファイルをスプールしようとするなら、途中で切れてしまう でしょう。 lpr はバイナリファイルの印刷を嫌がります。 もし root 以外のあるユーザがファイルを印刷しようとしてスプールに 失敗したら、 lpr はその旨のメッセージを印刷してそのファイルは印刷されません。 もしローカルマシンの lpd(8) との接続ができなければ、 lpr はデーモンを起動できなかったと言うでしょう。その結果は lpd(8) によってファイルのスプールに失敗したとデーモンのログファイルに 残されるでしょう。

バグ
troff(1) と TeX のフォントは，プリンタがつながっているホストにないといけません。 これは，現在はローカルのフォントライブラリを使うことができないことを 意味します。

‘Z’ 制御ファイル行は 2 種類の異なった目的に使用されます。 標準の FreeBSD lpd(8) では、 pr(1) に渡されるロケールを指定します。 LPRng lpd(8) では、スプーラの入出力フィルタが解釈する追加オプションを指定します。 ジョブを lpr で提出するとき、 -p -L locale は前者の意味で使用され、 -Z daemon-options は後者の意味で使用されます。