LPR(1) — NEWS-OS Programmer’s Manual
名称
lpr − オフラインプリント
形式
lpr [ −Pprinter ] [ −#num ] [ −bopt ] [ −C class ] [ −J job ] [ −T title ] [ −i [ numcols ]] [ −1234 font ] [ −wnum ] [ −pltndgvcfxermhsjUX ] [ −S [ ascii ]] [ name ... ]
解説
lpr はスプーリングデーモンを使用し、 プリンタが利用可能になった時に指定のファイルを印字します。 ファイル名が指定されない場合には、標準入力が想定されます。 −P オプションは指定のプリンタへ出力する場合に使用します。 通常、 デフォルトのプリンタ(システムに依存)を使用するか、 または環境変数 PRINTER の値を使用します。
lpr は 環境変数 LC_CTYPE または LANG で指定されたシステム内部の文字コードと プリンタ データベース /etc/printcap の項目 ct (コードタイプ) で指定される プリンタの文字コードを 参照して、 テキストファイルの文字コードを自動的に変換します。 詳しくは 多国語対応 を参照して下さい。
以下に示すオプションは、 ファイルが標準テキストファイルではないことを ラインプリンタスプーラへ知らせるために使用します。 それに応じてデータを出力するために、 スプールデーモンは適切なフィルタを使用します。
−pファイルの整形に pr(1) を使用します (print と同等)。
−lコントロール文字の出力を許し、 ページの区切りを抑制するフィルタを使用します。
−tファイルは、 troff(1) (cat 写植機コマンド) からのデータを含むものと想定します。
−nファイルは、 ditroff (デバイスから独立した troff) からの データを含むものと想定します。
−dファイルは、 tex(1) からのデータを含むものと想定します (スタンフォードの DVI フォーマット)。
−gファイルは、 plot(3X) ルーチンによって生成された標準プロットデータを 含むものと想定します (プリンタスプーラで使用する フィルタに関しては plot(1G) を参照)。
−vファイルは、 Benson Varian などのデバイス用のラスタイメージを 含むものと想定します。
−cファイルは、 CDIF (Common Document Intermediate Format) によって生成されたデータを含むものと想定します。
−f各行の最初の文字を紙送り制御文字として使用する場合に (たとえば標準 FORTRAN の改行制御文字)、 それを解釈するフィルタを使用します。
−xファイルは、 xwd(n) による イメージデータと想定します。
−eファイルは、LBP-8 エミュレータ用に作成された データと想定します。
−S[ascii]
独自に作ったフィルタを指定できます。たとえば、−Sf とすると、 /etc/printcap のエントリ "Sf" で示される フィルタを指定できます。
その他のオプションは、 次のような意味を持ちます。
−rスプール完了後にファイルを削除します。 −s オプション併用時は、出力完了後にファイルを削除します。
−m処理の終了時にメールを送信します。
−hバーストページの出力を抑止します。
−sシンボリックリンクを使用します。 通常、 ファイルはスプールディレクトリにコピーされます。
−j要求が正常に受け付けられた場合に、ジョブ識別番号を標準出力に 出力します。ジョブ識別番号は、 lpq、 lprmコマンドで 使用することができます。
−Uこのオプションは、 lpr の自動文字コード変換機能を無効にします。
−Xこのオプションは、テキストファイル以外のファイルに対しても lpr の自動文字コード変換機能を有効にします。
−Cバーストページで使用するジョブの分類(クラス)付けとして、 続いて引数を指定します。 たとえば、
lpr −C EECS foo.c
この例では、 バーストページのシステム名 (hostname(1) で返される名前)が、 EECS に置換され、 ファイル foo.c が出力されます。
−Jバーストページで出力するジョブとして、 続いて引数を指定します。 通常では最初のファイル名が使用されます。
−Tファイル名の代わりに、 pr(1) によって使用するタイトルとして、 続いて引数を指定します。
−# 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回コピーすることを意味しています。
−bopt
プリンタフィルタに渡すオプションを指定します。 複数個の −bopt を指定することが可能です。 プリンタフィルタには、 lpd が生成するオプションのほかに このオプションがそのまま ( −bopt のまま )渡されます。 このオプションがどのように解釈されるかはプリンタフィルタによって異なります。
文字 : で始まる opt はレーザビームプリンタの機能を指定するなど の目的で、NEWS−OS であらかじめ使用法が定義されています。 ( オンラインマニュアル a3sjlbp(1) に説明されています。)
opt に空白文字 ’ ’、改行文字 ’\n’ を含めることはできません。
−i出力をインデントさせます。 続く引数が数字の場合には、 各行の前に出力するブランクの数として使用されます。 そうでない場合は 8文字出力されます。
−w直後に続く数字によって pr 用のページ幅を指定します。
−sファイルをコピーするのではなく、 データファイルをリンクする symlink(2) を使用します。 これは非常に長いファイルを出力可能にするためです。 これはまた、 出力されるまで、 ファイルを変更または削除してはならないことを意味します。
−1234
フォント位置 i にマウントすべきフォントを指定します。
デーモンは /usr/lib/vfont/name.size を参照して .railmag ファイルを作成します。
多国語対応
印刷対象が テキスト ファイル の場合、lpr は ユーザの使用言語環境とプリ ンタのコードタイプにより「コード変換表」で示されるようにコード変換を 行います。 ユーザの使用言語環境は環境変数 LC_CTYPE または LANG で指定されます。 プリンタのコードタイプは プリンタ データベース /etc/printcap の エントリ ct で指定します。 ct で指定できるのは "C"、 "ja_JP.SJIS"、 "ja_JP.EUC"、 "ko_KR.EUC"、 "zh_TW.TCA"、 "en_US.88591" および "news" のいずれかです。 ct が "C" か "news" の場合 ISO 2022 準拠の 7 ビッ トコードに変換されます。 ユーザの使用言語環境とプリンタのコードタイプが異なる場合にも、 ISO 2022 準拠の 7 ビットコードに変換されます。 ただし日本語の場合には、 日本語 EUC と シフト JIS コード の間で変換が行われます。 エントリ ct が無い場合には変換は行われません。
コード変換表
| 使用言語環境 | プリンタの ct | 変 換 |
| _ | _ | _ |
| ja_JP.EUC | ja_JP.SJIS | シフト JIS コードへ |
| ja_JP.SJISまたはC | ja_JP.EUC | 日本語 EUC コードへ |
| XXX | news またはC | ISO 2022 準拠 7 ビットコードへ |
| XXX | 無指定 | 無 変 換 |
| XXX | 左と同じ | 無 変 換 |
| XXX | 左と異なる | ISO 2022 準拠 7 ビットコードへ |
XXX は、"C"、"ja_JP.SJIS"、"ja_JP.EUC"、"ko_KR.EUC"、"zh_TW.TCA"、 "en_US.88591" のいずれかです。
この自動変換はオプション −U により抑止できます。 また −X を指定すると テキスト ファイル だけでなく全てのファイルが変換の対象になります。
印刷対象が テキスト ファイルであるかどうかは フィルタ指定のオプション で判断します。
テキスト ファイル 判定表
プレーンテキストであるのは以下のフィルタの指定時。
| オプション | フィルタ エントリ | タイプ |
| _ | _ | _ |
| なし | if(of) | レギュラーテキスト |
| −p | pr|if(of) | レギュラーテキスト+ pr(1) |
| −f | rf | Fortran の出力フォーマット |
プレーンテキストでないのは以下のフィルタの指定時。
| オプション | フィルタ エントリ | タイプ |
| _ | _ | _ |
| −x | xf | xwd イメージ データ |
| −c | cf | cdif(5) ファイル |
| −d | df | TeX DVI ファイル |
| −g | gf | plot(3) 出力ファイル |
| −n | nf | ditroff(1) 中間ファイル |
| −t | tf | troff(1) 出力ファイル |
| −v | vf | ラスタイメージ データ |
| −S[a] | S[a] | (ユーザ 指定のフィルタ) |
| −e | ef | (LBP8 エミュレータの指定) |
変換コード
ISO 2022 準拠の 7 ビットコードへの自動変換時 に用いられるエスケープコードは以下の通りです。
日本語 EUC、韓国語 EUC、中国語 (台湾 TCA) の時
| 日本語漢字 (JIS X 0208-1983) にする | ESC $ B |
| 日本語半角片仮名 (JIS X 0201-1976) にする | ESC ( I |
| 韓国語 (KS C5601-1987) にする | ESC $ ( C |
| 中国語 (台湾 CNS-11646-86) にする | ESC $ ( 0 |
| ESC $ ( 1 | |
| (†) | ESC $ ( ? |
| ASCII (ANSI X3.4-1986) にする | ESC ( B |
(†) 外字領域のうちの1つを使用しています。
ヨーロッパ環境の時
| ラテン文字 (ISO 8859-1) にする | ESC − A LS1 |
| ASCII(ANSI X3.4-1986) にする | ESC ( B LS0 |
シフト JIS の時
| 日本語漢字 (JIS C 6226-1983) にする | ESC $ B |
| JIS ローマ字 (JIS X 0201-1976) にする | ESC ( J |
| 日本語半角片仮名 (JIS X 0201-1976) にする | ESC ( I |
printcap への設定と互換性
多国語環境の下で NEWS-OS Release 4.0 のマシンに接続されたプリンタが NWP-533/537/543の場合 ファイル /etc/printcap に ct=news を指定します。 これは NWP-533/537/543 の標準の if フィルタは ISO 2022 準 拠の 7 ビットコードを受け取ることができるからです。
if、rf または of フィルタ や プリンタが ある特定の コード を受け取る場合は、そのコードタイプを ct に指 定して下さい。
プリンタ サーバが NEWS-OS Release 3.X で クライアントが NEWS-OS Release 4.0の場合:
クライアント マシンの /etc/printcap に ct=ja_JP.SJIS を指定します。
プリンタ サーバが NEWS-OS Release 4.0 で クライアントが NEWS-OS Release 3.Xの場合:
フィルタが シフト JIS コード を受けるように指定します。 プリンタが NWP-533/537/543 なら if=/usr/sony/lib/lpf_sjlbp とします。
NEW-OS Release 3.X は プリンタコードとして シフト JIS を 仮定していました。
環境変数
LPRデフォルト オプション (コマンドラインの方が優先)
PRINTERデフォルト プリンタ
LC_CTYPE使用言語のコードセット
LANG使用言語のコードセット ( LC_CTYPE が優先)
関連ファイル
/etc/passwd個人情報
/etc/printcapプリンタ特性のデータベース
/usr/lib/lpd∗ラインプリンタデーモン
/usr/spool/∗スプールに使用されるディレクトリ
/usr/spool/∗/cf∗デーモンコントロールファイル
/usr/spool/∗/df∗cfファイルで指定されたデータファイル
/usr/spool/∗/tf∗cfファイルの一時コピー
関連事項
lpq(1), lprm(1), pr(1), a3sjlbp(1), symlink(2), setlocale(3), printcap(5), lpc(8), lpd(8), lbp_filters(8)
診断
ユーザが余りに大きなファイルをスプールしようとすると、 ファイルは断ち切られてしまいます。 lpr はバイナリファイルの出力には適しません。 ルート以外のユーザがファイルを出力する際にスプールが 抑制されていると、 lpr はそれを告げるメッセージを出力し、 ジョブはキューに入れられません。 もし、 ローカルマシンの lpd への接続が確立できない場合には、 lpr はデーモンをスタートできないことを通知します。 lpd によるスプールファイルの失敗に関する診断は、 デーモンのログファイルへ出力されます。
バグ
−s オプションを使用すると自動変換は行われません。 troff と tex 用のフォントは、 プリンタが接続されているホストに常駐していなければなりません。 ローカルフォントライブラリは現在のところ使用できません。
NEWS-OSRelease 4.1C