Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running tmux on an M1 Mac in arm64 mode

Tags:

tmux

apple-m1

So I have tmux installed via arm64 homebrew.

I initially compiled alacritty (my favorite terminal emulator) for arm64 manually, so that's running in arm64 mode. uname -a confirms we're in 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

Then I installed homebrew which slowly but surely getting arm64 bottles for most popular applications, including tmux (https://github.com/Homebrew/brew/issues/7857). So I installed that from the arm64 shell, it compiled successfully.

If I run file $(which tmux) I get:

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

However, if I launch that tmux binary in my arm64 alacritty, I seem to land in x86_64 mode. Running uname -a from inside that tmux window I get:

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

Any idea what's going on here? I'm relatively new to Mac OS, so maybe I'm missing something obvious.

like image 476
ndom91 Avatar asked Dec 23 '20 22:12

ndom91


People also ask

Can Mac M1 run x86 apps?

But in general, x86 apps will not run on an M1 chip ARM CPU. Windows will not run on an M1 Mac.

Can M1 Mac run any program?

As of 15 December 2020 Microsoft has made the Office suite of apps (Word, Excel, PowerPoint, OneNote and Outlook) for Macs universal – which means they will run natively on M1 and Intel Macs. However, some elements of Excel were still reliant on Rosetta until January 2021.

Can you use VM on M1 Mac?

We can download VM on M1 with Apple Silicon using UTM. Most Mac users already know that with Silicon chips other Virtual machines will not work. But if you have an intel x86/x64 operating system then they are compatible with other VM as compared to Silicon chip.

Is Tmux on Mac?

Setting up your computer for Vim and Tmux often comes with a few issues. Here's how to manage plugins for Vim and use Tmux to boost your productivity, as well as settle a few common issues.

How to use tmux on Mac?

How to Use tmux on Mac : Get Started Now, you have everything right. Running the command tmux, starts tmux. If you are getting [EXITED], you should check and update your setup. tmux will have own configuration file. These are usual shortcuts for tmux : Ctrl+b ” = horizontally split

Can I Run arm windows on an M1 Mac?

Luckily, with the Parallels Desktop 16 for M1 Mac Technical Preview, users can run the latest edition of Windows on ARM. As a no-cost alternative, we’ll also explore how you can run ARM Windows apps using the QEMU open-source emulator and virtual machine application. Here’s how to run ARM Windows on an M1 Mac.

What are the shortcut keys for tmux?

These are usual shortcuts for tmux : Ctrl+b ” = horizontally split Ctrl+b % = vertically split Ctrl+b arrow key = switch pane Ctrl+b c = create a new window Ctrl+b n = Next Ctrl+b p = Previous Ctrl-b o = Switch Ctrl-b ? = All commands There is separate configuration file named .tmux.conf.

Can I run ARM64 operating systems on Apple Silicon?

It uses Apple’s Hypervisor virtualization framework to run ARM64 operating systems on Apple Silicon at near native speeds. On Intel Macs, x86/x64 operating system can be virtualized. In addition, lower performance emulation is available to run x86/x64 on Apple Silicon as well as ARM64 on Intel.


2 Answers

I had the same problem.

In the end the solution was in the ~/.tmux.conf, add: set-option -g default-shell /path/to/arm64/zsh

Then kill and restart tmux:

sudo kill -9 [PID of tmux]
tmux

uname -a then returns arm64.

like image 143
5a5a8 Avatar answered Oct 24 '22 19:10

5a5a8


Now that the M1 CPUs have been around for a while and the community has had time to figure things out, I manually cross compiled Alacritty for arm64 as they don't have official binaries yet (Github Actions apparenlty won't build them yet).

But from there, I was in alacritty in arm64 mode (uname -m == arm64 :thumbsup:) and was then able to remove and reinstall brew and tmux the recommended way from their websites.

Followed all instructions and was good to go. I think just having been a bit early and messing around making manual changes here and there threw the whole thing off.

I do have one unrelated problem now however - and that's that tmux won't start as a non-root user. It just immediately crashes haha. When started with sudo, it opens with my expected config and uname -m confirms it is the arm64 version, however I can't get it to start with my normal user. Anyway, problem for another day!

like image 27
ndom91 Avatar answered Oct 24 '22 17:10

ndom91