Intel XDKの起動からハマった。(Ubuntu 13.04beta)


朝起きたらIntel XDKが話題になっていて、なんかカッコ良さそうでした。
ところが、ぼくのUbuntuではまず起動から難儀だったので、是非、共有しておきたくメモします。

Javaのセキュリティポリシ

まず一発、このChrome ExtensionをインストールしてJavaアプレットの起動を待ったら、当然の如く起動ができませんでした。

表示されたのはこんな感じのエラー。

パッと見でOpenJDKの問題を疑ったんですが、冷静に見ると根っこはAccessControlExceptionだったので権限周りの問題だという事は理解できました。
さらっと調べてみるとOpen JDK(Iced Tea)は、OracleのJavaに比べてデフォルトの権限が厳しいらしいですね。
そういうわけで、ココらへんを治す方向性で進めていきます。

 # vim /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/security/java.policy 

IcedTeaのjavawsはJDK7ではなくJDK6で動くようだった(これは手元のビヘイビアがそうだったというだけで、根拠は持っていない)、このポリシを編集します。以下の行を足します。

grant codeBase "http://xdk-software.intel.com/distribution/*" {
        permission java.security.AllPermission;
};

僕はJavaに明るくないんですが、jnlpをエディタで割ったらcodeBaseというattrでこのURLが指定されてるので、とりあえずこれを指定したら上手く行きました。
本当はパーミッションをもっと細かく設定するべきなんだと思いますが、とりあえずこれでいい。

ChromeのPath

ここまでで上手く言ったと思ったら今度はchromeのpathがわからないと怒られました。

これも、メッセージのシンプルさから想像できる以上にハマった。
google-chromeをwhereisして、ソレを指定してやるだけで良いというのが最初の考え。僕の環境では"/usr/bin/google-chrome"というシンプルな場所に居るようだったので、これを"SetChromeLocation"で指定してやった。

ら、動かなかった。OSXとはコマンドの呼び出しの勝手が違うらしい。(?)

これは解決できないかなと諦めかけていたんですが、よく考えたらIntel XDKの前身はAppMobiであって、このノーハウで検索すると良いのではないか・・・と思ったらビンゴでした。

先のリンクを参考に、chromeから下記localhostにアクセスするとXDKを使用することが出来るようになりました。

 http://localhost:58888/_emulator/_ide/index.html

これで僕のUbuntuでもIntel XDKで遊ぶことが出来ます。

感想

本題に移るまでが大変だった。
楽しみます。