Open51

MacBook Airをセットアップしたメモ

shotakahashotakaha

MacBook Air

  • Model: M2, 2022
  • macOS: Ventura 13.2.1
  • Chip: Apple M2
  • Memory: 24GB
$ uname -a
Darwin 22.3.0
Darwin Kernel Version 22.3.0:
Mon Jan 30 20:38:43 PST 2023;
root:xnu-8792.81.3~2/RELEASE_ARM64_T8112
arm64

MacBook Pro

  • Model: 13-inch, 2018, 4-Thunderbolt3 Ports
  • macOS: Monterey 12.6.3
  • CPU: 2.3GHz Quad-Core Intel Core i5
  • Memory: 16GB 2133MHz LPDDR3
  • Graphics: Intel Iris Plus Graphics 655 1536MB
$ uname -a
Darwin 21.6.0
Darwin Kernel Version 21.6.0:
Mon Dec 19 20:44:01 PST 2022;
root:xnu-8020.240.18~2/RELEASE_X86_64
x86_64

メモ

shotakahashotakaha

Homebrewをインストールした

  • Zsh(デフォルトのログインシェル)で実行した
  • Homebrew公式にあるスクリプトをそのままコピペした
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password: パスワードを入力
...(省略)...
==> The Xcode Command Line Tools will be installed.
Press RETURN/ENTER to continue or any other key to abort: エンターを押す
...(省略)...
Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/shotakaha/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh
  • 管理者パスワードを入力するところがあった
  • /opt/homebrew/bin/brewにインストールされた
  • Next stepsを実行してシェルの設定をした
shotakahashotakaha

brew shellenv

  • 使っているシェルごとのexport文を表示するサブコマンド
  • シェルのRCファイルに eval "$(/opt/homebrew/bin/brew shellenv)" を追記すればOK
  • 表示される中身を確認した
    • MBAでは表示されなかった
    • 以下は MBPで試した結果

fish

$ fish
$ brew shellenv
set -gx HOMEBREW_PREFIX "/usr/local";
set -gx HOMEBREW_CELLAR "/usr/local/Cellar";
set -gx HOMEBREW_REPOSITORY "/usr/local/Homebrew";
set -q PATH; or set PATH ''; set -gx PATH "/usr/local/bin" "/usr/local/sbin" $PATH;
set -q MANPATH; or set MANPATH ''; set -gx MANPATH "/usr/local/share/man" $MANPATH;
set -q INFOPATH; or set INFOPATH ''; set -gx INFOPATH "/usr/local/share/info" $INFOPATH;

bash

$ bash
$ brew shellenv
export HOMEBREW_PREFIX="/usr/local";
export HOMEBREW_CELLAR="/usr/local/Cellar";
export HOMEBREW_REPOSITORY="/usr/local/Homebrew";
export PATH="/usr/local/bin:/usr/local/sbin${PATH+:$PATH}";
export MANPATH="/usr/local/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/usr/local/share/info:${INFOPATH:-}";

zsh

$ zsh
$ brew shellenv
export HOMEBREW_PREFIX="/usr/local";
export HOMEBREW_CELLAR="/usr/local/Cellar";
export HOMEBREW_REPOSITORY="/usr/local/Homebrew";
export PATH="/usr/local/bin:/usr/local/sbin${PATH+:$PATH}";
export MANPATH="/usr/local/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/usr/local/share/info:${INFOPATH:-}";
shotakahashotakaha

Zshの設定

# ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
  • ~/.zprofilebrew shellenvコマンドを実行するように追記した
shotakahashotakaha

Fishの設定

# ~/.config/fish/config.fish
if status is-interactive
    # Commands to run in interactive sessions can go here
    eval (/opt/homebrew/bin/brew shellenv)
end
  • fishをインストールしてから設定した
  • ~/.config/fish/config.fishに追記した
  • zshの書き方と少し異なるので気をつける
shotakahashotakaha

アプリランチャーをインストールした

$ brew install --cask raycast
  • AlfredからRaycastに乗り換えた
  • Option Option(2回押し)で起動するようにした
shotakahashotakaha

Brew Caskでインストールしたアプリは、Raycastを使ってアプリ名を検索して、起動している

shotakahashotakaha

トラックパッドの設定

タップでクリックを有効にした

  • [System Settings] -> [Trackpad] -> [Tap to click]を有効にした
  • [Secondary click]の設定が自動で切り替わった

3本指ドラグを有効にした

  • [System Settings] -> [Accessibility] -> [Pointer Control] -> [Trackpad Options...]
  • [Dragging style] -> Three Finger Dragに変更した
  • これがないとやっていけないくらい、慣れると便利な設定
    • Accessibilityからしか辿れないのはちょっと罠
shotakahashotakaha

キーボードの設定

