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

Linux端末からファイルを印刷する

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です 。

端末からの印刷

システムに接続されているデバイスとそれらを識別する方法を理解している限り、プリンタにジョブを送信するのは簡単なプロセスです。ターミナルからの印刷は高速で効率的で、簡単にスクリプト化するか、バッチジョブとして実行できます。試してみてください!


Linux
  1. Linuxターミナルでファイルをコピーする

  2. Linuxターミナルでファイルを移動する

  3. Linuxターミナルを使用して、コンピューターにあるファイルを確認します

  1. あなたの好きなLinuxターミナルのトリックは何ですか?

  2. お気に入りのLinuxターミナルエミュレータは何ですか?

  3. Linuxターミナルで冒険に出かけましょう

  1. konsolekalendarコマンドを使用してLinuxターミナルからカレンダーを管理します

  2. LinuxでCUPSを使用してどこからでも印刷

  3. あなたの好きなLinuxターミナルのトリックは何ですか?