Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxのlpコマンドでターミナルからファイルを印刷する方法【初心者向けガイド】

Linuxのlpコマンドでターミナルからファイルを印刷する方法【初心者向けガイド】

Linuxでの印刷は、特に初心者にとって少し難しく感じられることがあります。このチュートリアルでは、Linuxのlpコマンドを紹介し、基本的な印刷操作の実行方法をわかりやすく解説します。縦向き・横向きでの印刷、単数・複数部の印刷など、実用的な使い方を網羅的にご紹介します。

lpコマンドとは?基本の概要

Linuxにおいて、CUPS(Common UNIX Printing System)は、プリンターや印刷オプション、サービスを管理する中間層です。プリンター本体、印刷ジョブ、印刷キューなどがその管理対象に含まれます。

CUPSには、Linuxシステム上でプリンターをセットアップし使用するための多くの機能が用意されています。lp(ラインプリンター)コマンドは、そのCUPS層に含まれるコマンドの一つです。

lpコマンドはファイルを印刷ジョブとして送信する役割を担い、lpq(ラインプリンターキュー)コマンドを使うと、キュー内の印刷ジョブを確認できます。

他の多くのLinuxターミナルコマンドと同様に、lpコマンドもさまざまなオプションに対応しています。以下、主なオプションを見ていきましょう。

lpコマンドのインストール方法

環境によっては、システムにlpコマンドがインストールされていない場合があります。その場合は、まずインストールを行う必要があります。

lpコマンドがインストールされているかどうかを確認するには、以下のようにwhichコマンドを実行します。

which lp

lpがインストール済みであれば、コマンドラインにファイルパスが表示されます。出力例:

/usr/bin/lp

lpコマンドがインストールされていない場合は、aptパッケージマネージャーを使ってインストールできます。

sudo apt install lprng

lpコマンドの一般的な構文は次のとおりです。

lp -d [プリンターID] [ファイル名]

[ファイル名]の部分には、印刷したいファイルへのパスを指定します。

利用可能なプリンターの一覧を表示する

lpstatコマンドに-aオプションを付けると、接続されていて利用可能なプリンターを一覧表示でき、-dオプションを付けるとデフォルトプリンターを確認できます。構文は以下のとおりです。

lpstat -a | awk '{print $1}'

このコマンドを実行すると、利用可能なプリンターの名前が返されます。

Linuxのlpコマンドでターミナルからファイルを印刷する方法【初心者向けガイド】

特定のプリンターに印刷する

多くの場合、システムにはプリンターが1台だけ接続されています。その場合は、lpコマンドに続けてファイル名を指定するだけで、デフォルトプリンターに印刷できます。

しかし、複数のプリンターが接続されている場合もあります。そのような状況では、-dオプションを使って、印刷先のプリンターを明示的に指定する必要があります。

たとえば、「/home/debian/mte/hello.txt」というファイルを「HP Ink-Tank 310」プリンターに印刷するには、次のコマンドを使用します。

lp -d "Ink-Tank-310" /home/debian/mte/hello.txt
Linuxのlpコマンドでターミナルからファイルを印刷する方法【初心者向けガイド】

印刷キューを表示する

コマンドラインから印刷キューを表示するには、lpqコマンドを使用します。

注意:システムにコマンドが存在しない場合は、cups-bsdパッケージをインストールしてください。

sudo apt install cups-bsd

パッケージのインストール後、次のコマンドを実行します。

lpq -P [プリンター名]

コマンドの出力は次のようになります。

lpq -P "Ink-Tank-310"
Ink-Tank-310 is ready
no entries

これは、指定したプリンターに印刷ジョブが存在せず、すぐにドキュメントを印刷できる状態であることを示しています。

複数部数を印刷する

ファイルを指定した部数で印刷するには、lpコマンドの-nオプションを使用します。構文は以下のとおりです。

lp -n [部数]

たとえば、「hello.txt」というファイルを10部、「HP-ink-jet 315」プリンターに印刷するには、次のコマンドを実行します。

lp -d "Ink-Tank-310" -n 10 hello.txt

縦向き・横向きで印刷する

lpコマンドでは、縦向き(portrait)と横向き(landscape)という2つの主要な印刷方向を指定することもできます。その際には-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コマンドと「media」属性を使ってサイズを指定します。構文の例は次のとおりです。

lp -d "Ink-Tank-310" -n 10 -o portrait -o media=letter hello.txt

片面・両面印刷の指定

lpコマンドに「sides」属性を組み合わせることで、片面印刷か両面印刷かを指定できます。

「sides」属性には、主に2つの重要な値があります。

  1. two-sided-short-edge – 横向きモードでの両面印刷
  2. 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 (部数)ドキュメントの印刷部数を指定する(1〜100)
-q (優先度)キュー内の印刷ジョブの優先度を設定する。1が最低、50がデフォルト、100が最高
-i (ジョブID)変更対象の現在のジョブを指定する
-t (名前)ジョブに名前を割り当てる
-o (「name=value [name=value …]」)ジョブオプションを1つ以上設定または割り当てる

lpコマンドがサポートするすべてのオプションについて詳しく知りたい場合は、CUPSのmanページを参照することをおすすめします。

まとめ

このチュートリアルでは、Linuxのlpコマンドを使ってターミナルから印刷する方法を解説しました。プリンターのセットアップでお困りの場合は、Linuxでプリンターを設定する方法を解説したチュートリアルも併せてご覧ください。

  1. Linuxのssコマンドでネットワーク接続を監視する方法【基本から実践テクニックまで】

    Linuxを使っていると、ネットワークの状態をもっと詳しく知りたい場面に必ず出会います。そうしたニーズに応えられるツールは数多く存在しますが、中には扱いが複雑なものもあります。ssコマンドは多くのLinuxマシンに標準でインストールされているため、その使い方を知っておくと非常に便利です。ssコマンドとは?2文字だけのコマンド名は一見謎めいて見えますが、実際はとてもシンプルです。多くのLinux/Unixコマンドと同じように、コマンド名はその機能を表す略語になっています。「ss」は「Socket Statistics(ソケット統計)」の略です。Socket Statisticsは、従来のnets

  2. macOSでターミナル(コマンドライン)を使う方法|基本操作と便利なコマンドを解説

    Windowsに「コマンドプロンプト」があるように、macOSにはコマンドの実行やシステム変更に使える「ターミナル」が標準搭載されています。ターミナルはmacOS専用のコマンドラインアプリケーションで、システム設定の変更、ファイルやアプリの起動、さまざまなタスクの実行などに活用できます。Appleが開発したこのアプリは、macOSの標準アプリとして最初からインストールされており、OSをアップデートしても常に同梱されています。ターミナルアプリはMacの「ユーティリティ」フォルダ内にあります。 つまり、ターミナルはMac版のコマンドプロンプトです。「Macでコマンドラインにはどうやってアクセスす