Caps LockとControlキーを入れ替えた

  • [System Settings] -> [Keyboard] -> [Keyboard Shortcuts] -> [Modifier Keys]
    • [Caps Lock key] -> Controlに変更した
    • [Control key] -> Caps Lockに変更した
  • Caps Lockは入力ソースの切り替えに割り当てた

Press Fn key を絵文字に設定した

  • [System Settings] -> [Keyboard] -> [Press 🌐 key to ] -> [Show Emoji & Symbols]に変更した
  • これまでのFnキーに🌐(globe)のアイコンが追加されていた(というかこっちがメイン?)
shotakahashotakaha

ショートカットキーを変更した

  • [Show Launchpad] -> 無効(ほとんど使わないため)
  • [Show Notification Center] -> 無効(ほとんど使わないため)
  • [Select the previous input source] -> ⌘Spaceに変更
  • [Select next source in input menu] -> 無効(ほとんど使わないため)
shotakahashotakaha

ブラウザをインストールした

$ brew install --cask brave-browser
  • Braveを起動してデフォルトブラウザに設定した
  • Brave Syncを有効にして、スマホなどと同期した
shotakahashotakaha

MacTeXをインストールした

$ brew install mactex
shotakahashotakaha

パッケージを更新した

# パッケージの更新を確認した
$ tlmgr update --list

# 本体を更新した
$ sudo tlmgr update --self

# パッケージを更新した
$ sudo tlmgr update --all
  • パッケージの更新を確認したら、MacTeX本体の更新が必要だった
  • 更新するコマンドは管理者権限が必要だった
shotakahashotakaha

ROOTをインストールした

  • 高エネルギー物理学で必要な解析フレームワーク
  • 最近はほぼ使うことがないが、容量に余裕ができたのでインストールした
$ brew install root
root: A full installation of Xcode.app is required to compile
this software. Installing just the Command Line Tools is not sufficient.

Xcode can be installed from the App Store.
Error: root: An unsatisfied requirement failed this build.
  • Xcodeが必要だというエラーがでて、インストールできなかった
  • AppStoreからXcodeをインストールした
  • Xcode.appを開かずに、再度brew install rootした
$ brew install root
# ...(省略)...
==> Installing dependencies for root:
cfitsio, ca-certificates, openssl@1.1, davix, gmp, isl, mpfr, 
libmpc, gcc, hwloc, libevent, open-mpi, fftw, gl2ps, glew, 
brotli, giflib, highway, imath, openexr, webp, jpeg-xl, libvmaf, 
aom, libavif, gd, glib, jasper, netpbm, gts, xorgproto, libxau, 
libxdmcp, libxcb, libx11, libxext, libxrender, lzo, pixman, cairo, 
gdk-pixbuf, fribidi, graphite2, icu4c, harfbuzz, pango, librsvg, 
m4, libtool, graphviz, gsl, libcbor, libfido2, zlib, mysql-client, 
openblas, numpy, pcre, gdbm, mpdecimal, sqlite, python@3.10, 
tbb, krb5 and xrootd
# ...(省略)...
==> Installing root
==> Pouring root--6.26.06_2.arm64_ventura.bottle.tar.gz
# ...(省略)...
==> Summary
🍺  /opt/homebrew/Cellar/root/6.26.06_2: 6,414 files, 534.9MB
==> Running `brew cleanup root`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> root
As of ROOT 6.22, you should not need the thisroot scripts; but if you
depend on the custom variables set by them, you can still run them:

For bash users:
  . /opt/homebrew/bin/thisroot.sh
For zsh users:
  pushd /opt/homebrew >/dev/null; . bin/thisroot.sh; popd >/dev/null
For csh/tcsh users:
  source /opt/homebrew/bin/thisroot.csh
For fish users:
  . /opt/homebrew/bin/thisroot.fish

Emacs Lisp files have been installed to:
  /opt/homebrew/share/emacs/site-lisp/root
  • さまざまな依存パッケージと一緒にROOTが無事にインストールできた
  • pyhton@3.10も一緒にインストールされた
  • いまのバージョンでは、シェルにパスの設定をする必要はないみたい
shotakahashotakaha

VSCodeをインストールした

$ brew install --cask visual-studio-code
  • GitHubアカウントでログインして、設定を同期した
shotakahashotakaha

OneDriveをインストールした

$ brew install --cask onedrive
  • MS365アカウントでログインして、同期した
  • 複数アカウントの同期先を~/OneDrive/以下に集めることにした
shotakahashotakaha

Microsoft Teamsをインストールした

$ brew install --cask microsoft-teams
  • アカウントを選択してセットアップした
    • OneDriveをインストールしたときのアカウント情報が、どこかに残っているっぽい
  • MS Authenticator で承認が必要だった
shotakahashotakaha

