Linuxでの印刷は簡単ですが、アプリケーションを起動し、ファイルを開いて、印刷を見つけるのは大変な作業のように感じることがあります。 メニューで選択し、確認ボタンをクリックします。 Linuxターミナルユーザーの場合、単純なトリガーを使用して複雑なアクションを実行したいことがよくあります。印刷は複雑で、lpr
ほど単純ではありません。 コマンド。
lprコマンドを使用して印刷
端末からファイルを印刷するには、lpr
を使用します コマンド:
$ lpr myfile.odt
それが失敗した場合は、デフォルトのプリンタを設定するか、手動でプリンタを指定する必要があります。
デフォルトのプリンタを設定する
1984年に印刷されたBerkeley4.2マニュアルの使い古されたコピーによると、lpr
コマンドがページ分割され、ファイルがプリンタスプールに送信され、ラインプリンタと呼ばれるものにデータがストリーミングされました。 。
最近では、実際のlpr
最近のコンピューターは複数のプリンターにアクセスできる可能性が高く、ドットマトリックスラインプリンターよりもはるかに複雑なプリンターにアクセスできる可能性があるため、コマンドは不十分です。これで、Common Unix Printing System(CUPS)と呼ばれるサブシステムがあり、コンピューターにアクセスするすべてのプリンター、コンピューターが各プリンターとの通信に使用するドライバー、デフォルトで使用するプリンター、およびすぐ。 lpr.cups
またはlpr-cups
コマンド。CUPSにバンドルされており、通常はlpr
にシンボリックリンクされています。 、最初にCommon Unix Printing System(CUPS)構成を参照して、端末から印刷できるようにします。
lpr
を使用してファイルを印刷するには 、最初にデフォルトのプリンタを設定する必要があります。システムのプリンタ設定でデフォルトのプリンタを設定できます:
または、lpadmin
を使用してプリンタをデフォルトとしてマークすることもできます。 コマンド:
$ sudo lpadmin -d HP_LaserJet_P2015_Series
$ lpstat -v
device for HP_LaserJet_P2015_Series: ipp://10.0.1.222:631/printers/HP_LaserJet_P2015_Series
環境変数を使用してデフォルトの宛先を設定する
印刷先の変更は特権タスクと見なされるため、管理者アカウントを持っていないシステムに独自のデフォルトプリンターを設定することは許可されていません。 lpr
の前 宛先のCUPSを参照し、システムに PRINTERを照会します 環境変数。
この例では、HP_LaserJet_P2015_Series
プリンタに付けられた人間が読める名前です。 プリンタを設定します その値に:
$ PRINTER=HP_LaserJet_P2015_Series
$ export PRINTER
かつてのプリンタ 変数が設定されているので、次のように印刷できます:
$ lpr myfile.pdf
接続されているプリンタのリストを取得する
lpstat
を使用して、印刷ジョブを受け入れ、システムに接続されているすべてのプリンターを確認できます。 コマンド:
$ lpstat -a
HP_LaserJet_P2015_Series accepting requests since Sun 1 Aug 2021 10:11:02 PM NZST
r1060 accepting requests since Wed 18 Aug 2021 04:43:57 PM NZST
任意のプリンターへの印刷
システムにプリンタを追加し、プリンタを識別する方法がわかったら、デフォルトの宛先が設定されているかどうかに関係なく、いずれかのプリンタに印刷できます。
$ lpr -P HP_LaserJet_P2015_Series myfile.txt
プリンタの定義方法
CUPSには、FirefoxなどのWebブラウザからアクセスできるユーザーフレンドリーなフロントエンドがあります。ユーザーインターフェイスとしてWebブラウザーを使用していますが、実際にはコンピューター上でローカルに実行されているサービスです( localhost という場所)。 )ポート631で。CUPSはコンピューターに接続されているプリンターを管理し、その構成を/etc/cups/printers.conf
に保存します。 。
printers.conf
ファイルは、コンピュータがアクセスできる印刷デバイスの詳細を示す定義で構成されています。直接編集するつもりはありませんが、編集する場合は、cupsd
を停止する必要があります。 最初にデーモン。
一般的なエントリは次のようになります:
<Printer r1060>
Info Ricoh 1060
Location Downstairs
MakeModel Ricoh Aficio 1060 - CUPS+Gutenprint v5.2.6
DeviceURI lpd://192.168.4.8
State Idle
StateTime 1316011347
Type 12308
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-raster 100 rastertogutenprint.5.2
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
この例では、プリンターの名前はr1060
です。 、RicohAficio1060の人間が読める形式の識別子。
MakeModel 属性はlpinfo
から取得されます コマンド。システムで使用可能なすべてのプリンタドライバを一覧表示します。印刷先のRicohAficio1060があることがわかっている場合は、次のコマンドを発行します。
$ lpinfo -m | grep 1060
gutenprint.5.2://brother-hl-1060/expert Brother HL-1060 - CUPS+Gutenprint v5.2.11
gutenprint.5.2://ricoh-afc_1060/expert Ricoh Aficio 1060 - CUPS+Gutenprint v5.2.11
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
このコマンドは、インストールした関連ドライバーを一覧表示します。
MakeModel 結果の後半です。この例では、それはRicoh Aficio 1060 - CUPS+Gutenprint v5.2.11
。
DeviceURI 属性は、プリンタがネットワーク上のどこにあるか(またはUSBポートなどの物理的な場所)を識別します。この例では、 DeviceURI lpd://192.168.4.8
です lpd
を使用しているため (ラインプリンタデーモン)ネットワークプリンタにデータを送信するためのプロトコル。別のシステムでは、HP LaserJetをUSBケーブルで接続しているので、 DeviceURI DeviceURI hp:/usb/HP_LaserJet_P2015_Series?serial=00CNCJM26429
です 。
端末からの印刷
システムに接続されているデバイスとそれらを識別する方法を理解している限り、プリンタにジョブを送信するのは簡単なプロセスです。ターミナルからの印刷は高速で効率的で、簡単にスクリプト化するか、バッチジョブとして実行できます。試してみてください!