SonomaのWineを使ってWindowsアプリを動かす

非対応品を使う

以前使用したIPカメラの設定アプリがWindows版でした。なのでネットワーク設定のためにWindowsを起動する必要があります。いつもはMacしか使わないので面倒です。そこでmacOS SonomaにWineをインストールして、WindowsアプリをMacから使用できるようにしました。インテル版、Apple Silicon版のどちらのMacでも同様に動作しました。

Wine設定のまとめ

少し試行錯誤したので、まずは結論をまとめておきます。

macOS SonomaでWindowsアプリを動作させるために、Wineをインストールしました。インテルMacとApple Silicon Macの両方で試しましたが、同様に動作しました。

WineをmacOSにインストールする方法はいくつかあるようですが、結局はbrewを使って、Wine Crossoverというバージョンをインストールしました。brewは、macOSのaptコマンドのようなものなので、インストールしておいて損はないです。brewがインストールされたMacのターミナルから、

% brew tap homebrew/cask-versions
% brew install --cask --no-quarantine gcenx/wine/wine-crossover

と入力します。(最初のbrew tapコマンドは実行しなくてもインストールできましたの不要かもしれません)インストール終了すると、

🍺 wine-crossover was successfully installed!

と表示されます。これでWineコマンドが使用可能になってます。動作確認のために、シンプルなWindows時計アプリをダウンロードしました。配布サイトからexeファイルをダウンロードするとインストーラが動き、ClockX.exeというファイルを任意の場所にインストールできます。これをWineから、

% wine ClocX.exe

として起動させると、(必要ならばClockX.exeへのパス名を追記)以下のように表示されました。

Windowsが必要なデバイス

以前に紹介した安価なIPカメラでは、

ネットワークの設定などにWindows版の設定アプリが必須でした。

PoE IPカメラ (2,059円) をHomeKitから使う
Ethernetに接続する安価な有線IPカメラを、Raspberry Pi4にインストールしたFFmpegとHomebridgeを使って、HomeKitに接続しました。Power over Ethernet接続の機種を選べば、カメラへの配線...

この機種以外に、同じ設定アプリを使っているIPカメラ製品がいくつかありました。Tuyaエコシステムのように、設定ソフトとチップを提供している大元のメーカーがあるのかもしれません。

いつもはMacしか使わないので、この設定のためにWindowsマシンを用意することが面倒です。Web UIなどを提供してくれれば良いのですが、おそらく昔からある設定ソフトを使い続けているのかと思います。そこでMacでWindowsアプリを使えるようにしたいと思いました。macOSでWindowsを使うためには、Bootcampを使うとか、Parallelsのような仮想環境を使う方法があります。今回は、特定のアプリを使えるようにするのが目的なので、Wineを使うことにしました。

Wineのインストール

Wineは、Windows APIをUnix系OSのAPIに変換するツールです。Linux版が主流ですが、macOS版もあります。Windows環境全体を使用したい場合は、仮想機械を使ってOS全体をインストールすることになります。でも、Windowsの中の一つのアプリだけを動かしたいという、今回のような用途にはWineが最適です。

早速、本家のホームページに行き、

WineHQ - Run Windows applications on Linux, BSD, Solaris and macOS
Open Source Software for running Windows applications on other operating systems.

macOS版をbrewを使ってインストールしたのですが、動作を試みると

zsh: bad CPU type in executable: wine

というエラーが出て起動しません。落ち着いて調べたところ、元々のWineは、ウィンドウシステム(X11)周りを含めて32bitコードに依存しているので、64bitに完全移行してしまった最近のmacOSでは動作しないらしいです。そこで、Wine Crossoverという派生バージョンが作られていて、これなら64bit macOSでも動作するとのことです。Wine Crossoverは、64bit OSで32bitバイナリを動かすツールを使って、Wineのコードが動作するようコンパイルさているそうです。

