おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

2012年のLinux印刷事情をまとめてみたよ

昨年に引き続き。
でも今年はあんまりなーというか。

全体的に

悲しいことに去年からのコピペが成立してしまうことが……以下コピペ。

残念なことに「ポンとつないですぐ使える」未来にはまだ距離はあると言わざるを得ません。基本システムはかなり整備されて来たので、あとは品質面ですね……特に GS は作りの複雑さと開発コミュニティの閉鎖性がかなり限界に来ている(気がする)ので、もうみんな PS すてて PDF にしようよ、Poppler を良くしていこうよ、と思ったりするんですけどね、なかなか難しいだろうなぁ。

CUPS と printerd

CUPS 1.6 が今年リリースされましたが、結局「翻訳はコミュニティで」といきなり丸投げされ、お前1.5のときと言ってることが違うじゃんか! といいつつ、@kmuto さんと手分けして膨大な fuzzy と戦いました。査読してくれた @okano_t さんにも感謝。

で、CUPS 1.6 で Zeroconf 以外の共有プリンター探索手段が落とされてしまいました。これは Apple の、そして Mike の判断としては正しいのかもしれませんが、残念ながら市場ではまだまだ Zeroconf 非対応な機械が使われているし、Linux ディストロとしてはデグレになってしまいます。ので、OpenPrintingのマネージャであるTill Kamppeter が面倒を見ている Ubuntu については以前同様の機能を提供するバックエンドが提供されてるはずですが、基本的にはディストロ単独でソリューションを打ち出すのは筋が悪い気がするなー。

一方、CUPS の PS フィルター/シリアル・パラレルバックエンド削除に伴うゴタゴタで、Fedora コミュニティでは「もうフォークしようぜ!」って過激な意見も出てましたけど、結局それはナシになったようです。代わりに、Apple から OpenPrinting に移換された PDF 印刷パスの品質を上げていくために協力をするということですが、それがうまい方向に品質の安定につながればいいなー。今の PDF 印刷パスは必ずしも品質がいいとは言えないですからねえ*1

しかし Fedora がというか RH というか、CUPS だけに依存した世界に危機感を持ったのは確かなんだろうと思いました。ということで、RH で印刷といえば Tim Waugh と、colord の作者 Richard Hughes が提案したのは、セッションベースの印刷システム printerd です。詳しく書く時間が今ちょっと無いので省略しますが、要は印刷側が IPP と PDF をサポートしてると仮定しちゃえば印刷システムはもっとシンプルでいいじゃんって発想ですね。当然、使い勝手の観点から CUPS 互換レイヤーや、また Google Cloud Print も統一的に扱えたりして、この点でも非常に興味深いですね。

最近あんまりニュースが聞こえて来なくなったのは F18 に向けて忙しいのかもしれませんが、来年の展開を期待したところです。なお、printerd については Michael Sweet も好意的なメッセージを寄せていて、Linux ベースのモバイルデバイス (要は Android ですね) に現在存在しないプリントサービスとして使ったらどうか、そのためには PDF だけでなくラスターデータもサポートするのがよいのでは、というコメントをしていました。

Common Printing Dialog 無期延期のお知らせ

まあ 6 年も開発滞留してたら普通そういう判断になりますよね。ということで、「全ての Linux デスクトップアプリに共通な印刷 UI を提供しよう」という試みであった Common Printing Dialog の開発無期延期がアナウンスされました。

厳密には延期が「決まった」というより、開発に手をあげるベンダーがなかったので Till が Canonical からお金を引き出してやろうとしていたところ、Canonical のビジネス判断としてストップということになったということです。ので、別のスポンサーがつけばないとはいえない……無理だろうなあ。

ただアプリ側としては共通なものがあったほうがいいじゃない? というのはあるんで、CPD の産物として作成された D-Bus API を利用して、GTK-Print を利用するというのはどう? というアイディアは話し合われていますね。

またそもそも、モバイル/クラウドの世界では、印刷したいその瞬間まで「ターゲットのプリンター」が決まらないこともごく普通であり、そうであればそもそも、あらかじめプリンターを「導入」しておいてその UI を出すというモデルが成立しないじゃないか、というアイディアもあります。IPP (Internet Printing Protocol) ではプリンターに印刷を行なうだけでなく、プリンターの情報を HTTP で取ってくる機能がありますから、それを使って動的に UI を生成したらいいだろうというアイディアもあります。実際のところ、Canonical はデスクトップの印刷技術より、例えば Nexus 7 などに Ubuntu のソリューションを提案することの方が優先度が高いわけですから、そうなるとタブレットUbuntu の印刷ってどうなるの? とかそういう方が気になりますね*2

