Windowsユーザがmacを使い始めたときのメモ

先日、M4のmac miniを買いました。
今まで使っていたwindows機と併用して使っていこうかなと思ってます。

macにはmacなりの作法があったりするので、ハマったところの解決策をメモしておきます。

# Windowsキーボードを使う
mac用キーボードを持ってませんので、Windowsキーボードで代用します。手持ちのキーボードは日本語配列ですが、macと同じようには使えません。
キーのマッピングを変える必要があります。
キーボードのキーマッピングを変えるソフトは「Kalabinar-Elements」があります。

https://karabiner-elements.pqrs.org/

Windowsキーボードの「変換」「無変換」で日本語入力ON/OFFの設定もできましたし、Ctrlキーとかのなんやかんやも変更できました。便利。

# リモートデスクトップ(Windows→mac)
WindowsからはRealVNC ViewerとかGoogle Remote Desktopとかをつかうことができます。
私はGoogle Remote Desktopを使っています。
## Commandとか無変換・変換キーがきかない
RealVNCでやってもGoogle Remote Desktopでやってもcommandとか変換とか無変換キーに相当する動作がしませんでした。
キーマップを変更することでこの問題を解決できました。

Google Remote Desktopに接続した後、画面の右側にある < の表示をクリックすると、設定メニューが現れるので、そこから「キーマッピングを設定」をクリックして、キーマッピングを変更できます。
私が設定したキーマップは次の通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126400/292c6904-e23d-3ca5-5ab3-4d4f0bf4e00e.png)


## 操作がとにかく遅い
RealVNCでもGoogle Remote Desktop でも、とにかく動作がもっさりしてます。
WindowsのRDPだと実機側の画面の描画命令をクライアントに持ってくる方式なので「軽い」のですが、macの場合はVNCベースなので実機側で描画したデータをクライアント側に持ってくるのでどうしても遅いですね。
Google Remote Desktopの設定画面(接続後に画面右側の < の表示をクリック)から、「最大フレームレート」を選べるので、これを小さい値(15fpsくらいだと速くなる＆カクカクしない)することで、若干よくなりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126400/e7db5a53-eb95-b8b4-1bba-ee6dc811febc.png)

別の説明では、実機側の画面効果をOFFにするなどありましたが、そういう対策はしなくても、この設定でもっさり感が結構解消しました。


## 再起動後に接続できない
macにリモートデスクトップ接続するには、アップルメニューから「システム設定」→「共有」と進んでいき、「リモートマネジメント」をONにします。その後、VNCクライアントから接続できます。

ただし、macを再起動したりmacの電源投入直後は、設定によってはVNCクライアントから接続できませんでした。

「File Vault」をONにしていると、mac再起動後/電源投入後は、ローカル側で一旦ログインしないとダメです。

「File Value」をOFFにしたら、mac再起動後/電源投入後ローカルで一旦ログインしなくても、VNCクライアントから接続できました。

# リモートデスクトップ(mac → Windows)
既存のWindows機は、もうそんなに使わない(とおもう)し、macがメインになる(メインの使用アプリはadobe関連)ものの、Windwos機もやっぱりチョットは使うので、その場合はmacからリモートで入ることにしました。

Windows機側では、かねてよりRDPの設定は済ませており、別に持っているThinkpadからVPN経由でよくつかっていました。

macのRDPクライアントは「Windows App」をつかいました。AppStoreからダウンロードできます。

https://apps.apple.com/jp/app/windows-app/id1295203466?mt=12

## なぜか英語キーボードになってしまう。
アプリを設定し接続したのですが、別の記事で述べたとおりなぜかUSキーボードとして認識されていました。いろいろやって日本語にできましたが、詳細はこちらをご覧ください。

https://qiita.com/hase-k0x01/items/6d94dc84ae6ec7254a16

## なぜかRDP接続できなくなった
キーボードの問題が解決したとおもったら、別の問題が。

最初の方はRDP接続が使えていたのですが、ある操作をすると接続できなくなりました。

「File Vault」の設定を切り替えた後、Windows AppからRDP接続しようと試みると、エラーコード「0x104」を吐いて接続できなくなりました。
このエラーコードは、IPアドレスが違うとか（OSI参照モデルで言うところのレイヤー3,4あたり）のエラーで、もちろんIPアドレスも変えてないし、なんなら同一ネットワークにあるThinkPadからは接続できる。

大抵の場合、こういうときは「設定を一旦削除して、もういちど設定を登録する」と直ることが多いので、実際にそうしてみるとうまくいった。

# NTFSパーティションを読めるはずだが全然読めなかった
Windowsで使っていたデータもmacに移行したいとおもい、Windows機に取り付けてあったHDDをエンクロージャにいれてmacに接続した。いちおうボリュームとファイル名は認識しているが、adobe関連のソフトからファイルが開けなかったり、ターミナルからlsするとファイル一覧はみえるものの、* によるファイル名の展開ができなかったり....

まあ、こんなもんですね。

仕方ないので、ファイル共有を設定して、windows機側からFastCopy等のアプリでmacにファイルをコピーするという荒技を試しました。


# 電源OFF状態からWakeOnLanできない
出張先や旅行先からリモートでmacを使いたく、先ほども述べたようにFile VaultをOFFにして再起動後も無事にログインできるようになりました。
しかし、なんかの何かで完全に電源が落ちてしまうと電源ボタンを自分で押して電源を入れないとダメっぽい。WakeOnLanで、電源OFF状態からの起動はできないっぽい。

どこかでチラっとみた噂で、USBのNICを噛ませて、そのMACアドレス宛にWakeOnLanパケットを送ればイケる！！と書いてあって、あぁなるほど、とおもったけど、まだ試していません。

# ターミナルで"command + C" SIGINTできない
Linuxでは端末で"ctrl + C"するとコマンド終了（SIGINTシグナル送信）できました。
macでは"command + C"に相当するのだろうと思っていたので試してみても、コマンド終了せず...(pingが終わらなくて焦りました笑)

結論としては"command + . " でもSIGINTできるし、"ctrl + C"でも終了できる。


# バックスラッシュ(\)を入力しようとしたら、円マーク(¥)しか入力できない
バックスラッシュを入力しようと思って"¥"キーを押すと、Windows環境だと"\"が入力さたはずが "¥" しか出てこない。
プログラミングするときにものすごく不便。

ソリューションは、Optionキーを押しながら"¥"キーを押す。そうすると、"\"になる。

そのほかに、永続的に "/" にならないかなぁと思っているが、いまのところOptionキーを押す以外の方法は見つかっていない。

とりあえず今日はこれくらい。