いつからかLibreOfficeとPDFの印刷ができなくなっていた。年賀状を作るときに印刷ができなくなっていることに気づいたが、どうすれば元のように印刷できるようになるか、結構時間をかけて調べても分からず、ずっと原因を探していた。cupsやcnijfilterの再インストールなど試してみたが、改善しなかった。
色々と試した結果、CUPSのpdftops-renderer-defaultを設定することで、印刷ができるようになった。その時の症状と、対策を記事にしておく。環境は、GNOME 3.18.2, cups 2.1.3-1, cups-filters 1.8.1-1, Printer: Canon Pixus MG5130(USB接続), Priter Driver: cnijfilter-mg5200 3.40-11(mg5100としてインストール)。また、ユーザーはsysグループに入っている。
あらかじめインストールされている、関係しそうなパッケージを挙げておく。
cups, cups-filters, libcups, cups-pdf, cups-pk-helper, ghostscript, gsfonts, cnijfilter-mg5200, a2ps, poppler, poppler-data, poppler-glib, system-config-printer, libreoffice-still
印刷の症状
印刷したときの現象
すべての印刷ができなくなったというわけではなく、アプリケーションによって印刷できるものとできないものがあった。印刷できないアプリケーションで印刷を実行すると、印刷のジョブはプリンタまで送信され、プリンタの液晶に「処理中です。しばらくお待ちください...」と表示されるものの、何も印刷せずにプリンタはスタンバイの状態に戻ってしまう。パソコン側にも、印刷ジョブが正常に送信されたポップアップと完了したポップアップが表示される。
CUPSのエラーログを見ても、印刷できていた時と同じエラーが出ているのみ。LogLevelをdebugにしても変わらず。
$ less /var/log/cups/error_log
...
W [11/Feb/2016:23:20:03 +0900] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'MG5100-Gray..\' already exists
W [11/Feb/2016:23:20:03 +0900] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'MG5100-RGB..\' already exists
また、
Capturing print job dataに従って、エンキューされたファイルをキャプチャしてみたが、問題なくPDFファイルが/var/spool/cups/に格納されており、不具合の原因は分からず。