Open14

2025年版MacOS(15.3.1)のセットアップ備忘録

7e+87e+8

色々あってMacbookPro(M4チップ macOS 15.3.1)をセットアップする感じになったので、備忘録に色々まとめておく

7e+87e+8

まずは外部キーボードの取り付け

外部キーボードなどを取り付けると、本体や純正版のキーボードとは挙動が違ったりするのでかなり戸惑う

場合によってはまずは正しく認識させるところから始める。(JIS配列とかUS配列とか)

↑システム設定の「キーボード」から「キーボードの種類を変更」から行うことができる

参考:

https://zenn.dev/masatto16/articles/3dedf66f0d4266#直し方

7e+87e+8

入力周りの調整の続き

まず、CapsLockは不要なので別のキーに変換したい。
今回はCtrlに変える。(Command派も多いのかもしれないが、vimとか使う時はCommandではなくCtrlが欲しいので)

システム設定のキーボードの設定より、「キーボードショートカット...」となっている部分を選択する。

「修飾キー」のところでCapsLockの挙動を変更することができるので、Controlに変更した。

なお、キーボード毎に設定が必要(「キーボードを選択」のところで適宜切り替える)

7e+87e+8

外部キーボードを使う場合、本体or純正品キーボードのように「無変換キー」で英字、「変換キー」で日本語入力、といった切り替えはそのままでは出来ない模様。
(Ctrl + Spaceなどで切り替える必要がある)

(あまり気は進まないが、個人的には生産性に大きく関わるので)3rdパーティーのツールを使うことで対処する。
具体的には、karabiner-elementsというツールを使って設定を変えるケースが多いらしいのでそのようにした。

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

公式サイトからパッケージをダウンロードしてインストールするか、homebrewをインストール済みであれば

brew install karabiner-elements --cask

のようにしてインストールできる。

のような感じで、外付けキーボードに関して

  • 無変換キー→英数キー
  • 変換キー→かなキー
  • caps_lock→Ctrl
    • 先述の通り、今回はCapsLockをCtrlとして扱いたいため
    • (詳細な検証はしていないが、改めてここでもcaps_lockを変えておかないとcaps_lockが発動してしまうことがあった気がする)

のように設定した。
(なお、かなキーをCommandに変えているが個人的な好み)

これで、バックグラウンドでKarabiner-Elementsを走らせておけば、外付けキーボードでも純正キーボードに近かったり、他にも自分好みの挙動に近い設定にして使うことができる。

参考:

https://blog.tsukumijima.net/article/mac-windows-keyboard-tweek/

https://shirono-noino.com/karabiner-elements/

https://cloud-work.jp/windows_pc/mac/macに外付けの日本語キーボードをつないで「変換/

https://qiita.com/TSY0SEC/items/fff6d9b0768882355493#1-コマンドと-caps-lock-を入れ替える

7e+87e+8

入力回りについてさらに続き

日本語版のmacでは、バックスラッシュ'\'を入力するために、わざわざOptionキーを同時押ししないといけない模様。(Option無しだと円マーク'¥'になる。)

コーディング作業などを行う人間からすると、バックスラッシュの方が使う機会が圧倒的に多いので、'\'と'¥'とで入れ替えを行いたい。

下記の参考リンクに挙げたような感じで、

  • 入力ソースの「ABC」を削除
  • 入力モードで「英字」と「ひらがな」の2つを選択
  • '¥'で入力する文字を'\'に変更

といった感じで、うまく'¥'と'\'を入れ替えることができた

参考:

https://www.cc.kyoto-su.ac.jp/~mmina/bp1/settingForBackslash.html

https://qiita.com/minattoo/items/1ce084614246764187c3

http://nalab.mind.meiji.ac.jp/~mk/knowhow-2022/node28.html

7e+87e+8

フォントのインストール

ターミナルやエディタの都合でNerdFontをしばしば入れたくなる

https://github.com/ryanoasis/nerd-fonts

https://www.nerdfonts.com/font-downloads

あと一応IPAフォントも入れておく

https://moji.or.jp/ipafont/

GUIでインストールする分にはWindowsやUbuntuデスクトップともほとんど変わらず、zipを展開して中に入っているttfファイルなどをクリックして「インストール」とすればOK

(追記)

shellでpowerlevel10kなどNerdFontを必要とする設定を使っている場合、vscodeのCtrl + @などでターミナルを開いた場合にデフォルトのフォント設定では正しく開くことができない。

そこで、vscodeの設定ファイルを記述することで、NerdFontを使えるように設定する。

https://qiita.com/y-w/items/614843b259c04bb91495

などを参考に、(プロジェクト単位ではなく)グローバルに使われるsettings.jsonを記述し、

{
  "terminal.integrated.fontFamily": "MesloLGS NF"
}

といった内容を追記することで対処できる。
(上記はMesloLGS NFを使う想定なので、違うフォントを使う場合は適宜変更する)

7e+87e+8

Dockerを使う場合

MacOSだと、個人利用であれば

Docker Desktop:

