リビングのMacBookから自室のMac miniを開発用マシンとして使えるようにするまで
1. はじめに
最近、家族で共用で使うためにMacBook Air(M3)を新しく購入しました。
それはそれとして、数年前にDTM用に購入したMac mini(Intel)が手元にあり、性能的にもまだまだ現役なので、
「このMac miniを開発のメインとしてリビングからリモートで使えたらいいな」と思い立ったのが、今回の環境構築のきっかけです。
というのも、Mac miniは自室(リモートワークなどで使う部屋)に設置していて、リビング(くつろぎスペース)からはちょっと離れています。
今回、「MacBook AirからMac miniをリモートで操作して、快適に趣味の開発できるようにする」という目標を立てて、
Remote SSHや画面共有の設定などを、ひとつずつ整えていきました。
2. 環境の整理と目的
まずは、今回の構成をざっくり整理しておきます。
-
Mac mini(Intel)
DTM用として購入して以前から使っていたマシン。
今後はこちらに開発ツールやファイルを集約し、メインマシンとして活用していきたいです。 -
MacBook Air(M3)
最近導入したばかりのノート。(家族で共用)
リビングでの作業用として、なるべく軽快に使いたいです。
つまり「処理はMac mini、操作はMacBook Air」という分業を実現するために、
次のようなことができるようになりたいです。
やりたかったこと
- Mac miniにVS Codeなどの開発環境を構築
- MacBook AirからRemote SSHでMac miniに接続して開発できるようにする
- Mac miniの画面共有も使えるようにして、UI操作が必要なときも対応できるようにする
- Mac miniがスリープしないように制御し、常に安定して接続できる状態を保つ
上記の構成は多分シンプルなもので、これまでに仕事でも導入されていることもありましたが、
誰かが用意した環境に乗っていただけで、何がどうなっているのかよくわからずに使っていました。
今回は、ひとつひとつ試行錯誤しながら設定を進めることで、理解を深めることも目的としました。
開発用のエディタとして、Remote SSHとの親和性が高く、導入も簡単な VS Code を採用しました。
名前の印象からは前職で使っていた Visual Studio の簡易版のようなものかと思っていましたが、
調べてみると設計思想も用途もまったく異なっていました。
クロスプラットフォームで拡張性にも優れており、リモート開発を柔軟に構成できる点が今後の開発に合っていると感じます。
3. Step 1:Mac miniの準備
まずは、Mac mini側の準備から始めます。
今回の構成ではMac miniがメインマシンとなるため、必要なツールや設定を一通り整えていきます。
🛠 開発環境の基本セットアップ
Mac miniには、開発用に以下のようなツールを導入しました。
- Homebrew(Macのパッケージマネージャー)
- Python(簡単なテストコードの作成用)
- Visual Studio Code(開発用エディタ / 以下、VS Code)
これまで仕事以外で何かプログラミングや開発をしたいと思ったことがなかったので、
丸ごと一から導入することとなりました。
インストールは基本的にターミナルから実行します。
Homebrew が入っていれば、あとの導入もかなりスムーズです。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
導入後は brew コマンドで各種ツールを入れていけます。
🔐 リモートログイン(SSH)の有効化
次に、Mac miniにリモートで接続できるようにするために、SSH接続を許可します。
「システム設定 > 共有」から
**「リモートログイン」**をONにして、自分のユーザー名がチェックされていることを確認すればOKです。
🌙 スリープ対策
考えてみれば当たり前ですが、SSHの設定を終えても、Mac mini がスリープ状態では接続できません。
僕も最初はこの点に気づかず、「なぜ接続できないのかな?」と一瞬悩みました。
この問題の対策として導入したのが、Amphetamine という無料アプリです。
- スリープを防止して、Mac mini を常にオンラインに保てる
- メニューバーから簡単にオン・オフの切り替えが可能
- 「充電中だけ有効」など、細かい条件指定も可能
今回は、作業中にスリープしないよう「Indefinitely(無期限)」の設定で使用しています。
毎度自室にMac miniの電源を入れに行くのも面倒ですしね。
この設定をしておくことで、MacBook Airから安定してMac miniにアクセスできるようになりました。
4. Step 2: MacBook Air 側の設定
Mac mini の準備が整ったら、次はリモート操作を行う MacBook Air 側の設定に進みます。
ここでは、VS Code の Remote SSH 機能を使って Mac mini に接続できるようにしていきます。
🧱 VS Code のインストール
まずは MacBook Air 側に VS Code をインストールします。
公式サイトからダウンロードして、通常どおりアプリケーションフォルダに移動すれば完了です。
次に、VS Code を起動して Remote SSH 拡張を追加します。
画面左の拡張機能タブから Remote - SSH
と検索し、インストールしましょう。
🛠 SSH 接続の準備
Mac mini への接続情報を .ssh/config
ファイルに登録します。
これは、ターミナルで SSH 接続先を手早く指定するための設定ファイルです。
ターミナルを開き、以下のように入力して .ssh/config
を編集します:
nano ~/.ssh/config
※上記はSSH接続の設定ファイルを開くコマンドです。
以下のような内容を追加します:
Host macmini-dev
HostName 192.168.x.x # Mac mini の IP アドレス
User your_user_name # Mac mini 側のユーザー名
IdentityFile ~/.ssh/id_rsa # SSH 鍵のパス
ここでは接続先のホスト名をmacmini-devとしておきました。
※ IP アドレスは Mac mini 側の「システム設定 > ネットワーク」から確認できます。
ctrl + o
→ enter
→ ctrl + x
で保存して終了します。
🔑 SSH 鍵認証の設定(必要に応じて)
パスワード入力を省略したいので、MacBook Air 側から Mac mini 側に公開鍵をコピーしてみました。
ssh-copy-id macmini-dev
これで、以降はパスワードなしで SSH 接続できるようになります。
🚀 Remote SSH 接続の確認
VS Code のコマンドパレット(Cmd + Shift + P
)を開き、「Remote-SSH: Connect to Host...」を選び、macmini-dev
を選択します。
無事に接続できれば、VS Code 上に Mac mini のファイルシステムが表示され、リモートでの開発が可能になります。
次は、とりあえず Hello World を出力してみます。
5. Step 3:Hello World で接続確認
ここまでで Remote SSH の設定が完了しました。
MacBook Air から Mac mini に接続できる状態になったことを確認するため、まずはシンプルな「Hello World」スクリプトをMacBook Airより実行してみましょう。
とりあえずPythonでやってみることにします。
🐍 Python ファイルの作成
MacBook AirのVS Code のターミナルを開き、以下のコマンドを入力します:
echo 'print("Hello from Mac mini!")' > hello.py
このコマンドは、hello.py というファイルに Python の print 文を書き込むものです。
ファイルが存在しない場合は新たに作成され、既にある場合は上書きされるというものですね。
▶️ スクリプトの実行
続けて、以下のコマンドを入力して Python スクリプトを実行します:
python3 hello.py
✅ 実行結果として、次のような出力が表示されれば成功です:
Hello from Mac mini!
このように、Mac mini 上でスクリプトが正常に動作していれば、Remote SSH による接続と操作ができていることが確認できます。
6. おわりに:やってみて分かったこと
Remote SSH や VS Code の設定はとっつきにくく感じていましたが、やること自体は決して難しくありませんでした。
順を追って手を動かすうちに、少しずつ全体像も見えてきました。
今回は ChatGPT に相談しながら進めましたが、状況をうまく伝えれば驚くほど丁寧に答えてくれて、思った以上にスムーズに構築できました。
こういう相談とは相性がいいのかもしれません。
小さなつまずきや思わぬ落とし穴も含めて、自分の手で環境を組むプロセスには、発見と学びがたくさんありました。
なにより、趣味の開発を始めるときに環境が整っているだけで、手を動かすハードルがぐっと下がります。
今回の構成はまだ最低限のものですが、今後少しずつ手を加えながら、より良い環境を作っていけたらと思います。
Discussion