Apple Silicon (M4)
MATLAB R2025a
Remote Desktop
MATLAB R2025aをmacOS Apple Siliconにインストールしようとしてビルドをマウントし、インストーラーをダブルクリックしたのに何も起こらなかった経験ありませんか?私もそうでした。この記事ではこの症状の原因と解決方法をまとめますね。
🔍 症状
InstallForMacOSAppleSilicon.appを実行するとこんなことが起きますよ。
• Activity Monitorにはプロセスが表示されているがUIウィンドウが表示されない
• 再起動しても同じ症状
特にリモートアクセス環境(Screen Sharing、VNC)やダミーディスプレイプラグを使用している場合、この症状がより頻繁に発生するようですよ。
🧩 原因分析
Layer 1: Self-Extracting構造
MATLABインストーラーはself-extracting方式ですよ。 .appを実行すると内部のzipファイル(~1.6GB)を一時ディレクトリ(/var/folders/.../T/installer_<PID>/)に解凍した後、抽出されたバイナリを自動実行する構造です。
Layer 2: Gatekeeper Quarantine伝播
問題はこの過程でmacOS Gatekeeperのquarantine属性(com.apple.provenance)が抽出されたバイナリにも伝播することなんです。インストーラーはQt基盤のUIフレームワークを使用していますが、quarantine制約のためQtフレームワークが正常にロードできないんですよ。
🛠️ 解決方法
核心アイデアはシンプルですよ:抽出されたバイナリをarchivesパスを明示して直接実行すればOKです。
Step 1. DMGマウント確認
ls /Volumes/R2025a_macOSAppleSilicon/
# → InstallForMacOSAppleSilicon.app
Step 2. Self-extractトリガー
インストーラーアプリのバイナリを直接実行して一時フォルダへのファイル抽出を開始しますよ。
/Volumes/R2025a_macOSAppleSilicon/InstallForMacOSAppleSilicon.app/Contents/MacOS/InstallForMacOSAppleSilicon &
1〜3分ほどお待ちくださいね。バックグラウンドで~1.6GBのzip解凍が進行しますよ。
Step 3. 抽出されたフォルダを見つける
# 抽出されたinstallerフォルダを検索
find /var/folders -maxdepth 5 -name "installer_*" -type d 2>/dev/null
# DEST変数に保存(実際のパスに置き換え)
DEST="/var/folders/.../T/installer_XXXX"
# binとarchivesがあれば抽出完了!
ls "$DEST/bin/maca64/MathWorksProductInstaller"
ls "$DEST/archives/"
Step 4. インストーラー直接実行 ⭐
# 既存インストーラープロセスをクリーンアップ
pkill -f MathWorksProductInstaller
# ★ 核心:-archivesオプションでパスを直接指定!
"$DEST/bin/maca64/MathWorksProductInstaller" \
-nocopy \
-archives "$DEST/archives" &
これでインストーラーUIがついに表示されますよ!🎉
-archives オプションなしで MathWorksProductInstallerだけ実行するとarchivesパスが見つからずエラーになるか、同じ症状が繰り返される可能性がありますよ。
⚡ ワンライナー(お急ぎの方専用)
上記の過程を一度に実行するスクリプトですよ。
# 1. self-extract実行
/Volumes/R2025a_macOSAppleSilicon/InstallForMacOSAppleSilicon.app/Contents/MacOS/InstallForMacOSAppleSilicon &
# 2. 抽出完了待ち
while ! find /var/folders -maxdepth 5 -name "MathWorksProductInstaller" \
-type f 2>/dev/null | grep -q .; do
sleep 5; echo "抽出中..."
done
# 3. 検索&実行
DEST=$(find /var/folders -maxdepth 5 -name "installer_*" \
-type d 2>/dev/null | sort -t_ -k2 -n | tail -1)
pkill -f MathWorksProductInstaller 2>/dev/null
"$DEST/bin/maca64/MathWorksProductInstaller" \
-nocopy -archives "$DEST/archives" &
📦 インストール後のTips
インストール完了後、MATLAB初回起動前にquarantine属性を削除すると動作がより安定しますよ。
sudo xattr -cr /Applications/MATLAB_R2025a.app
qt_menu.nib 関連の警告が1つ出るかもしれませんが、無視して大丈夫ですよ。
-archives オプション付きで直接実行すれば解決です!
環境:Mac Mini M4 · macOS · 4Kダミーディスプレイプラグ · Screen Sharingリモート接続