https://docs.docker.jp/desktop/install/mac-install.html
https://docs.docker.com/desktop/setup/install/mac-install/

あるいはOrbStack:

https://orbstack.dev/

あたりが使えそう。
特に、後者のOrbStackは速そう、かつWindowsのWSL2に近いような感じであらゆるディストリビューションのLinux VMを使うこともできるので、割と良さそう

いずれも商用利用だとサブスク契約などが発生しそうだが、代替策としては例えばpodman?

https://podman.io/docs
https://podman-desktop.io/docs/intro

などを使うという選択肢もあるかも

(追記)

商用利用可能で無償なものとしては、どちらかというとcolimaとかの方が使われていそう?

https://github.com/abiosoft/colima

また、colimaのベースとして使われているlimaも色々使えそう(WSL2のようなことができるとREADMEには書かれている)

https://github.com/lima-vm/lima

OrbStackが使えるならそれが一番便利そうだが、使えなさそうなら上記のlima, colimaあたりは有力な候補になりそう

(更に追記)

更に他の選択肢として、Rancher Desktopというものもあった。

https://rancherdesktop.io/

なお、volume mountする際にエラーが出ることがあり、

https://github.com/rancher-sandbox/rancher-desktop/issues/1209#issuecomment-1370181132

https://qiita.com/kino15/items/8b3ae44fb3115cb670da

などによると、以下のような内容で~/Library/Application\ Support/rancher-desktop/lima/_config/override.yamlを作成するワークアラウンドが必要とのこと

~/Library/Application\ Support/rancher-desktop/lima/_config/override.yaml
mountType: 9p
mounts:
  - location: "~"
    9p:
      securityModel: mapped-xattr
      cache: "mmap"
7e+87e+8

ターミナルソフト

Warp:

https://www.warp.dev/i

AIの力で色々と強化してくれる。

アカウントを作ってログインとかする必要があるので会社などでは使えるかどうか環境次第な感じになりそうなのと、プロンプトの設定などを乗っ取られたりするのでその辺も注意は必要。
だがその辺のデメリットや注意点を考慮しても便利そうな感じ。

WezTerm:

https://wezterm.org/index.html

シンプルで高速に起動する端末ソフト。

iTermや上記のWarp、デフォルトのターミナルなどと異なり、(通常の設定では)Finder上から立ち上げる、といったことは出来ない。

Warpのように良くも悪くも挙動が変えられることは無いので、普通に使いたい場合はかなり良さそう

iTerm2:

https://iterm2.com/index.html

昔からよく使われているイメージ

なお、WindowsやLinux Desktopを触る時と比べて差分を最低限にしたいので、
Mac専用で使用感が特殊、みたいなのはあまり求めておらず、デフォルトのターミナルでも悪くは無い。

(補足)

個人的にFinderで開いているディレクトリから素早くターミナルや色々なものを立ち上げたい、といったことがあるが、そういった場合はOpenInTerminal or OpenInTerminal-Liteが使えそうかも

https://github.com/Ji4n1ng/OpenInTerminal
https://github.com/Ji4n1ng/OpenInTerminal/blob/master/Resources/README-Lite.md
https://kakakakakku.hatenablog.com/entry/2020/09/02/084657
https://applech2.com/archives/20200110-openinterminal-and-editor-support-coteditor.html

7e+87e+8

Linuxマシンにsshでログインし、更にその際-XYオプションをつけるなどしてX11を使う場合。

https://sonotaropp.hatenablog.com/entry/2019/07/22/154545

などに倣って、MacOS側の~/.ssh/configを編集し、

XAuthLocation /opt/x11/bin/xauth

を設定しておく。(XQuartzでX11を使う想定)

そうしないと、Warning: No xauth data; using fake authentication data for X11 forwarding.のようなWarningが出る

7e+87e+8

仮想マシンの構築に関して

既に言及済みのlima, OrbStackなどがあるが、WindowsでいうHyper-Vみたいな感じで仮想マシンを構築する場合、(無償で使えそうなものだと)UTMというものが使えそう

https://mac.getutm.app/

インストールはイメージをダウンロードしても良いし、Homebrewからも可能

https://formulae.brew.sh/cask/utm

brew install utm --cask

基本はGUIベースのアプリだが、一応中にutmctlというCLIツールが入っている。

参考:

https://zenn.dev/nappa/articles/4e8cb7b1cb3899

そこで、例えば

alias utmctl=/Applications/UTM.app/Contents/MacOS/utmctl

のようにしておけば、utmctlコマンドが使えるようになる。

なお、有償のものだと他にはParallels Desktopなどが有名らしい

https://www.parallels.com/jp/products/desktop/?utm_medium=cpc&utm_source=google&utm_campaign=&utm_term=parallels desktop&utm_content=&utm_id=17383662954&extensionid=&matchtype=e&device=c&devicemodel=&creative=675590551087&network=g&placement=&x-source=ppc&gad_source=1&gclid=EAIaIQobChMI8rKSjO2OjAMVud8WBR2o4RNOEAAYASAAEgJhI_D_BwE