在 M1 Mac 上以 arm64 模式运行 tmux

ndo*_*m91 13 tmux apple-m1

所以我通过arm64 homebrew安装了tmux。

我最初为 arm64 手动编译了 alacritty(我最喜欢的终端模拟器),因此它在 arm64 模式下运行。uname -a确认我们处于arm64中。

Darwin ndo-mbp.local 20.1.0 Darwin Kernel Version 20.1.0: Sat Oct 31 00:07:10 PDT 2020; root:xnu-7195.50.7~2/RELEASE_ARM64_T8101 arm64
Run Code Online (Sandbox Code Playgroud)

然后我安装了 homebrew,它缓慢但肯定地为大多数流行的应用程序提供了arm64瓶子,包括tmuxhttps://github.com/Homebrew/brew/issues/7857)。所以我从arm64 shell安装了它,它编译成功。

如果我运行file $(which tmux)我会得到:

/opt/homebrew/bin/tmux: Mach-O 64-bit executable arm64
Run Code Online (Sandbox Code Playgroud)

但是,如果我tmux在 arm64 alacritty 中启动该二进制文件,我似乎会进入 x86_64 模式。uname -a从 tmux 窗口内部运行我得到:

Darwin ndo-mbp.local 20.1.0 Darwin Kernel Version 20.1.0: Sat Oct 31 00:07:10 PDT 2020; root:xnu-7195.50.7~2/RELEASE_ARM64_T8101 x86_64
Run Code Online (Sandbox Code Playgroud)

知道这是怎么回事吗?我对 Mac 操作系统比较陌生,所以也许我遗漏了一些明显的东西。

小智 6

我有同样的问题。

最后解决方案是在~/.tmux.conf,添加: set-option -g default-shell /path/to/arm64/zsh

然后杀死并重新启动 tmux:

sudo kill -9 [PID of tmux]
tmux
Run Code Online (Sandbox Code Playgroud)

uname -a然后返回arm64。