Linuxの印刷は、特に新しいユーザーにとっては、ちょっとした挑戦となることがあります。このチュートリアルでは、Linuxのlp
コマンドを紹介し、それを使って基本的な印刷操作を行う方法を説明します。このチュートリアルでは Linux の lp
コマンドを紹介し、その使い方と基本的な印刷操作について説明します。縦長と横長、1部と複数部の印刷方法などをカバーします。
lp コマンド: 基本的な紹介
Linux では、Common UNIX Printing System (CUPS) は、プリンタ、印刷ジョブ、キューを含む、プリンタと印刷オプションとサービスを管理するためのレイヤです。
CUPS層は、Linuxシステム上でプリンタをセットアップして使用するのに役立つ多くのオプションを持っています。lp` または “Line Printer” コマンドは CUPS レイヤーの中のコマンドの 1 つです。lp コマンドは印刷のためにファイルを送信します。一方、
lpq`コマンド(Line Printer Queue)はキューにある印刷ジョブを見ることができるようにします。
他の多くの Linux ターミナルコマンドと同様に、 lp
コマンドは様々なオプションをサポートしています。そのうちのいくつかを見てみましょう。
lp コマンドのインストール方法
場合によっては、lp
コマンドがシステムにインストールされていないことがあります。そのような場合は、lp をインストールしてから使用する必要があります。
lp コマンドがインストールされているかどうかを確認するには、
which`コマンドを次のように実行します。
which lp
lpがインストールされていれば、コマンドラインにファイルパスが表示されるはずです。出力例です。
/usr/bin/lp
lpコマンドがインストールされていない場合は、aptパッケージマネージャを使ってインストールすることができます。
sudo apt install lprng
lp` コマンドを使用するための一般的な構文は以下のとおりです。
lp -d [プリンタID] [ファイル名].
filename]はターゲットファイルへのパスに置き換えてください。
lp コマンドを使って利用可能なプリンターをリストアップする
lpstat コマンドを使用します。
-a オプションで接続されているプリンタや利用可能なプリンタを表示し、
-d` オプションでデフォルトプリンタを表示します。そのための構文は次のとおりです。
lpstat -a | awk '{print $1}'.
上記のコマンドは、利用可能なプリンタの名前を返すはずです。
特定のプリンタに印刷するために lp コマンドを使用する
ほとんどの場合、システムには1台のプリンタしか接続されていません。したがって、lp
コマンドに続いてファイル名を指定するだけで、デフォルトのプリンタに印刷することができます。
しかし、場合によっては、複数のプリンタが接続されていることがあります。そのような場合には、特定のプリンタに印刷するために -d
オプションを使用しなければなりません。
lp -d "Ink-Tank-310" /home/debian/mte/hello.txt
lp コマンドを使って印刷キューを表示する
コマンドラインから印刷キューを表示するには、lpq
コマンドを使用します。
注: もし、このコマンドがシステムで利用できない場合は、 cups-bsd
パッケージをインストールしてください。
sudo apt install cups-bsd
パッケージがインストールされたら、コマンドを実行します。
lpq -P [プリンタ名]を実行します。
コマンドは以下のように出力されるはずです。
lpq -P "インクタンク-310"
Ink-Tank-310は準備完了です。
入力なし
これは指定されたプリンタに印刷ジョブがないことを示しており、このまま文書を印刷してもよいことを示しています。
lp コマンドを使った複数コピーの印刷
あるファイルを特定の部数だけ印刷するには、lpコマンドの -n
オプションを使います。そのためのシンタックスは
lp -n
たとえば、“hello.txt” という名前のファイルを “HP-ink-jet 315” というプリンタに10部印刷するには、次のようにコマンドを実行します。
lp -d "Ink-Tank-310" -n 10 hello.txt
lp コマンドを使って縦書きや横書きの印刷をする
lp コマンドを使って、縦長と横長という 2 つの主な印刷の向きで印刷することもできます。そのためには、 -o
オプションを使用します。
注意: -o
オプションは非常に汎用性の高いものです。注意:** -o
オプションは非常に多機能です。印刷の向きを指定するだけでなく、用紙のサイズを設定することもできます。
lp -d "Ink-Tank-310" -n 10 -o portrait hello.txt
一方、横向きで印刷するには、構文で “landscape” を次のように指定します。
lp -d "Ink-Tank-310" -n 10 -o landscape hello.txt
前述のとおり、-o
オプションには他にも多くのオプションがあります。例えば、用紙のサイズを設定するのに使うことができます。
lp -d "Ink-Tank-310" -n 10 -o portrait -o media=letter hello.txt
lp コマンドによる片面または両面印刷
lpコマンドに “sides “属性を付けると、片面または両面印刷のジョブを指定することができます。
sides “属性には、2つのキーとなる値があります。- 2-sided-short-edge(横向き印刷)。
- two-sided-long-edge - ポートレート・モード。
例えば、先ほどの例で両面ページを印刷するには、次のような構文になります。
lp -d "Ink-Tank-310" -n 10 -o portrait -o media=letter -o sides=two-sided-long-edge hello.txt
Lp コマンドのオプション
以下は、lp
コマンドが提供するその他のオプションです。
| オプション 操作方法
| -E | サーバー接続を強制的に暗号化します。 | - (オプションの終わりを示す) | ダッシュ(-)で始まる名前のファイルを印刷するために使用されます |。 | -d (宛先) | 宛先のプリンタにファイルを印刷するために使用します。 | -U (ユーザー名) | サーバーに接続するためのユーザー名を指定するために使用されます。 | -h (ホスト名) | サーバーのホスト名を表します。 | -m (通知) ジョブ完了後に通知(メール)を送信する | | -n (コピー) | -n (コピー数) | ドキュメント印刷のコピー数を指定します (1~100)|。 | -q (priority) | キュー内の印刷ジョブの優先順位を指定します。1が最低、50がデフォルト、100が最高です。| | -i (job-id) | どの電流を変更するかを指定します。 | -t (名前) | ジョブに名前を割り当てます |。 | -o (”name=value [name=value …]”) | ジョブのオプション(1つまたは複数)を設定または割り当てるために使用されます |。
lp がサポートするすべてのオプションについてより詳しく知るには、CUPS のマニュアルページを検討してください。まとめ
このチュートリアルでは、Linux でターミナルから印刷するために lp コマンドを操作する方法 を紹介しました。もし、プリンターの設定がうまくいかない場合は、こちらのLinuxでプリンターを設定するチュートリアルをご覧ください。