【コラム】

OS X ハッキング!

82 WindowsアプリをOS Xで!? ~Darwineを試す~

    海上忍  [2004/03/08]

    最近、iPodのバッテリーの持ちが悪くなったような気がする。購入直後は2~3日間隔だったはずの充電が、ここ1ヶ月はほとんど毎日。まだ半年しか使っていないんだけどなあ……などと考えていたところ、英国では国会議員がこの問題を取りあげるなど社会問題化(?)しているらしい。さすがに、そこまでの問題ではないんじゃないかと思うけれど。

    さて、今回は「Darwine」について。察しがいい人はお気付きと思うが、Windowsバイナリの実行環境である「Wine」を「Darwin」とOS Xの上で動かそう、というキメラ的な目標を掲げたプロジェクトだ。まずはWebサイトにアクセスし、Download項からリンクを辿ってバイナリをダウンロードしてほしい。

    Win32バイナリへの遠い道

    Linux上で動作するWineは既にそれなりの完成度に達しているようで、Wine本家に掲載されているアプリケーションの動作報告を鵜呑みにするかぎり、Internet ExplorerやMozillaといったWebブラウザやQuickTime Playerまで動作する模様。日本語の表示や入力にも対応するので、実用的とまでは言えないながらも"それなりに使える"レベルに到達していることは確かだろう。

    一方、OS XでWindowsのバイナリを実行しようとすると、乗り越えねばならない壁がいくつかある。その1つはCPUの違いで、x86の命令をPPCの命令に置き換えるエミュレーションが必須になること。オリジナルのWineにはCPUをエミュレートする機能は実装されていないため、PowerPCプラットフォームであるOS Xでは独自の対策が必要になるのだ。Darwineプロジェクトでは、この問題をQEMUというx86/PPC/SPARC/ARMに対応するCPUエミュレータで解決する予定とのことだが、この原稿を書いている段階では実装は完了していない(約25%の完成度だそうだ)。

    もう1つ、他のPC-UNIXとのバイナリ形式の相違(OS XはMach-O、LinuxはELF)という壁も存在したが、こちらはWinelibにリンクするようWin32アプリをリビルドするという方法で解決している。Darwineに収録されているサンプルのバイナリをfileコマンドで判定してみたところ、すべて「Mach-O bundle ppc」と表示されたので、ソースコードさえ入手できればそれなりの数のアプリケーションが動作するものと推測できる。

    Darwineを試す

    Darwineはpkg形式のバイナリが用意されているので、OS X標準のインストーラ(Installer.app)でインストールできる。対象プラットフォームはMac OS X 10.3(Panther)に限定されるが、設定ファイルのコピーまで自動処理されるので導入は簡単だ。

    パッケージには、/Library/Application Support/Darwineディレクトリ以下に展開されるWindowsの「C:\Windows」に相当するファイル群のほか、Wineを構成するコマンドやヘッダファイルが含まれている。コマンドは/usr/local/binへインストールされるので、Pantherデフォルトの設定でTerminal.appを使用している場合には、~/.bash_profileなどのシェルの初期化ファイルに「export PATH=/usr/local/bin:$PATH」と記述すればOK。そしてX11.appを起動し、xtermから「wine ***.exe」と実行するとDarwine用のアプリケーションを利用できる。

    前述したとおり、Windowsからコピーした(x86の)Win32バイナリは動作しないので、今のところDarwineに付属のバイナリを試すしかない。まずは以下のとおりコマンドを実行し、お約束の(?)マインスイーパを起動してみよう。時間があれば、プログラムマネージャと思しき「progman.exe」やメモ帳の「notepad.exe」を試してもいいだろう。

    $ cd '/Library/Application Support/Darwine/Drives/C/windows/system'
    $ wine winmine.exe

    Darwineの今後

    現段階ではWin32バイナリを実行できないため、実用レベルには遠いと言わざるをえないものの、Virtual PCなどのエミュレータを使わずにWindowsのアプリケーションを利用できる(かも)ということは魅力だ。第一、OSの上にゲストOSをインストールするといった無駄が生じないので、ディスクスペースの節約にもなる。QEMUをうまく取り込めるかどうかかが今後の実装上の課題になると思われるが、最近では開発もアクティブになってきているようなので、今後に期待したいところだ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン