なげやりろぐ

フテイキコウシン

 SleipnirをMac OSX上で使ってみたい


昨日、思わせぶりな書き方をしてしまいましたが、なにをやっていたかというと・・・



SleipnirをOSXで使えるようにしてみようプロジェクト

と、いうものを一人で勝手に立ち上げてアレコレ試していた訳でして。


まぁ表題の通りなわけですが、ことの始まりはなんとなく・・・
Win環境での常用ブラウザを何とかOSX10.4.7で走らせることはできないものかと思っただけなんですけどね。


現状ではいくつか選択肢があります。
たとえば、

  • VirtualPCにインストールしたWindows上での使用
  • parallelsにインストールしたWindows上での使用
  • Q EMUにインストールしたWindows上での使用

とまぁ、PCのエミュレーターを使えば難なく実現できてしまうわけですが、これじゃつまんない。
それにPCエミュレータ系は自身のプログラムのほかにゲストとなるOSのイメージを作成する必要があり、これのサイズが馬鹿にならないことも。
また、パフォーマンス上の問題もあります。(エミュレートされているGPUなどの性能がいまいちだったりする)


なんとかPowerPCネイティブの環境にWindows用のアプリを持ち込んで動作させることはできないだろうかと、有志が進めているプロジェクトにDarwine(あるいはWine)というものがあります。
ただ、これは設定などの敷居が高く気軽に試してみようと思えるようなものではありません。
さらにはワタシの場合、intel CPUなのではっきり言うと無意味なわけで(笑)


ではどうするかということになりますが、先月、OSX用のWine環境をGUIで設定できるCrossOver Macというアプリがpublic betaとしてリリースされていた訳でして、コイツをつかってみようかと。


これはintelベースのOSX上でのみ使用できるもので、DarwineのようなPPCのエミュレートは必要なく、X86ネイティブのコードで動作できるようなのでパフォーマンスが良さそうです。
実はリリース直後に一度インストールしてみて、検証済みアプリに使えるものが少ないのを知りまだまだ使えないかな〜と思ってしばらくほうっておいたんですが、今回のプロジェクト(笑)のために再挑戦してみようという気になったわけです。*1


ここのところPC関係のトラブル続きでやりたかったけどなかなかできなかったことのヒトツがこれでした。
果たして結果は・・・

CrossOverを立ち上げて、動作検証済みアプリケーションを導入する


とはいっても、検証済みアプリのリスト中にはワタシが持っていないか普段使わないものばかりしかありません。


なにはともあれ、今回の目的であるSleipnirを動作させるためには必要不可欠ですのでリストの中にあるIE6のSP1を導入します。


CrossOverについて自分なりに確認した事柄をちょっとだけ・・・

  • まだよくわかっていない部分がありますが、基本的にCrossOverで実現できるOSの環境はWin98,Win2000,WinXPの3種類だけのようです。
  • デフォルトでWin98環境の構築は必至な様です。いろいろ試してみたところWin98環境をなくすと起動しなくなるアプリもありました。
  • WinXP環境だけはあらかじめ用意されているメニューからの設定だけではうまくいかないようです。bottleの環境設定(config)で明示的にXPを使うように設定しないとうまくいきません。
  • 各OSはbottleという仮想PC環境で管理されるようになっています。実体は〜/Library/ApplicationSupport/CrossOverディレクトリ以下に格納されていますので、いろいろ弄くることも可能です。
  • 現状ではUIの日本語表示には未対応。以下に詳細。
  • X11で日本語を扱えるように設定をしないとアプリのメニューが文字化けします。英語のリソースが用意されているアプリなら問題なしなのでSleipnirはOKです。
    英語リソースのないアプリもいくつか試しましたが見事に化けました(今回はX11の日本語化を行っていないため、メニューが正常に表示されるようになるのかは未確認)
  • CrossOver HTML Engineの導入は必至。これがないとなぜかIEがまともにブラウズできませんでした。
  • とりあえずIE6 sp1とCrossOver HTML EngineをWin98環境へ導入して起動させたところ、けっこうさくさくと動いてくれます。
    (スクリーンショットのリンク先画像はデカイです)


当然ですが、日本語を表示できるようにインターネットオプションでの設定が必要です。
languageで追加言語にJapanese[ja]を指定したのち、Englishの上へMoveUPさせます。
Fontの設定で認識されるものには制限があるようです。デフォルトでOSXに入っているFontは表示に現れません。
ワタシの場合、たまたま追加インストールしていたOTFフォントが認識されたので指定することができましたが・・・
(画像参照 : Fontに関しては後述します)

Sleipnirをインストールしてみる


さて、ここからが本番。
果たしてIEのコンポーネントと連携して動いてくれるでしょうか・・・



