在 arm64 模式下在 M1 Mac 上运行 tmux

问题描述

所以我通过 arm64 自制软件安装了 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

然后我安装了 homebrew,它缓慢但肯定地为大多数流行的应用程序提供了 arm64 瓶,包括 tmux ({{3}})。所以我从 arm64 shell 安装了它,它编译成功。

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

/opt/homebrew/bin/tmux: Mach-O 64-bit executable arm64

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

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

知道这里发生了什么吗?我对 Mac OS 比较陌生,所以可能我遗漏了一些明显的东西。

解决方法

我遇到了同样的问题。

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

然后杀死并重新启动tmux:

sudo kill -9 [PID of tmux]
tmux

uname -a 然后返回 arm64。

,

我想补充一点,我在上面的答案中挣扎(没有人的错,我只是一个菜鸟)。我所做的不是以传统方式(~/.tmux.conf)创建配置文件,而是将文件明确地放在 /usr/local/etc/(仍将其命名为 tmux.conf),因为那是 tmux 会寻找的地方无论如何,它奏效了。

,

现在 M1 CPU 已经存在一段时间了,社区也有时间弄清楚,我手动交叉编译了 arm64 的 Alacritty,因为它们还没有官方二进制文件(Github Actions 显然不会构建它们还)。

但是从那里开始,我在 arm64 模式下 (uname -m == arm64 :thumbsup:) 很高兴,然后能够从他们的网站上以推荐的方式删除和重新安装 brew 和 tmux。

按照所有说明进行操作,一切顺利。我认为只是有点早,并且在这里和那里进行手动更改,整个事情都被搞砸了。

不过,我现在确实遇到了一个不相关的问题——那就是 tmux 不会以非 root 用户身份启动。它只是立即崩溃哈哈。当以 sudo 开始时,它以我预期的配置打开,uname -m 确认它是 arm64 版本,但是我无法让它以我的普通用户启动。不管怎样,改天再说吧!

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...