今年もよろしくお願いします&foomatic-rip のデバッグオプション
新年あけましておめでとうございます。本年もよろしくお願い致します。
年末になにやら毎日日記をつないでいくというイベントが一杯行われてましたねー。皆さん面白いネタたくさんあるなーとちょいちょい覗き見してました。
ということで日本人なので、私も正月の間*1 はせめてここ更新しようかなって思います。みなさんみたいにコア技術があるわけじゃないし真面目な技術者じゃないので、その日の思いついたことをダラダラと……。
んで、元旦にふさわしいネタはいくつか仕込んでたんですが、詰め切れないうちに寝正月を決め込んでしまったので、いきなり今日から落とすかと思いした。ということで本日は手持ちのネタをほいっと出して終わりにします。
なおこの記事は某雑誌に書いた(未刊行の)記事の予告編になってます*2。ネタバレにはなってないと思うので、どの雑誌か見つけたら併読してくださいね。
foomatic-rip のデバッグオプション
日経 Linux の紙先生の連載:
日経 Linux (リナックス) 2011年 08月号 [雑誌]
- 作者: 日経Linux
- 出版社/メーカー: 日経BP社
- 発売日: 2011/07/08
- メディア: 雑誌
- クリック: 112回
- この商品を含むブログ (7件) を見る
Software Design (ソフトウェア デザイン) 2011年 11月号 [雑誌]
- 出版社/メーカー: 技術評論社
- 発売日: 2011/10/18
- メディア: 雑誌
- クリック: 48回
- この商品を含むブログ (11件) を見る
んで、私自身はフィルタパイプラインにある、よく使われるフィルタ (例えば pdftopdf とか) をシェルスクリプトでラップするとか乱暴なやり方をやってたんですが、これはちょっとオススメできないんでもうちょっといいやり方ないもんかなーというか、/etc/cups/cups.conf の LogLevel ぐらい見てくれよって思ってんたですよねぇ〜。
けど、ここでふと気づいたんですが、CUPS 印刷システムで非常にメジャーなフィルターに foomatic-rip というのがあるんですね。もしかして、コイツにもデバッグオプションってあるんじゃね? と思って、man してみたら……
CONFIGURATION FILE The file /etc/foomatic/filter.conf is read whenever foomatic-rip is executed. It allows to configure the behavior of foomatic-rip as follows (lines beginning with # are comments and therefore get ignored): ... debug: 0|1 Turns on (1) or off (0) the debug mode. This is equivalent to supplying the --debug command line option. Default setting is 0.
……あるじゃん。
ということでさっそく手持ちの Ubuntu 11.10 でやってみよう、と思って sudo vi /etc/foomatic/filter.conf してみたら、
# This file allows you to configure the "foomatic-rip" filter. # You can force reconfiguration managed via debconf by running the # following command: # dpkg-reconfigure foomatic-filters # You may need to change the lowest priority of questions to be presented # using the switch "-p" to access some or any of these options.
ってあるじゃーないですか。なーんだ、dpkg-reconfigure でできるんだ。偉いぞ Debian!
ということでやってみようじゃないか。sudo dpkg-reconfigure foomatic-filters するといくつか選択項目が提示されるわけですが (ここらへんは Debian/Ubuntu 使いなら常識ですよね)、その中にこんな感じでデバッグオプションのオン/オフが切り替えられるようになってるんですね。
メッセージも日本語になってるし、もう間違えっこないですね。
なおメッセージにもあるとおり、このオプションは /tmp に lp ユーザー権限でファイル作ったりしますので、実運用しているプリントサーバーなんかでは不具合発見時以外はオンにしないでくださいね。
さて、こうやって foomatic-rip を利用するプリンターで印刷すると:
$ ls -l /tmp/foomatic-* -rw------- 1 lp lp 2460 2012-01-01 21:19 /tmp/foomatic-rip.log -rw------- 1 lp lp 0 2012-01-01 21:19 /tmp/foomatic-rip.ps $ sudo head /tmp/foomatic-rip.log foomatic-rip version 4.0.9.241 running... called with arguments: '67', 'anonymous', 'Test Page', '1', 'job-uuid=urn:uuid:6c604626-a80a-343c-5887-c066b2dd5522 job-originating-host-name=localhost time-at-creation=1325420350 time-at-processing=1325420350 AP_D_InputSlot=' Getting input from file Parsing PPD file ... Added option ColorSpace Added option Resolution Added option PageSize Added option PrintoutMode Added option ImageableArea Added option PaperDimension
てーな感じでオプションが見られるようになるんですねー。
まぁこんなことをしたい人がどれだけいるかは分かりませんが、foomatic-rip のバグレポには少なくとも使えますね :)