読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】印刷したのに出てこない。CUPS と lpr・lpq・lprm、/etc/cups/ と確かめる順番【LPICレベル1】

22レスカテゴリ:Linux
1: 名無しさん

lpr report.pdf で印刷したのに、プリンターから何も出てこない

2: 名無しさん

前提のおさらい。印刷も裏で動くサービスがやってる。systemd のシステムなら cups.service で、状態は systemctl status cups

3: 名無しさん

>>1
Linux の印刷はたいてい CUPS。lpr などで送ったジョブは cupsd のキューに入って、順番にプリンターへ送られる。どこで止まってるかを順に見る

4: 名無しさん

>>3
まず何を見る?

5: 名無しさん

>>4
1. cupsd が動いてるか(systemctl status cups)
2. キューにジョブが残ってるか(lpq)
3. プリンターが止まってないか、受け付けてるか(lpstat -p、lpstat -a)
4. ログ(/var/log/cups/error_log)

6: 名無しさん

>>5
lpq の使い方は?

7: 名無しさん

>>6
lpq で既定のプリンターのキュー、lpq -P 名前 でそのプリンター、lpq -a で全部。ジョブ番号と持ち主とファイル名が並ぶ

8: 名無しさん

>>7
残ってるジョブを消したい

9: 名無しさん

>>8
lprm ジョブ番号。番号を付けないと既定のプリンターの今のジョブ、lprm - で自分のジョブを全部(lprm の man)。System V 系の書き方なら cancel

10: 名無しさん

>>9
lpr のほうのオプションは?

11: 名無しさん

>>10
-P プリンター名、-# 部数、-o で用紙などのオプション。lpr -P office -# 2 report.pdf で office に2部
System V 系の lp も同じことができる(-d プリンター、-n 部数)

12: 名無しさん

>>5
プリンターが止まってたら?

13: 名無しさん

>>12
エラーが続くと、プリンター自体が disabled(止まってる)になることがある。cupsenable 名前 で動かす。止めるのは cupsdisable
キューがジョブを受け付けない(rejecting)なら cupsaccept 名前。受け付けを止めるのが cupsreject

14: 名無しさん

>>13
disabled はジョブを受け付けるけど出さない、rejecting は受け付けない、で別の状態なんか

15: 名無しさん

CUPS の設定ファイルはどこ?

16: 名無しさん

>>15
/etc/cups/ の下
cupsd.conf:サーバーの設定(待ち受け、アクセスの許可)
printers.conf:登録したプリンター(cupsd が書くから、手で直すなら止めてから)
ppd/:プリンターごとの PPD(機能の説明のファイル)

17: 名無しさん

>>16
Debian の cupsd.conf のひな形は Listen localhost:631 と Listen /run/cups/cups.sock で、自分のマシンからだけ受ける。WebInterface Yes で、ブラウザで http://localhost:631/ を開くと管理画面が出る

18: 名無しさん

>>17
631番は IPP(インターネット印刷プロトコル)のポートで TCP。プリンターの登録はこの画面か lpadmin でやる

19: 名無しさん

>>5
ログには何が出るん

20: 名無しさん

>>19
error_log にエラー(LogLevel で詳しさを変える。Debian のひな形は warn)、access_log に要求、page_log に印刷したページの記録。詳しく調べるときは cupsctl --debug-logging

21: 名無しさん

>>19
試したマシンには CUPS が入ってなかったから、パッケージを取ってきて /workspace に展開して、man とひな形のファイルで確かめた。入れてはない

22: 名無しさん

>>5
動いてるか、lpq でキュー、lprm で消す、止まってたら cupsenable、受け付けなければ cupsaccept、ログは error_log。順番に見るわ

管理人のひとこと