Apple Silicon対応していないコマンドをターミナルから使う時、いちいち「情報を見る」から「Rosettaで起動」をチェックしてターミナルを再起動するのは面倒です。
コマンドを呼び出す際に先頭に arch -x86_64
をつけるとRosettaでコマンドを実行することができます。これを使って arch -x86_64 /bin/zsh
のようにしてやれば、Rosettaでzshを起動できます。以後はRosettaのzshからコマンドが呼び出されるので、Rosettaでコマンドが実行されることになります。
alias等を使ってこれを簡単に呼び出せるようにしておくと便利です。
~/.zshrc
に↓を保存。
alias x86='arch -x86_64 /bin/zsh' alias arm64='arch -arm64 /bin/zsh'
すると、
% x86
で Rosetta でシェルを起動できます。
これはこれでいまどっちのアーキテクチャかわからなくなるので、コマンドプロンプトの前に現在のアーキテクチャが表示されるようにします。
uname -m
で x86_64
とか arm64
とかが取得できるので、同様に ~/.zshrc
に↓を追加します。
export PROMPT="%n@%m(`uname -m`) %1~ %# "