GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでプリンターをセットアップするための12のCUPS lpadminコマンドの例

CUPS は Common UNIX Printing System の略です。

lpadmin は、CUPS が提供するプリンターとクラス キューを構成するために使用されるコマンド ライン ツールです。

CUPS を実行しているシステムは、クライアント コンピューターからの印刷ジョブを受け入れて処理し、適切なプリンターに送信できるホストです。サーバーのデフォルトのプリンターまたはクラスの設定にも使用できます。

このチュートリアルでは、lpadmin コマンドの例を使用して、Linux 環境で新しいプリンターを追加し、プリンター オプションを設定し、プリンターを管理する方法について説明します。

1.新しいプリンターの追加

「HPLaserJetP3015」という名前の新しいネットワーク プリンターを追加するには、以下に示すように、-p オプションを指定して lpadmin コマンドを使用します。

# lpadmin -p HPLaserJetP3015 -v socket://19.86.82.172 -P 
/usr/share/cups/model/HP/LaserJet_P3005-Postscript.ppd

# lpstat -v
device for HPLaserJetP3015: socket://19.86.82.172

プリンターが現在構成されているかどうかを確認するには、次の例に示すようにコマンドを使用できます。

# lpstat -p HPLaserJetP3015 -l
printer HPLaserJetP3015 is idle.  enabled since Sun Jan 11 16:11:41 2015

2. PPD とログ ファイル

上記の例では、PPD ファイル (PostScript Printer Description とも呼ばれます) はベンダーによって作成され、PostScript プリンターで使用できる機能のセット全体を記述しており、通常は /usr/share/cups/model/ ディレクトリの下にあります。 .

プリンタの設定に問題がある場合は、以下の場所にあるログでエラー メッセージを確認してください。この場所は、Linux のディストリビューションによって異なる場合があります。

# ls -l /var/log/cups/*
-rw-r--r-- 1 root lp  6851 Jan 11 16:19 /var/log/cups/access_log
-rw-r--r-- 1 root lp 13207 Jan 11 16:19 /var/log/cups/error_log

3.パラレル ポートでプリンターを構成

パラレル ポート (/dev/lp0) でプリンターを構成するには、次の例に示すように lpadmin コマンドを使用します。

# lpadmin -p HPDESKJET882 -v parallel:/dev/lp0 -m 
/usr/share/cups/model/HP/DeskJet_882C-cdj880.ppd

4.プリンターのセットアップに使用可能なすべてのポートを表示

また、lpinfo コマンドを使用して、プリンターの構成に使用できるすべてのポートまたはインターフェースを表示できます。

# lpinfo -v
network socket
direct hp
network http
network ipp
network lpd
direct parallel:/dev/lp0
direct scsi
network tpvmgp
network tpvmlp
network smb

5.複数のプリンター クラス

CUPS は、プリンターがクラスに追加された順序で常に使用可能なプリンターをチェックします。

クラスに 1 つ以上のプリンターを追加できます。プリンターの 1 つが使用できなくなると、クラスで定義されている他のプリンターが印刷ジョブの要求を処理します。

クラスにプリンターを追加することは必須ではありません。 1 つのプリンター クラス自体を他のクラスのメンバーにすることができるため、印刷の高可用性のためにプリンター クラスを定義することができます。

プリンター クラスを構成すると、単一のプリンターを指すのと同じ方法でプリンター クラスに印刷できます。

たとえば、2 台の Laserjet プリンターと 2 台の deskjet プリンターがあるとします。 2 つの Laserjet プリンターで構成される「Class-Laserjet」と呼ばれるクラスを作成し、「Class-Deskjet」プリンターと呼ばれる別のクラスを作成してから、これら 2 つのクラスを含む別のクラスを作成できます。

これにより、laserjet プリンターと deskjet プリンターの両方がダウンしても、もう一方のクラスが印刷ジョブを処理します。

6.プリンタをクラスに追加

クラスにプリンターを追加するには、以下のコマンドを使用します。

# lpadmin -h localhost -p HPLaserJetP3015 -c myclass

プリンターがプリンター クラスにあるかどうかを確認するには:

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

7.クラスからプリンターを削除

クラスからプリンターを削除するには、次の例に示すように lpadmin コマンドを使用できます:

この例では、myclass に 2 つのプリンターがあります:

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015
        HPDESKJET882

以下に示すように、myclass から HPDESKJET882 プリンターを削除します。

# lpadmin -p HPDESKJET882 -r myclass

削除すると、HP レーザー ジェット プリンターだけが表示されます。

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

8.プリンター クラス全体を削除

-x オプションを使用すると、クラスを削除できます。以下に示すように。

# lpstat -c myclass
members of class myclass:
        HPLaserJetP3015

