Mac mini M4にHomebrewをインストールするためにXcode Command Line Toolsと画面共有を設定したメモ
Mac mini M4を自宅サーバや開発マシンとして使うため、まずHomebrewをインストールすることにしました。
ただ、Homebrewを入れる前にはXcode Command Line Toolsが必要になります。
最初はSSHだけで完結できると思っていましたが、xcode-select --install はGUI操作が必要になるため、ヘッドレス運用のMac miniでは少しハマりました。
今回は、Mac mini M4にHomebrewをインストールするまでの作業ログとして、Xcode Command Line Tools、画面共有、Remote Managementで試したこと、最終的に成功した手順をまとめます。
- 参考にした記事
- 最初にxcode-select –installを実行する
- 画面をリモートで表示できるようにする
- screensharingdの状態を確認する
- そもそも質問の方向がズレていた
- launchctlによる画面共有だけでは不安定
- xcode-select –installの正体
- Remote Managementも試した
- VNCAlwaysStartOnConsoleを有効化する
- Remote Managementのkickstartで詰まる
- 画面共有とリモートマネジメントの違い
- 最終的に成功した方法
- Xcode Command Line Toolsをインストールする
- ディスプレイをオフにしておく
- Homebrewをインストールする
- HomebrewのPATHを設定する
- Homebrewのインストール確認
- 今回のハマりどころ
- 今回の結論
- まとめ
参考にした記事
Homebrew導入の流れは、以下の記事を参考にしました。
Mac mini M4を買ったら Homebrew を最初にインストールしよう! : 長年のWindows・Linuxユーザーが語るMac mini M4 その2
大きな流れは以下です。
- Xcode Command Line Toolsをインストールする
- Homebrewをインストールする
- HomebrewのPATHを設定する
最初にxcode-select –installを実行する
まず、Mac miniにSSH接続した状態で、以下を実行しました。
xcode-select --install
すると、以下のように表示されました。
xcode-select: note: install requested for command line developer tools
ここで分かったのは、xcode-select --install は完全なCLIインストールではなく、GUI側での操作が必要になるということです。
Mac miniをヘッドレス運用している場合、ここで画面操作が必要になります。
画面をリモートで表示できるようにする
Mac miniに毎回モニターやキーボードをつなぐのは面倒です。
そこで、リモートから画面を操作できないか試しました。
まず、SSHから以下を実行して、画面を起こします。
caffeinate -u -t 1
次に、画面共有サービスを起動しようとしました。
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
その後、以下のようにVNC接続を試しました。
vnc://macmini
しかし、ターミナル上では以下のようになりました。
zsh: no such file or directory: vnc://macmini
vnc://... はシェルで実行するコマンドではなく、Finderや画面共有アプリ、ブラウザのアドレス欄などから開く形式です。
screensharingdの状態を確認する
画面共有サービスが起動しているか確認しました。
sudo launchctl list | grep screen
結果は以下です。
19668 0 com.apple.screensharing
この状態から分かったことは、以下です。
launchctl load自体は成功しているscreensharingdは常駐している- ただし、接続方法または権限設定で詰まっている可能性がある
そもそも質問の方向がズレていた
ここで一度整理しました。
最初に調べていたのは「リモートログインする方法」でした。
しかし、本当にやりたかったのは「Xcode Command Line Toolsをインストールする方法」です。
xcode-select --install はGUIインストーラや管理者認証が絡むため、単にSSHや画面共有プロセスを起動するだけでは不安定になる可能性があります。
launchctlによる画面共有だけでは不安定
launchctl で画面共有を起動した場合でも、条件がそろえば xcode-select --install を進められることがあります。
ただし、再現性は低く、初期構築ではあまりおすすめできません。
| 状況 | 可否 |
|---|---|
| すでにユーザーがログインしている | できることが多い |
| ログイン前の画面 | 難しい |
| GUIの承認ダイアログが出る | 見えない、または操作できないことがある |
| サーバ初期構築 | 非推奨 |
これはセキュリティでブロックされるというより、GUIセッションの扱いで詰まりやすい問題です。
xcode-select –installの正体
xcode-select --install は、単なるCLIコマンドのように見えます。
しかし実際には、以下のような処理が絡みます。
- GUIインストーラの起動
- 管理者認証ダイアログ
- 利用規約への同意
- Apple Software Updateとの連携
そのため、完全なSSHだけで完結しない場面があります。
Remote Managementも試した
より確実にコンソール画面へ接続できるように、Remote Managementも試しました。
以下のコマンドでARDAgentを有効化しました。
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -activate -configure -access -on \ -users snowpool -privs -all -restart -agent
実行結果は以下です。
Starting... Screen recording might be disabled. Screen Sharing or Remote Management must be enabled from System Settings or via MDM. Screen control might be disabled. Screen Sharing or Remote Management must be enabled from System Settings or via MDM. Activated Remote Management. Stopped ARD Agent. snowpool: Set user remote control privileges. snowpool: Set user remote access. Done.
ARDAgent自体は有効化されています。
ただし、macOSの新しいセキュリティ設定により、画面収録や画面操作の許可が未設定であることを示す警告が出ています。
VNCAlwaysStartOnConsoleを有効化する
次に、VNC接続が常に物理コンソールに結びつくように設定しました。
sudo defaults write /Library/Preferences/com.apple.RemoteManagement \ VNCAlwaysStartOnConsole -bool true
設定を確認します。
sudo defaults read /Library/Preferences/com.apple.RemoteManagement VNCAlwaysStartOnConsole
結果は以下です。
1
1 は true を意味します。
つまり、VNC接続を常にコンソール画面に結び付ける設定です。
- 物理画面と同じ画面に接続する
- ログイン前や再起動直後でも画面共有しやすくなる
- ヘッドレス運用でもログイン画面を扱いやすくなる
Remote Managementのkickstartで詰まる
しかし、この状態でもまだ接続できませんでした。
状態としては、ARDAgentは有効になっているものの、macOS側の共有サービスのスイッチがOFFのままのようでした。
SSH経由でRemote Managementを明示的に起動しようとしました。
sudo launchctl kickstart -k system/com.apple.RemoteManagement
結果は以下です。
Password: Could not find service "com.apple.RemoteManagement" in domain for system
この方法ではうまくいかなかったため、Remote Managementまわりの設定は一度戻すことにしました。
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -deactivate -stop
画面共有とリモートマネジメントの違い
ここで、画面共有とリモートマネジメントの違いを整理しました。
| 機能 | 主な用途 | 特徴 |
|---|---|---|
| 画面共有 | 個人利用・一時的なサポート | シンプルで使いやすい。相手の画面をそのまま見て操作する。VNC規格ベース。 |
| リモートマネジメント | 組織・IT管理者向け | Apple Remote Desktopと組み合わせて使う高度な管理機能。ソフト配布、レポート作成、コマンド一括実行などに向く。 |
MacBook AirからMac miniを操作してXcode Command Line Toolsをインストールするだけなら、基本的には画面共有で十分です。
最終的に成功した方法
最終的には、Mac mini側で通常の画面共有を有効化し、MacBook Airから接続する方法にしました。
Mac mini側の設定
Mac mini側で以下を開きます。
Appleメニュー > システム設定 > 一般 > 共有
そこで、以下を有効にします。
画面共有
右側の i アイコンをクリックして、アクセスを許可するユーザーも確認しておきます。
MacBook Air側から接続する
MacBook Air側で「画面共有」アプリを起動します。
そのまま接続しようとしても繋がらなかったため、Mac mini側でAppleアカウントにログインしました。
その後、ネットワークからMac miniを選択し、ユーザー名とパスワードを入力すると、簡単に接続できました。
今回の場合、下手にVNCやRemote Managementを試すより、通常の画面共有を有効化した方が早かったです。
Xcode Command Line Toolsをインストールする
画面共有でMac miniを操作できるようになったら、ターミナルで以下を実行します。
xcode-select --install
今回は途中でキーボードを接続する機会があったため、そのタイミングでGUI操作を行い、Xcode Command Line Toolsをインストールしました。
ヘッドレス運用でも、初期構築時だけはモニター・キーボード・マウスを接続した方が早い場合があります。
ディスプレイをオフにしておく
作業後、SSH接続から以下を実行して、Mac miniの画面をオフにしておきました。
pmset displaysleepnow
その後、画面共有で再度接続して操作すると、画面オフは解除されました。
Homebrewをインストールする
Xcode Command Line Toolsのインストール後、Homebrewをインストールします。
以下のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール後、以下のような案内が表示されました。
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
https://github.com/Homebrew/brew#donations
==> Next steps:
- Run these commands in your terminal to add Homebrew to your PATH:
echo >> /Users/snowpool/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/snowpool/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
https://docs.brew.sh
これは、Homebrewのインストール自体は正常に完了しており、次にPATHを通す必要があるという案内です。
HomebrewのPATHを設定する
案内に従って、以下を実行します。
echo >> ~/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"
これで、現在のシェルと今後のログインシェルで brew コマンドが使えるようになります。
Homebrewのインストール確認
最後に、Homebrewのバージョンを確認します。
brew --version
以下のように表示されました。
Homebrew 5.0.8
これでHomebrewのインストールは完了です。
今回のハマりどころ
xcode-select –installはGUI操作が必要
xcode-select --install はCLIコマンドですが、実際にはGUIインストーラが起動します。
そのため、SSHだけで完全に完結するとは限りません。
画面共有はAppleアカウントログイン後の方が安定した
Mac mini側でAppleアカウントにログインした後、MacBook Airからネットワーク経由でMac miniを選択すると、画面共有で接続できました。
初期設定段階では、この方法が一番簡単でした。
Remote Managementは今回の用途では不要だった
ARDAgentやRemote Managementも試しましたが、Xcode Command Line Toolsを入れるだけなら過剰でした。
個人利用でMacBook AirからMac miniを操作する程度なら、通常の画面共有で十分です。
初期構築ではモニター・キーボード・マウスをつないだ方が早い場合がある
ヘッドレス運用を目指していても、初期構築ではGUI認証やAppleアカウントログインが必要になる場面があります。
特にXcode Command Line Toolsや画面共有の初期設定では、物理キーボードやモニターがある方が結果的に早いことがあります。
今回の結論
Mac mini M4へHomebrewを入れる場合、先にXcode Command Line Toolsを入れる必要があります。
ただし、xcode-select --install はGUI操作が絡むため、完全なSSH作業だけで進めようとするとハマりやすいです。
今回の結論は以下です。
- Homebrewの前にXcode Command Line Toolsが必要
xcode-select --installはGUI操作が必要になる- 個人利用ならRemote Managementより画面共有で十分
- Mac mini側でAppleアカウントログイン後、画面共有が安定した
- 初期構築時だけはキーボード・マウス・モニターをつないだ方が早い場合がある
最終的には、画面共有または物理キーボード接続でXcode Command Line Toolsを入れ、その後Homebrewを通常通りインストールできました。
まとめ
Mac mini M4を自宅サーバや開発マシンとして使う場合、Homebrewは最初に入れておきたいツールです。
しかし、Homebrewの前提となるXcode Command Line Toolsのインストールでは、GUI操作が必要になるため、ヘッドレス運用では少し注意が必要です。
今回、VNCやRemote Managementも試しましたが、最終的にはmacOS標準の画面共有を使うのが一番シンプルでした。
Homebrewのインストール後は、PATH設定を行い、brew --version でバージョンが表示されれば完了です。

コメント