以前よりMac上でWindowsアプリを動かすためParallelsを利用していますが、ライセンスの関係上1台のみにParallelsをインストールしていて、複数ある他のMacではWindowsアプリを動かしたくても動かせずにいました。
ところが、実家に設置しているMac Mini上でどうしてもWindowsアプリを動かす必要が発生し、色々探していたところ「Wine」というものにたどり着きました。この仕組みを使うと、Unixシステム上でWindowsの.exe拡張子ファイルを実行する事が出来るもので、何よりこれはWindows OSを必要とせず無料で利用する事が出来ます。
しかし、基本はLinux OS向けに開発が進められている様でMac OS Xで使うには多少の工夫が必要な様子。あまり時間がなかった為、Mac OS X上でより容易に導入できる方法を探した結果、「MikuInstaller」というWine同様無料のプロジェクトを発見しました。このMikuInstallerは前述のWineを同梱したMac OS X向けのアプリで、Windows用の実行形式ファイルやセットアップファイルをMikuInstallerのアイコンにドラッグ&ドロップするだけで実行してくれます。
早速試してみましたので簡単に説明してみます。
その1: MikuInstaller (.dmgファイル) をダウンロードして開く。
その2: 頻繁に使う事を考慮して、MikuInstallerをアプリケーションフォルダにドラッグ&ドロップしてインストール。
その3: Windowsアプリ (.exeファイル) をアプリケーションフォルダ内のMikuInstallerへドラッグ&ドロップ。初回は少し時間がかかる場合がありますが、しばらくしてWine上で動作するWindowsアプリであればMac OS Xのウィンドウとしてそのアプリケーションが起動して動作します。
と、思ったより簡単に導入でき、小規模なWindowsアプリであれば簡単に動作させる事が出来ます。ただし、現在公開されているMikuInstallerは2008年頃のリリースの為、同梱されているWineも古いバージョンとなっています。さらにWineを使えば全てのWindowsアプリが動作する訳ではない為、アプリによってはエラーが表示されて動作しない事があります。こればかりは仕方が無いかもしれません。
また、コマンドライン上で動作するアプリの場合、少しコツが必要かもしれません。少なくともウチが動作させたいアプリ tssplitter.exe はそのまま単純には動作しませんでした。
色々試した結果、tssplitter.exeは以下の方法で動作させる事が出来ました。
ターミナルを起動して、以下のコマンド。
/Applications/MikuInstaller.app/Contents/Resources/Wine.bundle/Contents/MacOS/wine <Winアプリへのパス/ファイル名.exe>
表示が複数行になっていても実際には1行です。例えば、HDDのルートフォルダにtssplitter.exeが置いてある場合、次の様になります。
/Applications/MikuInstaller.app/Contents/Resources/Wine.bundle/Contents/MacOS/wine /tssplitter.exe
もちろん、Windowsアプリに与えたい引数がある場合はスペースで続けて入力すれば引き渡す事が出来ました。
この事から、MikuInstallerに同梱されているWineの本体は、MikuInstallerのパッケージ内 ‘Contents/Resources/Wine.bundle/Contents/MacOS/wine’ に配置されている事が分かりました。
tssplitter.exeはfriioで録画した .ts ファイルから不要なデータを取り除く為に使おうと思っており、実際に録画したファイルを上述の方法で処理した結果正常に動作しました。今まではMac OS Xへ移植されたtssplitter_liteアプリを使っているのですが頻繁にエラーが発生する為、今後はWindows版のtssplitter.exeをWineで動作させて処理してみようと思います。
参考リンク:
MikuInstaller – sourceforge
WineHQ – Wine project
friio で地デジ録画 – Logon Blog
Friio 白 (デジタルハイビジョンテレビ アダプター 地上デジタル放送専用) – Amazon.co.jp
「Mac: Mac OS X上でWindowsアプリを実行する方法 – Wine / MikuInstaller」への1件のフィードバック