新しい Macbook が届いたので諸々の初期設定をした。このページはその時のメモ。
基本的に僕は、Mac は購入した時の OSのままアップデートせずに使い続けて、買い換えた際は移行アシスタントを使わず環境構築をすることにしている。今回は M1Pro チップ搭載の Macbook Pro 14インチ(メモリ16GB / ストレージ 2TB)で、従来の intel Macと仕様がかなり変わったので色々手こずった。
まず FireVault はちゃんとオンにする。パスワードは一応以前の Macbook から変更する。
Display の nightshift をいじる。ブルーライトを抑えておく。
トラックパッドの設定。特に左右のデスクトップ切り替え、3本指でのドラッグを有効にする。
日本語切り替えの設定。Karabiner-Elements をインストールし、左右のコマンドキーでの切り替えを有効にする。
App Store からよく使うアプリケーション達をインストール。
なにはともあれ、まずは Homebrew を公式サイトからコマンドコピペでインストール。xcode-elect も同時にインストールされる。
最後にパスを通してと言われるので、言われるがままコマンドラインをコピペしてパスを通す。
ついでに git と wget も入れておく。
コマンドラインで環境構築するにあたって、ターミナルが初期のダサいままじゃ気分が乗らないので、まずはターミナルを整える。
ちなみに M1ではデフォルトが zsh であることに注意。以前のデフォルトだった bash より色々拡張機能が付いて便利になったらしい。とりあえず、~/.bash_profile や ~/.bashrc が ~/.zsh_profile と ~/.zshrc に置き換わってると認識しておく。
まず、プログラミング用フォント Ricty をインストール。
そしたらいわれるがまま、コマンドコピペで完了。
ついでにこちらの記事を参考にしつつプロンプトも変える。Prezto という zshフレームワークをインストール。
~/.zpreztorc の Prompt 箇所を編集し、theme を 'pure' に変更。
ついでに 'autosuggestions' も有効にしておく。'syntax-highlighting' は間違い日本語入力の時の下線と紛らわしくなるので無効にする。
デフォルトで最新版が入っていたので、設定だけ変更する。
まずは、カラースキームは deep-space を採用。deep-space.vim をダウンロードしてきて ~/.vim/colors/ に置く。
その上で、~/.vimrc に以下を追加。
これで gfortran が入る。ついでに gnuplot もインストールした。
基本的に大規模並列化計算はスパコンに投げるので手元の Mac でやることはないのだが、開発やデバッグのために入れておく。
これで mpif90 が入る。今回購入した MBP は8コアCPU搭載しているので、2次元計算は(3次元でも小規模テスト計算なら)比較的容易に行える。試しに2次元ケルビン-ヘルムホルツ不安定計算をやってみたら、数分でいい感じの図が作れたので、研究(あるいは暇つぶし)が捗りそうである。
たまに行列計算をするので、線形解析ツール Lapack を入れる。公式サイトから最新版を拾ってきて、INSTALL下にある make.inc.gfortran を make.inc としてコピーしてくる。その上で make すればインストールされる。
これでちゃんと LAPACK と BLAS のライブラリのパスが通ってくれるので、コンパイルするときは下のようにすれば十分。
非常に高速なフーリエ変換ライブラリ。公式サイトから最新版を拾ってきて、./configure, make, make install とすればインストールされる。めちゃくちゃ簡単。
ただし、このままではコンパイルする際にライブラリが見つかりませんと言われてしまうので、~/.zshrc に以下を追加してパスを通す。
include 'fftw3.f' としたときは、そのファイルが格納されている場所(/usr/local/include/)の場所を調べて、 以下のコンパイルオプションをつける。
最近は、基本的に Overleaf を使っているので、そもそも Tex を入れる必要がない気もするが、一応入れておく。
Mac には MacTex というパッケージが用意されていて、基本的にこれをインストールすれば、コマンド群とともに Texshop や latexit といった関連GUIアプリケーション達も入る。最新版はちゃんと Arm64 にもユニバーサル対応している。
Homebrew Cask を使ってインストールする。こうすれば Ghostscript 関連のファイルが悪さをすることもない。
念の為、以下のように tlmgr をアップデートして完了。
/Applications に BibDesk, LaTeXiT, TeXShop, TeX Live Utilities といったアプリがインストールされている。
LaTeXiT はパワポに数式を埋め込むのによく使うので設定する。
まず、Preferences > Typesettings でタイプセットコマンドを latex+dvipdf にする。その下の各コマンドのパスを調べて設定する。基本的には /opt/homebrew/bin に入っている。最後に Templates に \usepackage{bm} を追加して完了。
少し調べてみたところ、M1 Mac で Python環境構築するのに現在最適なのは Miniforge らしい(Anaconda や Miniconda はM1に完全対応はしておらず色々不具合が出てる模様)。ということで、まずは Miniforge を入れる。
これで conda コマンドが使えるようになった。Python3.9はデフォルトで入っていたので、今回は 3.9ベースで仮想環境を構築する。
ところで、いちいちコマンドプロンプトに仮想環境名が表示されるのも煩わしいので、~/.condarc に auto_activate_base: false と記述して勝手に仮想環境でターミナルが開かれないようにする。同時に ~/.zshrc には alias env0='conda activate env0' を追加して、必要な時にすぐアクティベートできるようにする。
研究でよく使うパッケージをインストールする。これで、一通り使えるようになったはず。
リモートログイン先でデータ可視化する際に必要な X Window。最新版では M1にネイティブ対応するようになったらしいので、さっそく公式サイトから拾ってきてインストール。
うまく動作させるには、~/.zshrc に export DISPLAY=:0.0 と追加する必要がある。また、~/.ssh/config に以下の設定を記述する。
1分おきにサーバーと接続確認を行い、24時間の間は自動的に切れないようにしている。これがないと、結構頻繁に接続が切れてイライラする。
公式サイトから取ってくる。最新版は Arm64 にネイティブ対応。
普通に Homebrew で入れる。
まず Libtasn1 をポストインストールしてから、 FFmpeg を入れる。
Mac の Finder から直接そのディレクトリでターミナルを開くことができるアプリ。結構便利。
最新版は M1 にネイティブ対応したので、さっそくここからダウンロード。/Applications から Finderにドラッグすれば使えるようになる。
アイコンがダサいのとダークモードの Finder では見にくかったので、適当にいい感じのターミナルアイコンに差し替えた。
まずは、Time Machine バックアップ用の外付けHDDを用意し、ある程度の初期設定が終わった段階でひとまずバックアップをとる。
Disk Utilities から 消去を選択し、フォーマットを APFS(暗号化)、方式をGUID partitionを選択した上で、消去(再フォーマット)する。
Time Machine を開き、バックアップを取る。今後も最低月1回程度の頻度でバックアップはとるようにする。