Windows(WSL2)でMacOSXを動かす
目的
- WindowsからOSXのエミュレーションを行う
- WindowsからOSXを使った開発環境を整える
環境
- Windows11 (22000.1098)
(参考サイトにYou must have Windows 11 installed with build 22000+ (21H2 or higher).
との記述あり)
手順
OSXのセットアップ
- WSL2をインストール
- 参考:WindowsでLinux(WSL2)+Docker+VSCodeでの開発環境を構築の「WSL2インストール」「WSL2セットアップ」参照
- .wslconfigファイルを作成
C:/Users/<Your_Name>
に.wslconfig
というファイルを作成.wslconfig
に下記の内容を追加して保存[wsl2]
nestedVirtualization=true
- Windows Subsystem for Linux Previewをインストール
- 下記リンク(Microsoft Store)から入手
https://aka.ms/wslstorepage
- 下記リンク(Microsoft Store)から入手
- WSL2のUbuntuを起動
- もしすでに起動していたら、Powershellで
wsl --shutdown
の後、再度Ubuntuを起動する
- もしすでに起動していたら、Powershellで
- Dockerをインストール
- 参考:WindowsでLinux(WSL2)+Docker+VSCodeでの開発環境を構築の「Dockerインストール」参照
- 下記コマンドを実行
docker run -it \
--device /dev/kvm \
-p 50922:10022 \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=${DISPLAY:-:0.0}" \
sickcodes/docker-osx:auto- dockerイメージのタグ
auto
の部分をOSXバージョンに変更することができる(ただし、インストール作業が必要)big-sur
、monterey
等、2022/10現在でlatest
はCatalina- その他、設定可能なタグはこちら:https://github.com/sickcodes/Docker-OSX
- montereyなどOSを指定した場合のインストール手順はこちら:docker-osxのマニュアルインストール手順
- dockerイメージのタグ
- QEMUが起動し下記の画面が表示される
開発環境
- 前節7.の画面が表示されている状態で、VSCodeのWSLウインドウを開き、VSCodeのターミナルで作業する想定
- 参考:WindowsでLinux(WSL2)+Docker+VSCodeでの開発環境を構築「VSCodeの準備と動作確認」を参照
- マウントしたいフォルダをVSCodeで開いておいて、VSCodeでターミナルを二つ開き、ssh接続とファイルマウントをそれぞれで実行するとやりやすい
ssh接続
- VSCodeのターミナルで下記コマンドを実行
$ ssh user@localhost -p 50922
- 初回実行時は、
Are you sure you want to continue connecting (yes/no/[fingerprint])?
と聞かれるのでyes
を入力 Password
はデフォルトでalpine
- 初回実行時は、
user@users-iMac-Pro ~ %
と表示されることを確認- Macにログインした状態でVSCodeのターミナルからGUI関連の処理も実行できる
例)% open -a Safari
を実行すると、前節7.の画面でSafariが立ち上がる
- Macにログインした状態でVSCodeのターミナルからGUI関連の処理も実行できる
ファイルマウント
- 下記のコマンドを実行し、
sshfs
をインストール$ sudo apt update
$ sudo apt install sshfs
- 下記のコマンドでマウントを実行
$ sshfs user@localhost:/ -p 50922 <path-on-WSL>
<path-on-WSL>
にWSLのパスを設定する
ディスカッション
コメント一覧
まだ、コメントがありません