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」で実行ファイルを起動できる(可能性のある)ものは Linux 版 Adobe 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 が起動するか確認してみました。確認した結果を以下の表にまとめました。Linux 版 Adobe 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 氏のコメントより確認しました