Fishをインストールした

$ brew install fish
shotakahashotakaha

デフォルトシェルを変更した

# fishのパスを確認した
$ which fish
/opt/homebrew/bin/fish

# シェル一覧にfishのパスを追加した
$ sudo vi /etc/shells

# デフォルトシェルを変更した
$ chsh -s /opt/homebrew/bin/fish
  • シェルを変更したときに管理者パスワードが必要だった
shotakahashotakaha

プロンプトを変更したい

$ fish_config prompt show
  • プロンプトの表示例を一覧できた
    • カレントディレクトリをサンプルに表示
    • Git管理されているディレクトリに移動するとVCSのプロンプトが確認できる
    • Default: 作業ディレクトリが短縮されるのはとてもよい。これに追加する感じにしたい
    • Astronaut: 2段になるのいいな〜
    • Informative: 時刻が左端に表示されるのいいな〜
  • プロンプトの設定はfish_configを実行しブラウザからプロンプトを選択する
    • 設定した内容は~/.config/fish/functions/fish_prompt.fishに保存される
    • ファイルの中身を確認して、デフォルト設定に欲しい要素(2段/時刻)をガッチャンコする方針にする
shotakahashotakaha

Default

fish_prompt.fish
function fish_prompt --description 'Write out the prompt'
    # ...(省略)...
    echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " "
end

Astronaut

fish_prompt.fish
function fish_prompt --description 'Write out the prompt'
    # ...(省略)...
    echo -s (prompt_login) ' ' $cwd_color (prompt_pwd) $vcs_color (fish_vcs_prompt) $normal ' ' $prompt_status
    echo -n -s $status_color $suffix ' ' $normal
end
  • 二段にするには、echoを2回すればよい

Informative

fish_prompt.sh
function fish_prompt --description 'Informative prompt'
    # ...(省略)...
    printf '[%s] %s%s@%s %s%s %s%s%s \n> ' (date "+%H:%M:%S") (set_color brblue) \
            $USER (prompt_hostname) (set_color $fish_color_cwd) $PWD $pipestatus_string \
            (set_color normal)
end
  • 時刻はdateコマンドで作っているだけだった
  • echoではなくprintfでも表示できるみたい
shotakahashotakaha

欲しいプロンプト

[時刻] 名前@ホスト名 短縮した作業ディレクトリ Git状態
> 
  • 時刻: date "+%H:%M:%S"
  • 名前: prompt_login
  • 作業ディレクトリ: prompt_pwd
  • Gitの状態: fish_vcs_prompt
  • ステータス: prompt_status
shotakahashotakaha
  • set NAME VALUE
  • set -l = set --local : ローカル変数をセットする
  • set -q = set --query : 変数名が定義されているか確認する
  • echo -n : Do not output a newline
  • echo -s : Do not separate arguments with supaces
shotakahashotakaha

SSH接続を設定した

$ touch ~/.ssh/config
  • ~/.ssh/configを作成し、接続情報を前のパソコンから転記した
  • 不要な設定は、この機会に棚卸しした
shotakahashotakaha

SSH鍵を設定した

