【Windows 派向け】 Mac を併用するときの設定メモ

# やりたいこと
育ってきた環境の影響で生粋の Windows 派の自分、開発も WSL やコンテナを駆使して Windows 上で完結するようにしてきましたが、 iOS アプリなど Apple 製品向けの開発を行うには Mac が必須になります。
Mac 派に乗り換えるには Windows と過ごしてきた時間が長すぎる…。とはいえ用途別にハードを使い分けるのはあまりにめんどくさい…。 Mac に Windows 入れられるらしいと聞いたけど、メインはやっぱり Windows のままがいい…。というわけで、 Windows 上から Mac を使えるように、かつ操作性もそこまで変わらないように環境を整えます。
正直大したことはやっていませんが、自分用の備忘メモも兼ねて。
もし同じ境遇の方がいらっしゃいましたら、ぜひオススメの設定など教えてください…！

# Windows から Mac へのアクセス方法
SSH 接続でターミナルを触れるようにするなども選択肢かと思いますが、GUI 含め Mac の機能をフルで使いたかったので、今回は「リモートデスクトップ」でアクセスすることを考えます。
こちらもいくつか選択肢はあるかと思いますが、今回は Google の「Chrome リモートデスクトップ」を用いました。

個人的に
- 無料
- キーマッピングの設定が簡単
- ローカルとリモート先とのクリップボードの連携も簡単
- Google アカウントに紐づいてくれるので管理が楽
- 外出先からでもアクセス可能

このあたりが魅力的でした。

# 環境
- Windows 11 Pro 23H2
- macOS Sonoma 14.1.2 (Macbook Pro 2020 Intel CPU)

# Mac 側の設定
他のリモートデスクトップ用のソフトだと、「Mac 側のシステム環境設定の『共有』->『画面共有』を有効にするなどの手順が必要」などの情報が転がっているが、Chrome リモートデスクトップの場合は特に設定不要だった。
[公式の手順](https://support.google.com/chrome/answer/1649523?hl=ja&co=GENIE.Platform%3DDesktop) から Chrome リモートデスクトップのセットアップをするだけでOK。

# Windows から Mac にアクセスする
こちらも公式の手順でアクセス可能。上記で設定した Mac を選択する。特に難しいことはない。
![remote_mac1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/c62955ce-1920-a156-5f9d-6309e9c37a21.png)

### キーマッピング設定
Windows 用キーボードでは、`Win` キーがMac の `command` キーに割り当たっている。
リモートデスクトップの状態で `Win` キーを押すと、ローカルのスタートメニューが開いてしまってちょっと邪魔なのでキー割り当てを変更する。
リモートデスクトップの設定から「キーマッピング」を選択。
![remote_setting1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/66837911-b9e5-878c-1a07-da803087aac9.png)

下図のように設定。
Windows 側の左 `ctrl` キー（下図の `ControlLeft`）に Mac 側の左 `command` キー（下図の `MetaLeft`）が割り当たる。これで上記の問題も解決するし、`ctrl` + `c` や `ctrl` + `v` といった Windows 側で慣れ親しんだショートカットがそのまま使える。
元々 `ctrl` に割り当たっていた Mac 側の左 `control` は、Windows 側の「無変換」キーに割り当てておく（下図の `NonConvert`）。「無変換」はほぼ使わないだろうというのと、個人的に Mac での日本語/英語切り替えは `control` + スペースで行っており近くにあると嬉しいので、スペースキーの隣の「無変換」を利用した。
![remote_setting2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/316d52c9-1a97-031b-3cd2-c30901563630.png)

（余談）
各キーの名称（`NonConvert` など）がわからなくてちょっと苦労した。ネットに一覧でも載っていれば良かったのだが見つけられなかったので、「キーボードショートカットを設定」でショートカットに設定すると押下したキーの名称が出てくるのを利用してちまちま調べた。
良い方法を知っている方がいたらぜひ教えてください…。
![remote_setting3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/1966fb35-03a9-e505-0e17-aac74b4af578.png)
![remote_setting4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/f951da33-fd50-35f5-2f31-409c10caeebd.png)

### Mission Control
このリモートデスクトップのデメリットとして、タッチパッドのジェスチャーや一部ショートカットが使えなくなる。
個人的には3本指のスワイプによる「Mission Control」やアプリの切り替えが使えないのは痛い。バグなのか仕様なのか、`control` + 矢印キーのショートカットも使えなくなるので、ちょっと使いづらい。
これは Dock に Mission Control を追加することで妥協。マウス操作でアプリを切り替えないといけないが、そもそも Mac ヘビーユーザーではないのでヨシとする。
![remote_mac2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/db0a89e5-3bed-a4f9-a68b-2f645e15dcb0.png)

### Macbook を閉じたまま運用する
リモートで利用するので、Macbook は電源つけっぱなしで本体は閉じた状態で棚にでも突っ込んでおきたい。そのための設定もしておく。
Mac のシステム環境設定で「バッテリー」->「オプション」と進んで、「電源アダプタ使用時はディスプレイがオフのときに自動でスリープさせない」をオンにする。
![remote_mac3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3782700/815aced0-115a-0e56-ba39-37553ffa8599.png)

これで本体を閉じておいても接続できる。
ただし、個人的な環境問題の可能性もあるが、本体を閉じると接続が不安定になってしまう現象が発生。外部ディスプレイに接続しておくと安定したので、USB-C のディスプレイダミープラグ（-> [Amazon](https://www.amazon.co.jp/Cablecc-CY%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BCUSB-C-Type-C-EDID%E3%83%80%E3%83%9F%E3%83%BC%E3%83%97%E3%83%A9%E3%82%B0%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9%E3%82%B4%E3%83%BC%E3%82%B9%E3%83%88%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF1920x1080p-60Hz/dp/B086MKR9WH/ref=sr_1_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=17QRRPOIT3WJG&dib=eyJ2IjoiMSJ9.tE7sAlgygg_h9lGBJz3n58tXvkF9ZJ0NSMwgi42G0rMWKK1JIIKCv7HOkVDCrB9vZVUHs-uzqON9kcvUscA10lapICLJLqDK3QitQmlMnM4354gKQ2Qe_0VeHHqahsGpfE6d_fsH4cW6cMWmQTBGZaTT8_vD9Rmk-3VlPTSbLHxbZz4S5s0rlgU-PwYtN45ebRylsjN6_W-JDOwYNdCDL9CoX-t7XPZ63tu5tfIhVgByEWuzpyEyolNkaDr4aCIpPWWvnOGBtBFOBvgzkNa5YU1c0qp7If8Mvdsebo5qhCE.NhIG_jRPpF373n5fOaaNCwGfTF6vCcnju1KM2vbLwiE&dib_tag=se&keywords=Cablecc%2BCY%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BCUSB-C&qid=1715578815&s=electronics&sprefix=cablecc%2Bcy%E4%BB%AE%E6%83%B3%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BCusb-c%2B%2Celectronics%2C163&sr=1-2&th=1)）を利用して解決。