Linux の PDF ビューアにおけるPDF仕様「Launch action」の挙動を確認する

2010年4月12日の日記で、PDF 仕様「Launch action」について僕の思うことをまとめました。しかし、先の日記でやり残したことがあります。それは、Windows 以外の OS の各 PDF ビューアにおける「Launch action」の挙動です。そこで、今回は Linux の各 PDF ビューアにおける「Launch action」の挙動を確認してみます*1

結論

僕が確認した Linux の PDF ビューアのうち、「Launch action」で実行ファイルを起動できる(可能性のある)ものは LinuxAdobe Reader のみでした。

実証コード(Proof of Concept:PoC)の準備

Didier Stevens 氏の公開している PoC(zip)Windows 用の PDF ビューアに対するものです。PDF 仕様書(pdf)の p.422 を読むと、Windows 以外にも Mac, Unix 用のパラメータが定義されています(下図の赤枠)。ただ、Mac, Unix それぞれのパラメータは「not yet defined」となっているんですね。この仕様書の記述を読む限り、Mac, Unix の PDF ビューアにおいては「Launch action」を実装していないものが多いと考えます。


改めて、Didier Stevens 氏のブログを読むと、Paul Theriault 氏のコメントWindows, Mac, Unix のクロスプラットホーム用の PoC が紹介されていました。この PoC をテキストエディタで開いてみると、Windows, Mac, Unix それぞれで calc.exe, xcalc, Calculator.app を開く action が定義されていました(下図の赤枠)。今回の確認においては、確認環境において /usr/bin/xcalc が存在することは確認した上で、この PoC を使用します。

Linux の各 PDF ビューアにおける「Launch action」の挙動

Linux の PDF ビューアについて、PoC を開いたときに xcalc が起動するか確認してみました。確認した結果を以下の表にまとめました。LinuxAdobe Reader を除いて、PDF 仕様「Launch action」で実行ファイルを起動できる(可能性のある)PDF ビューアはありませんでした

OS PDF ビューア xcalc の起動可否
Ubuntu 8.04 Desktop Adobe Reader 9.3.2 xcalc は起動しない。ただし、「起動した」との報告あり*2
Ubuntu 8.04 Desktop Evince Document Viewer 2.22.2 xcalc は起動しない
Ubuntu 8.04 Desktop Xpdf 3.02 xcalc は起動しない
Ubuntu 8.04 Desktop KGhostView 0.20 xcalc は起動しない
Ubuntu 8.04 Desktop ePDFView 0.1.6 xcalc は起動しない
BackTrack 4 final KPDF 0.5.10 xcalc は起動しない
各 PDF ビューアで PoC を開いた時の様子

Adobe Reader で PoC を開くと、Windows 版の Adobe Reader と同様に警告ダイアログが表示されます(下図参照)。この警告ダイアログにおいて [開く] を選択しましたが、xcalc は起動しませんでした。


PoC を開いたときに、Adobe Reader(acroread)を起動しているコンソールを確認してみると、エラーメッセージが出力されていました(下図参照)。どうやら /usr/bin/xcalc が URL として認識されている模様です。パスの書き方を変えば、xcalc が起動する可能性はありそうです。



Evince Document Viewer 2.22.2 で PoC を開いたところ。xcalc は起動しません。これは Windows 版 Evince Document Viewer でも同様の結果でした。


Xpdf 3.02 で PoC を開いたところ。xcalc は起動しません。


KGhostView 0.20 で PoC を開いたところ。xcalc は起動しません。


ePDFView 0.1.6 で PoC を開いたところ。xcalc は起動しません。


KPDF 0.5.10 で PoC を開いたところ。xcalc は起動しません。他の PDF ビューアと異なり、KPDF については BackTrack 4 final で確認したため、スクリーンショットの画面が若干異なります。

*1:本当は Mac の PDF ビューアについても調べたいのですが、Mac 持っていないので断念しました。ただし、今回確認した Linux と同様の結果となりそうです(@ucq さんからの Tweet

*2:Didier Stevens 氏のブログにおける Nils Toedtmann 氏のコメントより確認しました