# lpadmin -x myclass

# lpstat -c myclass
lpstat: Unknown destination "myclass"!

クラスを削除しても、プリンター構成はまだ存在することに注意してください。

9.印刷オプションの変更

プリンターの印刷オプションを変更するには、以下のコマンドを実行できます。

以下に示すように、lpoptions コマンドを使用して、プリンターで使用可能なすべてのオプションを一覧表示します。

この例では、アクティブ化されたすべてのオプションの前にアスタリスク記号が付いていることがわかります。アスタリスクがない場合は、デフォルト設定が使用されます。

# lpoptions -p HPLaserJetP3015 -l

PageSize/Page Size: *A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 
EnvMonarch Executive Legal
PageRegion/PageRegion: A4 Letter 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 
EnvMonarch Executive Legal
Resolution/Resolution: 150x150dpi 300x300dpi *600x600dpi 1200x1200dpi
InputSlot/Media Source: *Default Tray1 Tray2 Tray3 Manual
Duplex/Double-Sided Printing: DuplexNoTumble DuplexTumble *None

10.プリンターの解像度を変更

プリンターの解像度を 300x300dpi に変更するには、以下に示すように lpadmin コマンドを使用できます:

# lpadmin -p HPLaserJetP3015 -o Resolution=300x300dpi

# lpoptions -p HPLaserJetP3015 -l

上記の例で説明したように、–o オプションを指定して lpadmin を使用して、任意のプリンターに設定できるその他のオプションを次に示します。

  • job-k-limit=value – ユーザーごとのクォータのキロバイト制限を設定します。値はキロバイト単位の整数です。
  • job-page-limit=value – ユーザーごとのクォータのページ制限を設定します。値は、印刷できる整数のページ数です。両面ページは 2 ページとしてカウントされます。
  • job-quota-period=value – ユーザーごとのクォータの課金期間を設定します。値は整数の秒数です。
  • job-sheets-default=banner – 印刷ジョブに使用するデフォルトのバナー ページを設定します。
  • name=value – プリンターの PPD オプションを設定します。 PPD オプションは、lpoptions(1) コマンドで -l オプションを使用して一覧表示できます。
  • name-default=value – プリンターのデフォルトのサーバー側オプションを設定します。
  • port-monitor=name – 指定されたポート モニターは、プリンターの PPD ファイルにリストされている必要があります。
  • printer-error-policy=name – プリンター バックエンドがジョブをプリンターに送信できない場合に使用するエラー ポリシーを設定します。
  • printer-is-shared=true/false – プリンターを共有/公開または非共有/非公開に設定します。
  • printer-op-policy=name – プリンターに関連付けられた IPP 操作ポリシーを設定します。この名前は、ポリシー セクションの cupsd.conf で定義する必要があります。デフォルトの運用ポリシーは「default」です。

11.設定ファイルからプリンターを削除

プリンター構成ファイルから CUPS プリンターを削除するには、以下に示すように -x オプションを使用できます。

# lpstat -v
device for HPLaserJetP3015: socket://19.86.82.172

# lpadmin -x HPLaserJetP3015

# lpstat -v
lpstat: No destinations added.

12.ユーザーまたはグループによるプリンタ オプションの設定を許可/拒否

lpadmin コマンドを使用して、個々のユーザーまたはグループがプリンター オプションを構成できるようにすることができます。

次のコマンドは、ユーザー karthik が HPLaserJetP3015 プリンターのプリンター オプションを構成できるようにします:

# lpadmin -p HPLaserJetP3015 -u allow:karthik

以下のコマンドを使用して、ユーザーが設定/オプションを変更したり、プリンターを構成したりできないようにすることもできます。

次のコマンドは、ユーザー karthik が HPLaserJetP3015 プリンターでプリンター オプションを構成することを拒否します:

# lpadmin -p HPLaserJetP3015 -u deny:karthik

アクセスを許可する必要があるグループがある場合は、@ 記号の前にグループ名を使用できます。複数のユーザー名またはグループをコンマで区切って指定できます。

たとえば、次の例では、sysadmin グループのユーザーがプリンター オプションを構成できるようになります。

# lpadmin -p HPLaserJetP3015 -u allow:@sysadmin

以下は、開発者グループのユーザーがプリンター オプションを構成することを拒否します。

# lpadmin -p HPLaserJetP3015 -u deny:@developer

Linux
  1. 8 Linux TR コマンドの例

  2. Linux での rm コマンドの例

  3. Linux での ps コマンドの例

  1. Linux での sa コマンドの例

  2. w Linux でのコマンド例

  3. Linux での lpq コマンドの例

  1. Linux での ac コマンドの例

  2. Linux での df コマンドの例

  3. Linux での du コマンドの例