$ ssh-keygen -t ed25519 -C "メールアドレス (マシン名)"
Generating public/private ed25519 key pair.
Enter file in which to save the key (~/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in ~/.ssh/id_ed25519
Your public key has been saved in ~/.ssh/id_ed25519.pub
The key fingerprint is:
.....(省略).....
The key's randomart image is:
.....(省略).....
  • ED25519で鍵を生成した
  • 鍵の保存先はデフォルトのまま
shotakahashotakaha

Gitをインストールした

# Git本体
$ brew install git

# Git LFSを使えるようにしたい
$ brew install git-lfs
$ git lfs install

# CUIもインストールした
$ brew install tig

# GitLab操作のため
$ brew install glab

# GitHub操作のため
$ brew install gh
  • gitの他に関連する(しそうな)パッケージも追加した
  • tigはたまに使う程度
  • glabはGitLabをCLIするためのパッケージ
  • ghはGitHubをCLIするためのパッケージ
shotakahashotakaha

Gitを設定した

現状を確認した

現状を確認した
$ git config -l
credential.helper=osxkeychain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
  • git lfsだけ設定されていた

基本設定した

shotakahashotakaha

Slackをインストールした

$ brew install --cask slack
  • Slack.appを起動し、メールアドレスを入力した
  • ワークスペースを選択した
  • メールアドレス、メールアドレスに届くコード、アプリのOTP認証が必要だった
    • ひとつのワークスペースを開き直すだけで、かなり手間がかかる
    • まだすべてのワークスペースに再参加できていない
shotakahashotakaha

Slack CLIをインストールした

$ brew install --cask slack-cli

$ slack -h
exec: Failed to execute process '/opt/homebrew/bin/slack': Bad CPU type in executable.
  • brew search slackしたら、Slack CLIというのがあったのでインストールしてみた
  • Bad CPU typeで実行できなかった
shotakahashotakaha

Google Driveをインストールした

$ brew install --cask google-drive
  • ずっと前はgoogle-drive-file-streamだったが、いまはgoogle-driveをインストールすればOKだった
  • インストールするときに管理者パスワードが必要だった
  • Google Drive.appを開くと、ブラウザでsign in & 承認した
shotakahashotakaha

NextCloudをインストールした

$ brew install --cask nextcloud
shotakahashotakaha
  • ~/NextCloud/アカウント名のように場所を変更して同期した
shotakahashotakaha

Fusion360をインストールした(できなかった)

$ brew install --cask autodesk-fusion360
Error: Failure while executing; `/usr/bin/env PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew/Library/Homebrew/shims/shared:/usr/bin:/bin:/usr/sbin:/sbin /opt/homebrew/Caskroom/autodesk-fusion360/latest/Install\ Autodesk\ Fusion\ 360.app/Contents/MacOS/Fusion\ 360\ Client\ Downloader` exited with 126. Here's the output:
/opt/homebrew/Caskroom/autodesk-fusion360/latest/Install Autodesk Fusion 360.app/Contents/MacOS/Fusion 360 Client Downloader: line 42: /opt/homebrew/Caskroom/autodesk-fusion360/latest/Install Autodesk Fusion 360.app/Contents/MacOS/streamer: Bad CPU type in executable
  • Bad CPU typeでエラーが出た
shotakahashotakaha

Zoomをインストールした

$ zoom install --cask zoom
  • 以前はフォーミュラ名がzoomusだったが、いまはzoomにリネームされたみたい
shotakahashotakaha

LibreOfficeをインストールした

$ brew install --cask libreoffice
shotakahashotakaha

poetryをインストールした

$ brew install poetry
  • poetry公式はcurlを使ったインストールを推奨しているが、brewでインストールした
  • python@3.11がインストールされた
shotakahashotakaha
$ pip3 install -U pip setuptools
$ which pip3
/opt/homebrew/bin/pip3

$ pip3 --version
pip 23.0.1 from /opt/homebrew/lib/python3.11/site-packages/pip (python 3.11)
  • python@3.11がインストールされたのでpip3も更新した
shotakahashotakaha
==> poetry
fish completions have been installed to:
  /opt/homebrew/share/fish/vendor_completions.d
  • Homebrewでインストールしたら、fishの補完ツールもインストールされた
  • fish内でpoetryと打つと、コマンド一覧が補完される(はず)
    • 1回目は必ずドバっとスクリプトの中身みたいなのが表示された
    • 2回目以降は大丈夫
    • きっとバグなのかもしれないが、調べてない
shotakahashotakaha

DaVinci Resolveをインストールする

  • Blackmagic Designの公式サイトからダウンロードした(基本情報の入力が必要だった)
  • Rosettaをインストールしてから、DR本体をインストールした
    • DR本体は5.7GBくらい必要だった
  • Open using Rosettaのチェックはデフォルトで外れていた
shotakahashotakaha

⌘英かなをインストールした

$ brew install --cask cmd-eikana
  • ⌘キーを入力ソースに割り当てるアプリ
  • キー割り当て(デフォルト)
    • 左⌘ -> 英語
    • 右⌘ -> かな
  • Rosettaが必要だった
  • Accesibilityから許可する設定が必要だった
shotakahashotakaha
  • 前のmacで使っていたが、しばらくインストールせずにいた
  • デフォルトの入力ソース切り替えを使っていたが、かなりストレスを感じるようになっていた
  • インストールしたら、切り替えのストレスが格段に減った。必須アプリ
shotakahashotakaha

スクリーンショットの設定

$ defaults write com.apple.screencapture disable-shadow -boolean true
$ killall SystemUIServer
  • スクリーンショットの影を削除した
shotakahashotakaha

Adobe CCをインストールした

$ brew install --cask adobe-creative-cloud
  • 期間限定セールで教職員73%OFFだったので、Adobe CC コンプリートプランを購入した
    • 購入直後に届いたメールに記載されている金額と、Adobeにログインしてプランを確認できる金額が異なっている。なぜ?
    • 来年度の更新は考える
  • 100GBのストレージ
    • 作業中のファイルはAdobe CCのストレージに保存する
    • 完成したファイル(ポスターなど)は、職場のOneDriveに移動する
    • 動画データなどは外付けHDDに保存する
  • 複数台の端末で同時に起動できない(はず)
shotakahashotakaha

追加でインストール

  • AGS(Adobe Genuin Security)
  • Acrobat
  • Photoshop
  • Illustrator
  • InDesign