ここからの作業は未検証アプリのインストールになるため、困難が予想されました。
まずはWin98環境にSleipnir2.47MBCS版を試してみました。
SleipnirのインストーラをCrossOverに設定してインストールしたところ、一応インストール自体は成功します。
しかし、ショートカット?みたいにして作成されたアイコンをクリックしても何の反応もありません。


案の定、一筋縄ではいかないようです。


今度はSleipnir1.66を試してみました。
しかし1.66の場合インストールというよりその場にファイルが展開されるだけなので、bottleの中のWin98/program filesには当然何も作成されていません。
また、ショートカット?アイコンも作成されませんでした。ただ、OSXのデスクトップ上にファイルが展開されただけ・・・


ならばとWinXP環境で同様のことをしてみましたが結果は同じでした。


やはり無理なのかなぁと思いつつ、何気なくデスクトップにあるフォルダに展開されていた1.66の実行ファイルをクリックしてみたところ、なんと!! 見事に起動してくれたではないですか。
もしやと思い、〜/Library/ApplicationSupport/CrossOverディレクトリ以下のbottle内に作成されている仮想OS環境のProgram filesにある2.47の実行ファイルをクリックしたところこちらも起動してくれました。
IEコンポーネントとの連携も完璧でちゃんとブラウジングできました(・∀・)

落とし穴?


ウハウハな気持ちであれこれいじっていたところ、やっぱり不具合が・・・
2.47でメニューバーからドロップダウンメニューにアクセスしようとするとブラウザが無反応になって固まってしまいます。
一般的なショートカットキーで操作できる機能やタブのアクセスなどは問題ないのですが、メニューバーのプルダウンメニューに関してだけはショートカットキーおよびマウスでのアクセスはいずれも使用不可能でした。何か特殊な実装方法なのかもしれません。後述するWMP9でも似たような問題が・・・(ちなみにDonutでは問題ありませんでした)


まぁ、もともと未検証のイレギュラーなアプリを動作させているわけですから多少の不具合は覚悟していましたけどね。
とりあえず必要な機能はオプションから新たにショートカットを割り当ててやれば何とか使い物にはなります。


一方、1.66は快適そのものです。
メニューに関する問題もなく、サクサクとブラウズすることができました。これは2.47とメニューバーの実装方法が異なっているためだと思われます。(BCGコントロールバーのおかげ?)
試してはいませんが1.66同様のメニュー形態をもつLuna助も動きそうでなんかクヤシイ・・・

ほかのブラウザや未検証アプリではどうか?


とりあえずCrossOverにアプリケーションの認識をさせれば、bottleにインストールしなくても動作可能だということがわかったのでいくつかほかのブラウザやアプリも試してみました。
英語リソースが用意されているものだけじゃアレなんで、文字化け覚悟でいくつか試したところ、

  • Donutシリーズは問題なく動作、Qちゃんだけは見事に文字化けしました・・・(笑)
  • KIKIも文字化けしますがちゃんと動作しました。
  • 2ch専用ブラウザIEコンポーネント使用ならレス画面は見ることができますがDoeはダメ・・・ほかの部分は化けるので結局使い物になりません。(気が向いたらXを日本語化して試してみます)
  • 画像閲覧系の代表としてIrfanViewをインストールしてみましたが、問題なく使えるようです。
  • WMPはVersion9をインストールしてみましたがWin98環境のみネットアクセスできました、しかしこれもSleipnir2.47同様問題ありでメニューにアクセスできません。
    Win2000およびWinXP環境ではなぜかネットアクセスできませんでした。メニューにもアクセスできないので設定をいじることすら不可能。




当初、bottle内に構築されているWindowsの仮想環境にはレジストリが存在していないものと思っていました。
眠い目をこすりながらあれこれやっていたので見落としていたようです。レジストリエディタも存在していました。


と、いうことはレジストリを編集してフォントを認識させることができるかも・・・

IEオプション画面で日本語フォントを表示させて使えるようにしてみる


bottleの中にある各Windowsフォルダには中身が空っぽのFontsフォルダが存在しています。
また、レジストリエディタでFontの項目を確認すると拡張子が*.Fonのファイルしか登録されていません。
これではどうやっても日本語フォントをIEで使えるわけがないですね。


フォントファイルの扱いに関してはカナリ微妙なところなのですが、これはあくまで実験的興味に基づくことであるからなどと適当ないいわけをしてみた上でWindowsのインストールされているHDDからIEで使用可能なフォントをいくつかコピーしてきて上記のFontsフォルダに突っ込みます。
あとはそのWindowsフォルダ内にあるレジストリエディタを起動して

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Fonts
(Windows NTキーはなかった)