Wine Crossoverをインストールするには、最初の章で紹介したように、brewがインストールされたMacのターミナルから、

% brew install --cask --no-quarantine gcenx/wine/wine-crossover

と入力します。インストール終了すると、

🍺 wine-crossover was successfully installed!

と表示されます。

Wineの動作確認

これでwineコマンドが使用可能になってます。バージョンを確認しました。

% wine --version
wine-8.0.1 (CrossOver FOSS 23.0.1)

Wine 8.0.1がインストールされたようです。Wineの公式サイトによると、現時点での最新安定版です。アプリケーションフォルダには、Wine Crossover.appというアプリが現れます。

動作確認のために、シンプルなWindows時計アプリをダウンロードしました。ClocX160.exeというファイルがダウンロードされました。

拡張子がWine Crossover.appに結びつけてあれば、これをダブルクリックすることでインストーラが動作します。もしくは、ターミナルから、

% wine ClocX160.exe

として起動させることもできます。この結果、言語設定ウィンドウが表示されました。

Englishを選んでインストールすると、時計が動作しました。

アプリのインストール先に選んだ場所には、ClocX.exeというファイルができました。これをダブルクリックしても、時計アプリが動作します。

これもターミナルからwineコマンドで起動することもできます。ということで、macOSアプリを起動するのと同じく、ファインダーからのダブルクリックでWindowsアプリを起動できました。

日本語フォントを入れる

このままのWineには日本語フォントが入っていません。英語のソフトしか動かさないので、関係ないと思っていたのですが、標準的なダイアログパネルでなぜか表示が日本語になる時があり、文字化けする場合がありました。なので一応、日本語フォントを入れておきます。

例えば、前述のClocX.exeで、インストーラで言語を日本語に設定すると次のように文字化け表示になります。

このためには、Wineをサポートするプログラムwinetricksをbrewでインストールし、wintricksを使って日本語フォントをインストールします。ターミナルで、以下のように入力します。

% brew install winetricks
% winetricks fakejapanese_ipamona

これで文字化けが大体解消しました。

その他の設定

ターミナルから

% winecfg

というアプリを起動すると、Wine動作の設定が可能です。ちなみに、このウィンドウは、日本語フォントを導入しなくても文字化けしませんでした。とりあえずWindowsアプリが使えれば良いという状態なので、細かい設定はしていません。ただ、アプリやファイルを保存する場所を毎回指定する手間が面倒だったので、Wine関係の作業場所をDドライブに割り当てました。パス指定は、フルパスで指定しないと動作しないようでした。

Cドライブは変更できませんでした。また、デフォルトでZドライブに/が割り当てられていますが、これを削除するとWineが動作しなくなりました。要注意です。

IPカメラ設定アプリを使う

いよいよ目的のIPカメラ設定アプリをWineで動作させます。

IPカメラに付属の取説によると、http://ftp.heanworld.com/VMS.rar というURLで設定アプリを取得できるとのことです。この結果、VMS.rarというファイルを入手できました。Macでrarを解凍するにはこちらのツールを使用しました。解凍すると、General_VMS_Win32_Beta_V2.1.1.1.T.20210911.exe という長い名前のファイルが現れました。これが設定アプリのインストーラーです。これを実行し、言語を英語に設定し、ダイアログに従って進めると、インストールが終了しました。

インストール先には、VMS.exeというファイルが出来ていました。

これをダブルクリックすれば、目的のIPカメラ設定アプリが起動します。

これで、IPカメラのアカウント名、パスワード、IPアドレス、NTP設定、タイムゾーンなどが、macOSから設定可能になりました。

まとめ

設定アプリがWindows版のIPカメラを、Macで設定するために、macOS SonomaにWineをインストールしました。これでWindowsアプリをMacから使用できるようになりました。インテル版、Apple Silicon版のどちらのMacでも、同様の手順で動作しました。

コメント

タイトルとURLをコピーしました