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

Posted

技术标签:

【中文标题】在 arm64 模式下在 M1 Mac 上运行 tmux【英文标题】:Running tmux on an M1 Mac in arm64 mode 【发布时间】:2021-04-02 12:23:10 【问题描述】:

所以我通过 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

然后我安装了自制软件,它缓慢但肯定地为大多数流行的应用程序提供了 arm64 瓶,包括tmux (https://github.com/Homebrew/brew/issues/7857)。所以我从 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 比较陌生,所以也许我遗漏了一些明显的东西。

【问题讨论】:

你的默认外壳是什么? (finger $USER) 考虑删除您的 ~/.tmux.conf 以查看行为是否仍然存在 - 特别是,您可能在 .tmux.conf 中声明了默认 shell。 感谢您让我走上正轨。我手动将 zsh 二进制文件指定为 tmux 中的默认 shell,然后它最终在 tmux 中也返回了 arm64! 我想补充一点,我在上面的答案中遇到了困难(没有人的错,我只是个菜鸟)。我所做的不是以传统方式创建配置文件(~/.tmux.conf),而是明确地将文件放在 /usr/local/etc/ 中(仍将其命名为 tmux.conf),因为那是 tmux 寻找的地方无论如何,它奏效了。 【参考方案1】:

我遇到了同样的问题。

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

然后杀死并重启tmux:

sudo kill -9 [PID of tmux]
tmux

uname -a 然后返回 arm64。

【讨论】:

【参考方案2】:

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

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

遵循所有指示,一切顺利。我认为只是有点早,并且到处乱七八糟地进行手动更改,这就把整个事情搞砸了。

我现在确实有一个不相关的问题 - 那就是 tmux 不会以非 root 用户身份启动。一下子就崩溃了哈哈。当以sudo 开始时,它会以我预期的配置打开,uname -m 确认它是 arm64 版本,但是我无法以我的普通用户开始。无论如何,问题改天!

【讨论】:

以上是关于在 arm64 模式下在 M1 Mac 上运行 tmux的主要内容,如果未能解决你的问题,请参考以下文章

上次更新 a​​rm64-v8a 后,模拟器在 M1 Mac 上脱机

上次更新 a​​rm64-v8a 后,模拟器在 M1 Mac 上脱机

Mac Silicon M1 编译安装 PHP8 & Swoole4.6 ARM64 全过程记录

我无法在 R 中的 M1 Mac 上使用 keras 中的功能,它要求我安装 arm64e 版本的 miniconda3。该怎么办?

如何在 arm64 主机平台上运行 amd64 docker 镜像

M1 mac 上的 Android 平台工具