中年駆け出しPHPerのおぎです。
一昨年の秋に異業種から小さな受諾開発会社のWebプログラマに転職し、そこではWin機で開発を行っていました。
なんやかんやあり、この春から自社サービス会社の開発エンジニアに再度転職、それに伴い開発機がMacになったのでその移行に伴い困っった諸々をまと自分なりの対策をまとめてみようと思います。
変換キーどこ?!問題
長年Winユーザーだった身としてはキーボード右上の変換キーがないのでまず日本語が打てない...
確かに慣れればスペースのすぐ横で切り替えられるので早いっちゃ早いのですが、半角/全角キーでのトグルに慣れた民としてはなかなか戸惑いました。(今は大分慣れてきました)
対策:Karabiner-Elementsでキーバインドを変更する
ある程度は慣れるしかないのですがですが、自分の場合キーボードはWinのものをそのまま流用し、Karabiner-Elementsを使用して無変換キーを英数キーに、変換キーをかなキーにそれぞれ割り当てています。
また、そのままだとMacのキー配列と違いすぎるので
- CapsLock => controlキー
- Ctrl => cmdキー
にバインドして、更にMacの方も - CapsLock => cmdキー
とバインドしてWinのときの手癖をそのまま再現できるようにしています。
複数の外部ディスプレイが使えない?!問題
元々Win環境の時はノートPCを少し浮かせてメインモニタの横にサブモニターとして配置、メインモニターとターミナルやチャット用のサブモニターをDisplayPortのデイジーチェーン接続で接続して3枚体制で作業をしていたのですが、MacはDisplayPortによるデイジーチェーン接続をサポートしていない...
Win↔UbuntuはTypeCのハブの差し替えだけで済んでいたのですが、Macは1つのポートから複数のモニターを取れないのでどうしても別途HDMIないしTypeCからモニターを取る必要があります。
対策:なし
こればかりはMacOSの仕様上仕方ない部分なのでお仕事用とプライベート用の環境を切り替えるコストがどうしても少し高めになってしまいました...(何かいい方法をご存じの方がいれば教えて頂きたい!)
ちなみに最近プライベート用にMacMiniを買ったのですが、M1はそもそも1枚までしか外部モニターを挿せないというところでintelモデルしか選べませんでした...
ターミナルのショートカット問題
前職ではWSL2内に開発環境を構築してVSCodeのRemoteWSLで開発するようにしていたので、開発は
- Win+1 でターミナルを起動
- 開発用のディレクトリへ移動
-
docker-compose up -d
でコンテナを起動 code .
の4ステップで開発が可能でした。
プライベートのPCは主にUbuntuだったのですが、こちらもWin+1をalt+ctrl+tに置き換えるだけで、同様でした。
が、Macはターミナル起動のショートカットがデフォルトでは存在しないんですよね...
対策:automatorを使用してショートカットを登録
ターミナルの起動は、デフォルトでショートカット用意してほしかったな?という気持ちですが下記を参考にショートカットを自前で登録しました。まぁめんどいっちゃめんどいですが、1回登録すればあとはいつも通り...
参考:Terminalをショートカットで一発起動する【Mac】
Dockerデーモン起動めんどい問題
Ubuntuではdockerデーモンを起動するようにインストール時にコマンドを一発叩いて登録しておけば後は特に何も意識することなくターミナルを起動すると同時にdockerコマンドを叩けました。が、MacOSは当然Linuxではないのでどうしても仮想Linuxをおいた上でDockerを稼働させる必要があり、基本的にはDockerDesktopを使うことになるかと思います。
(WSL上のUbuntuも一応ハックは必要なものの、基本的には起動してしまえばネイティブと変わらない)
参考:Automatically Docker Daemon Boot on Windows Subsystem Linux(WSLにおけるdockerデーモンの自動起動)
対策:DockerDesktopをログイン時に起動する設定にしておく
これで一応解決はするんですが、ちょっと立ち上がりがもっさりしているんですよね...
そこだけどうにかなってほしい...他の何か入力している時にGUIが起動して中断するのが地味にストレス...
(Macにおけるベターなプラクティスがあれば教えて欲しいです)
まだまだ使いこなせていないMacですが、引き続き仲良く慣れるように頑張っていきたいと思います...
(WinとWSLの世界線に帰りたい...)