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) を使用します。
−lコントロール文字の出力を許し、 ページの区切りを抑制するフィルタを使用します。
−tファイルは、 troff(1) (cat 写植機コマンド) からのデータを含むものと想定します。
−nファイルは、 ditroff(1) (デバイスから独立した 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) に説明されています。)
−i出力をインデントさせます。 直後に数字が続く場合には、 各行の前に出力するブランクの数として使用されます。 そうでない場合は 8 文字出力されます。
−w直後に続く数字によって pr 用のページ幅を指定します。
−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 11643-1986) にする | ESC $ ( 0 |
| ESC $ ( 1 | |
| (†) | ESC $ ( ? |
| ASCII (ANS X3.4-1968) にする | ESC ( B |
(†) 外字領域のうちの 1 つを使用しています。
ヨーロッパ環境の時
| ラテン 1 補助文字 (ISO 8859-1 の右側) にする | ESC − A SO |
| ASCII (ANS X3.4-1968) にする | ESC ( B SI |
シフト JIS の時
| 日本語漢字 (JIS X 0208-1983) にする | ESC $ B |
| JIS ローマ字 (JIS X 0201-1976) にする | ESC ( J |
| 半角片仮名 (JIS X 0201-1976) にする | ESC ( I |
printcap への設定と互換性
多国語環境の下で NEWS-OS Release 4.X のマシンに接続された プリンタが NWP-533/537/543/550/5501/5551 の場合、 ファイル /etc/printcap に ct=news を指定します。 これは NWP-533/537/543/550/5501/5551 の標準の if フィルタは ISO 2022 準 拠の 7 ビットコードを受け取ることができるからです。
if、rf または of フィルタ や プリンタが ある特定の コード を受け取る場合は、そのコードタイプを ct に指 定して下さい。
プリンタ サーバが NEWS-OS Release 3.X で、 クライアントが NEWS-OS Release 4.X の場合:
クライアント マシンの /etc/printcap に ct=ja_JP.SJIS を指定します。
プリンタ サーバが NEWS-OS Release 4.X で、 クライアントが NEWS-OS Release 3.X の場合:
フィルタが シフト JIS コード を受けるように指定します。 プリンタが NWP-533/537/543/550/5501/5551 なら 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), newslbp(1), symlink(2), setlocale(3), printcap(5), lpc(8), lpd(8), lbp_filters(8), lpf_smlbp(8)
診断
ユーザが余りに大きなファイルをスプールしようとすると、 ファイルは断ち切られてしまいます。 lpr はバイナリファイルの出力には適しません。 ルート以外のユーザがファイルを出力する際にスプールが 抑制されていると、 lpr はそれを告げるメッセージを出力し、 ジョブはキューに入れられません。 もし、 ローカルマシンの lpd への接続が確立できない場合には、 lpr はデーモンをスタートできないことを通知します。 lpd によるスプールファイルの失敗に関する診断は、 デーモンのログファイルへ出力されます。
バグ
−s オプションを使用すると自動変換は行われません。 troff と tex 用のフォントは、 プリンタが接続されているホストに常駐していなければなりません。 ローカルフォントライブラリは現在のところ使用できません。
NEWS-OSRelease 4.2.1R