Linuxプリンター関係 lpstat/lp/lpr/lpq/lprm/lpc

/ LPIC / Comment[0]
Linuxでの印刷サービスはlpdデーモンが担当する。
lpdデーモンは、印刷要求があるとlpdプロセスを生成し、lpdが印刷ジョブを処理する。
lpdデーモンが参照するプリンタの設定は/etc/printcapに記述されている。

lpstat - プリントの情報を表示する
$ lpstat オプション

オプション
-p 利用可能なプリンタを表示
-d デフォルトのプリンタを表示
-t 全ての情報を表示
-r スケジューラの起動状態を表示

lp
$ lp test.txt
test.txtを印刷

$ lp -d printer test.txt
printerという名前のプリンタでtest.txtを印刷


lpr - LPRプロトコルを使用して印刷する
$ lpr -S server -P printer test.txt
serverというサーバにあるprinterというプリンターでtest.txtをネットワーク越しに印刷

$ lpr -P printer #2 test.txt
printerというプリンターでtest.txtを2部印刷する


lpq - プリンターのキューを表示する
$ lpq -a
全てのプリンターのキューを表示

$ lpq -l
詳細を表示

$ lpq -P printer
printerというプリンタのキューを表示

$ lpq -S server -P printer
serverのprinterのキューを表示


lprm - 印刷待ちのキューを削除する
# lprm -P printer 777
printerというプリンタの777番のキューを削除

# lprm -P printer -
printerというプリンタの自分が追加した全てのキューを削除


lpc - プリンタの制御
$ lpc コマンド

コマンド
abort 印刷を中止、停止
enable プリントキューへのスプールを開始
disable プリントキューへのスプールを停止
down [message] プリントキューを止めて印刷を停止、任意のメッセージを表示
up プリントキューへのスプールを開始し、新しく子lpdを起動
start 子lpdを起動し、印刷処理を開始
stop 印刷ジョブが終了したら子lpdを停止
restart 新しくlpdデーモンを起動
status プリントキューの状況を表示
topq 指定したジョブを最優先に処理する


プリントキューの情報を表示
$ lpc status

印刷を中止し、メッセージを表示
$ lpc down サーセンメンテナンスしますサーセン

printerのジョブ番号12を最優先で印刷する
$ lpc topq printer 12


プリンタの設定
印刷に関する設定は/etc/printcapに記述されている。

/etc/printcap
lp|Canon dot-matrix printer entry:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/lp:\
:af=/var/log/lp-acct:\
:lf=/var/log/lp-errs:

sd=[スプールディレクトリ] /var/spool/lpd以下のスプールディレクトリを指定
mx[サイズ] 印刷ジョブの最大サイズ #0が無限
sh ページヘッダの印刷を抑制
lp=[プリンタ名] プリンタ名
if=[フィルタ] 印刷フィルタを指定
lf=[ファイル名] ログファイルを指定


印刷フィルタ
Linuxで扱うプリンタはPostScriptというページデータを記述する言語で書かれたものに対応しているPostScriptプリンタを前提としている。
このプリンタが直接印刷できるデータ型はascii,postscriptなど。

印刷データをこのプリンタで印刷出来るフォーマットに変換するために、印刷フィルタが使われる。

一般で使われているプリンタのほとんどがPostScriptに対応していない。
そのようなプリンタを使うには、GhostScriptを使う
GhostScriptは様々なメーカーに対応している。

マジックフィルタを使うと、ファイルの種類に応じて自動的に変換を行ってくれる。
代表的なマジックフィルタは、APSfiltermagicfilterなどがある


ネットワーク上にあるlpdに対して印刷要求を送るには
/etc/printcap
lp|Generic dot-matrix printer entry:\
:lp=/dev/lp0:\
:sd=/var/spool/lpd/lp:\
:rm=psv:\  リモートホスト
:rp=lp:\   リモートホストのプリントキュー
:af=/var/log/lp-acct:\
:lf=/var/log/lp-errs:\
リモートホストとプリントキューを追記する

プリンタの利用を許可するホストを/etc/hosts.lpdに記述する。
/etc/hosts.lpd
192.168.1.3
66.249.89.99
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可