【问题标题】:Running tmux on an M1 Mac in arm64 mode在 arm64 模式下在 M1 Mac 上运行 tmux
【发布时间】: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 寻找的地方无论如何,它奏效了。

标签: tmux apple-m1


【解决方案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 版本,但是我无法以我的普通用户开始。无论如何,问题改天!

    【讨论】:

      猜你喜欢
      • 2021-03-25
      • 2021-04-28
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 2021-06-04
      • 2021-06-27
      • 2022-06-22
      • 2021-08-12
      相关资源
      最近更新 更多