このページでは、Linuxのプリンタ管理や印刷コマンドについてお伝えしよう。
CUPSが正常に導入された環境なら、GUIアプリケーションの印刷はおおかた正常に行われるわれるはずだ。
設定もWebGUIで設定出来るようになっているので、入門者にもとっつきやすいだろう。しかしLinuxの場合コンソールからファイルを印刷するという場合もあるだろう。
その場合lpコマンドやlprコマンドを使用することになる。
CUPSのウェブGUI
FedoraやCentOSの場合デスクトップ環境をインストールすると、デフォルトでCUPSがインストールされているはずだ。
まずは
http://localhost:631
にアクセスをする。すると以下のような画面になるはずだ。ここからネットワークプリンタなどの設定が可能となっている。ほぼGUIで設定ができるので設定が容易である。
プリンタを追加する場合管理タブ「プリンタの追加」を押せばよい。あとはウィザードどおりに進めてゆけば正常に追加される場合がほとんどだ。プリンタを追加するときにユーザ名とパスワードを求められる。ユーザ名は「root」、パスワードは「rootのパスワード」を打ち込む。ブラウザがパスワードを覚えようとするが、拒否しておいたほうが無難だ。
USBプリンタやネットワークプリンタは、この画面ですでに検出されるはずだ。検出されたプリンタを選択する。
特には設定しなくても問題ない、デフォルトの状態で「続ける」を選択する
ここでPPDファイルを選択することになる。もし一覧の中にあなたが使用しているプリンタのPPDがなかった場合、プリンタメーカー側が個別に配布している場合が多いので、プリンタメーカーのホームページへ行ってみよう。
この画面までたどり着けばほぼセットアップは終了である。
次に「プリンター」タブを見てみよう、追加されたプリンタが項目として存在するはずだ。
以下の画面でプリンタ個別の管理ができる、現在のキューの情報なども下に表示される。
なおプリンタを削除したり、PPDを変更したりしたいときは「管理」ボタンを押せばよい。
コマンドによる印刷
Linuxではコンソールからプリンタへプリントの依頼することができる。BSD由来のコマンドとLinux(SystemV)系のコマンドが混在しているが両方使用可能となっている。これらのコマンドはRedHat系では大方CUPSを導入した時点でインストールされる。
コマンドは基本的に「キューへプリント依頼をなげるコマンド」「キュー内部の情報を表示するコマンド」「ジョブをキャンセルするコマンド」の三種類にわかれる。どちらにしても最終的には、やることはかわらないのでさほど迷うこともないだろう。
確認事項
lp系のコマンドを実行するまえに、設定ファイルを確認しよう
# vi /etc/printcaps
が設定ファイルとなっている。このファイルの設定内容はCUPSを設定し終えた時点である程度自動で書き込まれる。
重要なのは一番初めのプリンタの名前にあたる部分だ。今回の場合「Brother_HL-L2360D_series」というのがプリンタの名前だ。
ユーザが記述しなければならない内容は、RedHat系では
# vi /etc/printcaps.local
を使用するのが一般的だ。
今回は/「etc/printcaps」は自動生成の設定をそのまま、「/etc/printcaps.local」に必要な項目を書き足した。
今回はUSB接続なプリンタだったので、
:lp=/dev/usb/lp0
と追記する。
メーカーにもよるがほぼデフォルトの設定で動くことが多いようだ。あとはデフォルトのプリンタを設定する。
# lpoptions -d <プリンタ名>
これで「lpr」などのコマンドで印刷ができるようになるはずだ
BSD由来のコマンド
lpr
CUIコマンドを使用してファイルを印刷する場合lprコマンドを使用する。lprコマンドはファイルや標準入力をプリントキューに送信する。パイプを使用した出力結果をプリントすることも可能になっている。
書式 lpr <オプション> <ファイル名>
$ lpr -#3 <ファイル>
とすることで<ファイル>が3部印刷できる。またパイプによる標準入力の印刷にも対応している。例えば
$ ls -lah | lpr
とするとlsの結果がプリントされる。
主なオプションについて
-# 部数
-P プリンタを指定
lpq
lprで発行された依頼は順番にプリントキューへなげこまれる。プリントキューの現状を確認したいときはlpqコマンドを使用する。
書式 lpq <オプション> <ユーザ名> <ジョブ番号>
$ lpq
主なオプション
-P 確認するプリンタを指定する
lprm
このコマンドはプリントキュー内のジョブを削除する時に使用するコマンドである。一般ユーザは、自分が発行したジョブのみを削除することができる。root権限の場合全てのプリントジョブを削除する権限をもっている。削除するためのジョブ番号はlpqであらかじめ確認しておくこと。
なおオプションに「-」を指定すると全てのプリントジョブが削除される。一般ユーザで「-」を指定した場合そのユーザのプリントジョブが全て削除される。root権限で「-」を指定した場合全ユーザのプリントジョブが削除される。
書式 lprm <オプション> <ジョブ番号>
$ lprm -
主なオプション
-P 対象プリンタを指定
- ユーザプリンタジョブをすべて削除する。rootの場合すべてのジョブが削除される。
SystemV系のコマンド
SystemV系だとコマンドが変わってくる。
lp
印刷依頼をするためのコマンド
書式lp <オプション> <ファイル名>
$ lp -n 5 <ファイル>
主なオプション
-n 印刷する部数の指定
-d プリンタを指定する
lpstat
印刷ジョブのキューを確認するコマンドだ。
書式lpstat <オプション>
$ lpstat -t
主なオプション
-t すべてのステータスを表示する
cancel
印刷ジョブをキャンセルするコマンド
書式 cancel <オプション> <ジョブ番号> <プリンタ名>
$ cancel -a printer1
主なオプション
-a 指定されたプリンタのジョブをすべて破棄する。
まとめ
このページではLinuxでのプリンタの管理方法と印刷のコマンドについてお伝えしてきた。
LinuxでもGUIが発達しそこまで頻繁に使うものでもないが、必要が出てきたときには、再度見にくるといいだろう。
小生Linuxの初心者です。
プリンター設定に、いろいろなブログを見ても難しすぎて理解できずLinuxのハードコピーに難儀していましたが、こちらの説明が一番わかりやすくて、すんなりと解決致しました。
一言、お礼を言いたくてメールをしました。
有難うございました。
ご連絡いただきありがとうございます。
当サイトの記事がLinux学習の一助となったとのことで、これ以上の喜びはありません。
引き続き、ご愛読のほど、よろしくお願いいたします。
このページで初めてCUPSなるものの存在を知りました。
こちらも超初心者でプリンター接続は夢のまた夢ぐらいに思っておりましたが、無線、ソケット接続で上手くテスト印刷できました。
ありがとうございました。
嬉しいコメントありがとうございます。お役に立ててなによりです。
引き続き、ご愛読のほど、よろしくお願いいたします。