にアクセスして先ほどFontsフォルダに突っ込んだファイルを登録します。(登録の仕方は割愛:Windowsでレジストリエディタをみながらやるか、ネットで調べればすぐにわかります)


あとはいったんCrossOverを再起動してIE(もしくはIEコンポーネント使用ブラウザ)を起動するとインターネットオプションのFont項目から日本語フォントを選択可能になります。

CrossOverへのアプリのインストール(登録?)の様子


一応画像を用意しました。
CrossOverにブラウザを導入しているところをスクリーンキャプチャしたものです。


デスクトップがとっちらかっていますが気にしないように・・・(・∀・)


  • 左側のペインでWinXPが選択されていますがここはInstallには関係ありません
    Applicationタブから右下にあるInstall Software...をクリック

  • Install Unsupported Softwareをクリック

  • 確認画面が表示されますが、当然Ownrisk(自己責任)なのでContinueをクリック

  • Install into...でOther existing bottleに切り替え、右側のドロップダウンメニューから目的の作成済みbottle(OS)を選択し、Installをクリック

  • Choose Installer File...を選択し、Continueをクリック

  • ファイル選択ダイアログからInstallする実行ファイルを指定して、右下のUse this installerをクリック

  • ファイルのInstallが始まります
    これには結構時間がかかります(WindowsでのInstall作業と再起動をエミュレートしている)
    アプリによってはウインドウが途中で現れたり設定画面が出てくる場合があります。ウインドウだけの場合は閉じないとInstallが進みません。
    Installが完了すると右下のFinishedボタンが有効になりますのでクリック
    設定画面が更新されたらアプリは起動可能になっているはずです。

  • Sleipnir1.66を立ち上げてGoogleの検索を使用したところ

  • こちらはDonut RAPT
    同じIEエンジンのはずなのにインプットエリアがこちらでは長くなってしまっていたためすべて表示されるところまで横幅を広げてみた



ここまででだいたいの流れはつかめると思いますが・・・まだ、よくわかっていない部分もあるので質問には対応できないと思います。
わかる範囲内であれば努力はしますが。




一応、当初の目的はとりあえず果たせました。あとは日本語メニューに対応させたりしてみたいのですが、Developer Kitを持っていないのでX11をいじるのはまだまだ先になりそうです。
それとお約束のSkinの適用も試してみたいですね、たぶん大丈夫だと思いますが。


カンの良い方はすでにお気づきでしょう、っていうかSSをみれば一目瞭然なんですが・・・実はGyaOの視聴が可能かどうかにもトライしています。

GyaOは視ることができるかな


田中俊光さんが自身のブログでも触れられていますが、ワタシの場合も同様でした。
視聴設定はできたのですがブラウザ上でWMP9がうまく動作してくれません。
ローカルのメディアファイルは問題なく再生できるんですが、DRM関係のアップデートをしようとしたところWMP9が落ちてしまいその後は何度やってもうまくいきませんでした・・・
FlashPlayerは最新の9をInstallできたのでブラウザ上で各メニューのイントロ紹介画面は動画で表示されますが、肝心の映像コンテンツにアクセスすると接続を試みようとはするんですがその後ブラウザごと落ちてしまいました。

  • WMP9のInstall自体は問題なかったけど・・・

  • Sleipnir2.47でここまではできた
    後ろのDonut Lは自分の設定ミスらしくFlash部分が表示されていない


WMPがブラウザのアドオンとして働いてくれないのならほかの手段はどうかということになりますが、基本的にDRMのためのアップデートができていない状態ではGyaOでの保護されたコンテンツの視聴は無理でしょうしね。
裏技としてGASなどを使う手もありますが、これはなんか本末転倒のような気がします。
一応、WaoPlayerやGexplorer(.NetFramework2.0はまだInstallを試していない)、あと最近公開されたExGyaOやGHTAなどもOSXに持ってきてはいるんですけど今のところ使いようがないです(笑)


少しクールダウンしてから別なアプローチを試してみようと考えていますが、果たして成功するでしょうか・・・
今後この話題に触れなければ失敗してあきらめたんだなと思ってください。




いつのまにか、かなり長文になってしまいました。もっと書きたい情報もあるのですがところどころ端折っています。



追記:

  • CrossOver Mac 6.0は現在のPublicBetaのうちは無償でダウンロードして試すことができますが、近い将来有償になります。
    なのでお金をかけずに追試を考えておられる方は早めにダウンロードされることをオススメします。

*1:CrossOver Macの導入事例に関しては[http://toshi3.cocolog-nifty.com/blog/2006/09/crossover_mac_6_2.html:title=田中俊光のブログ]を参照。