39.4. コマンドによる印刷

ここでは、ファイルを印刷する基本的なコマンドについて解説します。CUPS は、UNIX系 OS の印刷システムとして、以前から一般的に利用されてきた LPD(Line Priter Daemon)との互換性も考慮されていいますので、lpr、lpq、lprm、lpc などのコマンドも今までどおり使用できます。

ファイルを印刷するには、lpr コマンドを使用します。書式は以下の通りです。

lpr [option] filename ...

例えば、sample.txt というファイルを印刷するには、以下のようにコマンドを実行します。

$ lpr sample.txt

lpr コマンドを実行すると、データはプリンタキューに格納され、バックグラウンドで順番に印刷されます。

以下に lpr コマンドの代表的なオプションを示します。

表 39-1. lpr コマンドのオプション

-Pprinter複数のプリンタ設定が存在する場合に、printer にプリンタ名を指定して出力します。
-p文書を整形(pr コマンド)して印刷します。
-#numnum に部数を指定して印刷します。

注意

日本語を含むテキストファイル (euc-jp/jis/sjis) を印刷する場合は、a2ps コマンドに --encoding=euc-jp オプ ションを指定して以下のように実行します。a2ps コマンドの詳細については man a2ps を参照してください。

$ a2ps --encoding=euc-jp test.txt | lpr

なお、システムに複数のプリンタが設定されている場合は、lpstat コマンドで利用可能なプリンタのリストを表示できます。-p は、プリンタのリストを表示し、-d は、デフォルトプリンタを表示します。

$ lpstat -p -d
printer printer1 is idle.  enabled since Jan 01 00:00
printer printer2 is idle.  enabled since Jan 01 00:00
system default destination: printer1

なお、複数のプリンタを追加した場合、標準で使用するプリンタを選択するには、以下のコマンド実行します。

# lpadmin -d printer2

現在、プリンタキューに貯まっている印刷ジョブの状況を確認するには lpq コマンドを使用します。lprm コマンドで印刷ジョブを削除したい場合なども lpq コマンドで印刷ジョブの ID を確認します。

$ lpq
printer1 is ready and printing
Rank    Owner   Job     File(s)                         Total Size
active  taro    2       test.txt                        23552 bytes
1st     taro    3       sample.txt                      3072 bytes

キューに貯まった印刷ジョブを削除するには lprm コマンドを使用します。例えば、印刷ジョブ ID が 2 の印刷ジョブを削除するには、以下のようにコマンドを実行します。

$ lprm 2