Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでMacアプリを実行する2つの方法|VirtualBox仮想マシンとDarlingの使い方

LinuxでMacアプリを実行する2つの方法|VirtualBox仮想マシンとDarlingの使い方

macOSとLinuxは共通のルーツを持つOSです。しかし、だからといってアプリケーションが両OS間でそのまま動作するわけではありません。LinuxでMacアプリを実行するには、仮想マシンまたは翻訳レイヤーのいずれかが必要になります。

macOS仮想マシンを利用する(すべてのアプリに対応)

LinuxでMacアプリを実行する最も確実な方法は、仮想マシンを使うことです。VirtualBoxのような無料のオープンソースハイパーバイザーを利用すれば、Linuxマシン上の仮想環境でmacOSを動かせます。正しくセットアップされた仮想macOS環境であれば、すべてのmacOSアプリを問題なく実行できます。

LinuxでMacアプリを実行する2つの方法|VirtualBox仮想マシンとDarlingの使い方

ただし、デスクトップOSを丸ごと仮想化するには大量のRAMが必要です。そのため、メモリやCPUリソースが限られたマシンでは快適に動作しない可能性があります。十分なスペックを備えたマシンをお持ちなら、VirtualBoxでの仮想化がベストな選択肢となるでしょう。

Darling翻訳レイヤーを使用する(CLIのみ)

もう一つの選択肢が、「Darling」という翻訳レイヤーです。Windows向けのWINEがWindowsアプリをLinux上で動かすための翻訳環境を提供するように、DarlingはmacOSとLinuxの間で同じ役割を果たします。macOSとLinuxはどちらもUNIX系の基盤を共有しているため、DarlingはWINEよりも軽量で、より多くのケースで良好な結果をもたらします。

ただし現時点では、Darlingが動作するのは非常にシンプルなGUIアプリと一部のコマンドラインアプリのみです。GUIアプリのサポートはプロジェクトの目標の一つですが、まだ実装には至っていません。現状では、ターミナル上でmacOSのシェルを安定して実行できるのが確実なところで、それ以外のアプリが正常に動作するかはケースバイケースです。

さらに、Darlingは膨大な量のコードを含んでおり、ビルド後には約12GBのディスク容量を必要とします。これは本質的にmacOSの機能を再現しているためです。外部から取得した実行ファイルによるシステムへの影響が気になる場合は、この規模のパッケージの導入を控えたほうが無難かもしれません。

Darlingのビルドとインストール

1. まず、Darlingのインストールページの手順に従い、お使いのLinuxディストリビューション用の依存パッケージをダウンロードします。ディストリビューションによっては、かなり長いコマンドを実行する必要があります。

例えばUbuntuの場合、以下のターミナルコマンドでDarlingの依存関係をまとめてインストールできます。

sudo apt-get install cmake clang bison flex xz-utils libfuse-dev libudev-dev pkg-config libc6-dev:i386 linux-headers-generic gcc-multilib libcap2-bin libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev libfreetype6-dev:i386 git libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev

2. 次に、DarlingのGitリポジトリをローカルマシンにクローンします。

git clone --recursive https://github.com/darlinghq/darling.git
LinuxでMacアプリを実行する2つの方法|VirtualBox仮想マシンとDarlingの使い方

3. クローンしたDarlingディレクトリに移動します。

cd darling

4. ビルド用のディレクトリを作成し、そこへ移動します。

mkdir build && cd build

5. cmakeでビルド設定を行います。

cmake ..

6. Darlingをビルドします。

make

ビルドには、マシンのスペックによっては1時間以上かかることもあります。

7. Darlingをインストールします。

sudo make install

8. カーネルモジュール「darling_mach」をビルドします。

make lkm

9. darling_machをインストールします。

sudo make lkm_install

DarlingでmacOSアプリを実行する

Darlingのサブシステムにアクセスするには、darling shellコマンドを実行します。これにより、macOSのシェル環境が起動します。

darling shell
LinuxでMacアプリを実行する2つの方法|VirtualBox仮想マシンとDarlingの使い方

Darlingシェルに入ると、あたかもmacOS上で操作しているかのようにコマンドを実行できます。プログラムのインストール作業は、すべてこのDarlingシェル内で行う必要があります。Darlingに接続せずにコマンドを実行しても、正しく機能しません。

macOSアプリを実際に動かしてみるには、まず対象のファイルをダウンロードしましょう。Linuxマシン上に.dmgファイルまたは.pkgファイルを用意してください。Mac App Storeのアプリを試したい場合は、.appファイルをLinuxマシンの「/Applications/」フォルダにコピーし、Darlingのシェルコマンドから起動します。

DMGファイルからインストールする

.dmgファイルからアプリをインストールするには、Darling内でhdiutilコマンドを使ってイメージをマウントします。

hdiutil attach AppName.dmg

続いて、アプリケーションをローカルストレージにコピーします。

cp -r /Volumes/AppName/AppName.app /Applications/

最後に、Darling経由でアプリを起動します。

/Applications/AppName.app

PKGファイルからインストールする

.pkgファイルからアプリをインストールする場合は、Darling内でinstallerコマンドを使用します。

installer -pkg foo.pkg -target /

Darling独自の機能として、.pkg形式のパッケージは付属のuninstallerコマンドでアンインストールすることも可能です。

インストールが完了したら、次のようにDarling経由でアプリを実行します。

/Applications/AppName.app

まとめ

Darlingはコマンドラインツールとの相性が非常に良く、将来的にはGUIアプリケーションのサポートも実現することが期待されています。すべてのMacアプリを手軽に動かしたいなら仮想マシン、軽量なCLI環境で試したいならDarlingと、用途に応じて使い分けるのがおすすめです。


  1. WSLでWindows 10・11上にLinux環境を構築する方法|インストールからGUIアプリ起動まで

    はじめに筆者はOS関連の学習でWSL(Windows Subsystem for Linux)を長年利用しています。仮想マシンの構築やデュアルブートといった複雑な準備なしに、Windows上で直接Linuxコマンドを実行できる手軽さが大きな魅力です。この記事を読み終える頃には、WindowsからそのままLinuxコマンドを実行できるようになっているはずです。Windows上でLinuxコマンドを実行している様子前提条件WSLを快適に運用するには、Windows 11へのアップグレードをおすすめします。Windows 10でもWSLは利用できますが、筆者の経験上、Windows 11の方がはるか

  2. MacでWindowsを使う方法|Parallels・Boot Campなど5つの手段を徹底比較

    Macは安全性と快適な操作性で知られています。しかし、「Windows専用のソフトウェアを使いたいから」という理由で、Windowsからの乗り換えをためらっている方も多いのではないでしょうか。 実は、その心配は不要です。仮想マシン(Virtual Machine)などの仕組みを活用すれば、1台のMac上でmacOSとWindowsの両方を利用することができます。再起動なしにOSを切り替えられる方法もあれば、ネイティブ性能でWindowsを動かせる方法もあります。 この記事では、MacでWindowsを実行する代表的な5つの方法(Parallels Desktop、VMware Fusion、B