Ubuntu のプリンタードライバーの自動ダウンロード???

昨年のトピックで書いたこのネタ。セイコーエプソンさんのプリンターであれば繋ぐだけで自動的にリポジトリが追加されてドライバーがインストールされるって仕組みですが。

12.10 で Jockey くんが廃止された影響か*3 思いっきりバグってまして、動いてません。再現も楽勝だし中分かってる奴ならすぐ直せると思うんですが、けっこう早めにレポートしたつもりが誰も見てる気配がありません。

https://bugs.launchpad.net/ubuntu/+source/system-config-printer/+bug/1073949

個別のディストロで問題解決するというのはこういうリスクがあるなあとちょっと感じるんですが、それよりセイコーエプソンの方はクレーム入れたりしてないんでしょうかね??

もしかして気づいてないのかなーと思って SE さんのサポートページとか探したんですが見当たらず。客相に電話するのもなぁ〜という気もするのでほっといてるんですが、いくら非サポートを謳っているとはいってもこういうときにレポートする方法すらないのはちょっと残念ですね……。

標準化の動向をちょっと

今のプリンター関係の標準化の方向を見ていると:

  • モバイルを考えると難しいレンダリングとかホスト側でやるの無理でしょ?
  • クラウド考えたら、どのプリンターと最終的につながるかわかんないから、プリンター別にレンダラー持つとかないわー
  • だからもう UI は動的生成にして、印刷データは全部共通にしたい
  • ということでとりあえず IPP + PDF or 標準 Raster で全部完結する世界を作る
  • そしたらホスト側の作りは超シンプルになってマルチベンダーも楽勝

てな感じなわけですが、これってプリンターベンダー的には今のロックインを全部開放することになるわけですよねー。
だからどこのベンダーも、標準化に参加してるポーズはしてるけど、実際の機能を提供するところしか見てないんじゃないかな? これは勝手な想像ですけどね。

例えば Windows から IPP 経由で印刷する、というシナリオは社内 QA でやるけど、IPP のリファレンス実装である CUPS との組み合わせテストはしてない。あるいは CUPS 付属の IPPTOOLS などでのテストはしてない。Michael が PWG のミーティングで IPP/2.0 の相互接続性試験の結果を各自送ってくれといってもどのベンダーも送らない。実際、相互接続性試験にパスしているプリンターは私が Printing Summit で聞いた時点では一個もなかったって話でしたしね。

また、AirPrint 対応という機能にはマルを付けたいから、Bonjour + IPP/1.1 + PDF という組み合わせはまあやる。けど、他の組み合わせはやらない。

標準化の連中も口ではアウトリーチは大事だ、君みたいなベンダー外の人間が来てくれるのは歓迎だ、といってくれるけど、じゃあクラウド印刷の標準化にどんだけのクラウドサービス提供者の意見を聞いたのか。確かに PWG の ML も Wiki もオープンだけど、それを読んでくれ、議論に参加してくれ、という話を、クラウドサービスを作ってる奴らの前でしたのか。

せっかく面白いことを考えてて面白い検討をしてるのに、それを届かせよう、実現しようという本気度が見えないところが、なんだかなあという感じです。

終わりに

正直、1年経ってみて、あまりにも何も変わってなくて愕然としました。
in progress のものはありますけど、先程書いたような事情で、さていつ実現するのやら……と、少々厭世的にもなります。
イデアルの話をするのもいいけど、地に足がついたことをもっと話そうよ、実現できることをちょっとずつやろうよ、という思いがあるわけでして。

そういう意味では、今年最後の OpenPrinting Japan で、「Linux の各種ダイアログの UI Constraints の扱いはちょっとおかしいんじゃないか、まずはあるべき姿をみんなで話し合って、各コミュニティにはたらきかけていこうよ」という提案が出て、来年の活動テーマがそれに決まったことは喜ぶべきかと思います。

私も現状を嘆いているばかりではなく、実際の行動に繋げながら Linux の印刷環境を、そして未来の印刷環境を、イメージングソリューションをより実用的に、願わくばより面白くできたらいいななんて思ってます。応援してちょ。

*1:理由はいろいろあるんですが、今回は時間の関係で省略。

*2:「印刷?そんなの知らないよ」という可能性はあります……というか高いけれども。

*3:全然関係ないかも。そしたらすみません。