PDFは一般に、電子文書のファイル形式として知られていますが、最近、技術者の中ではPDFの中でさまざまなプログラムを動かすテクニックが注目されています。
本日紹介する「LinuxPDF」もそのようなテクニックを利用し、PDFファイルの中でLinuxを実行することを可能とするプロジェクトです。
DoomPDFプロジェクトと同様に、PDFファイル形式がJavaScriptをサポートしていることを利用し、TinyEMU RISC-Vエミュレータを使って、PDF内でLinuxを動かすことに成功しています。
以下のような特徴を持っています。
- PDFファイル形式がJavaScriptをサポートしていることを利用。
- TinyEMU RISC-Vエミュレータをasm.jsにコンパイルしてPDF内で実行。
- 入力は仮想キーボードやテキストボックスを使用。
- 出力は各ピクセル行を表示する別々のテキストフィールドを使用。
- 32ビットと64ビットバージョンのルートファイルシステムが利用可能。
以下使用方法です。
目次
Chrome系ブラウザで実行可能
LinuxPDFは、ChromeなどのChromium系ブラウザやFirefoxで動かすことができます。
以下のURLを開きます。
ブラウザ内蔵ビューアーでPDFを表示する設定になっていれば、LinuxPDFの実行が始まるはずです。
起動にかなり時間がかかりますが待っていれば以下のような画面が表示されます。
▲画面下にあるキーボードを使ってlsやpwdなどLinuxのコマンドを実行することができます。
なお、ChromeでPDFがダウンロードされてしまう場合、設定を確認する必要があります。
▲Chrome設定の「プライバシーとセキュリティ > PDFドキュメント」で「ChromeでPDFを開く」を選択します。
まとめ
LinuxPDFはPDFファイル内でLinuxを動かす興味深いプロジェクトです。GitHubリポジトリにはソースからのビルド方法など、より詳細な情報が掲載されています。興味を持たれた方は確認してみてはいかがでしょうか。