LPR(1)

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

書式
lpr [-Pprinter] [-#num] [-C class] [-J job] [-T title] [-U user] [-i numcols] [-1234 font] [-wnum] [-cdfghlnmprstv] [name ...]

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

以下の単一文字のオプションは、ファイルが通常のテキストファイルでないこ とをラインプリンタのスプールデーモンに教えるためのものです。スプールデー モンはそのデータを適切に出力するために、データにふさわしいフィルタを使 うようになります。

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

-d  ファイルが TeX の DVI フォーマットであるとみなします。

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

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

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

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

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

-t  ファイルが(写植印字コマンドである) troff(1) からのデータであるとみなします。

-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
    バーストページに書くジョブ名です。通常は、 一番最初のファイルの名前が使われます。

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

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

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

-wnum
    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 はバイナリファイルを印刷することを目的としています． もしルート以外のあるユーザーがファイルを印刷しようとしてスプールに 失敗したら、 lpr はその旨のメッセージを印刷してそのファイルは印刷されません。 もしローカルマシンの lpd(8) との接続ができなければ、 lpr はデーモンを起動できなかったと言うでしょう。その結果は lpd(8) によってファイルのスプールに失敗したとデーモンのログファイルに 残されるでしょう。

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