I am trying to duplicate the Terminal app in the utilities folder in order to create a 'Rosetta-Terminal', but the duplicate option is no longer there for utilities apps. Does anyone know how to successfully create a rosetta terminal duplicate or quickly switch to rosetta arch through the command line?
Rosetta Terminal on Mac OS Ventura
A simple workaround is to install a Terminal alternative, e.g iTerm 2, and set either that or Terminal to run in Rosetta mode.
Here's my fix for macOS Ventura
-
cd /System/Applications/Utilities
-
sudo cp -r Terminal.app/ /Applications/TerminalRosetta.app
-
Right-Click TerminalRosetta > Get Info > Check Open using Rosetta
Explanation: Applications/Utilities is actually stored on-disk under /System/Applications/Utilities, so when you ls /Applications/Utilities
it will show nothing, as it's actually some sort of Finder-specific symbolic link. The /System folder is quite locked down, so we'll have to copy the Terminal app to a directory where we have more permissions before enabling Rosetta. It appears Apple has taken away such permission in Ventura for the entire Utilities folder.
I tried what @freightmike suggested, but when launching the resulting copy, I get an error that the app is damaged and can't be opened because the file was downloaded on an unknown date. It wants me to trash it, but can't even trash it for me and instead requires me to manually delete it. If you have overcome this, I'm all ears. Otherwise, I'm going to have to take @davfre's approach and use a 3rd party terminal to support both native and Rosetta mode terminals.
I had the same results as @dlewandaDK.
I had this same issue and the following solution is much clunkier but at least works for my needs:
Open "Automator" to create an "Application"
Search "shell" and make a new "Run Shell Script" action.
Use this as the script text.
osascript -e 'tell app "Terminal"
do script "arch -x86_64 zsh"
end tell'
Save this application in Applications/ by the name you prefer such as "Terminal (Rosetta)".
You can now drag the Automator application you created, into the dock for quickly launching.
Explanation:
arch -x86_64 zsh
command runs zsh as x86_64. You could simply run this from a terminal (and maybe that's where this solution could end, since likely you'll be spamming "arch" command frequently just to make sure you're in the right architecture anyway).- By using Automator you create something Apple will let you drag into the dock for convenient launching.
- (I'd rather not have to use it, but as it turns out if you just create a shell script in Applications, you're not allowed to drag that into the dock.)
- If you just had
arch -x86_64 zsh
on its own, Automator doesn't visibly show an interactive terminal window for you interact with, hence extra fluff to launch the separate terminal.
Cons:
- Annoying to set up
- The "terminal" button will have the Automator robot icon instead of looking like a terminal
- After launching this by clicking that icon, the actually open terminal window will be grouped with other terminals rather than grouped under the button you used to launch it
- So by extension clicking the icon multiple times just spams more terminal windows open rather than going to what you already had
Sources:
- The
arch
command: https://stackoverflow.com/a/71065637 - Using Automator: https://stackoverflow.com/a/281455
- Launching separate terminal window: https://superuser.com/a/308460
I created the automator app and dragged I to the dock. When I launch it, nothing seems to happen, but I am able to switch to Terminal , which has now run and which has executed arch -x86_64 zsh. So far, so good, I think. Now I drag SnapZPro license, a Unix Executable file, to terminal and hit return. I still get zsh: exec format error. Prior to Ventura, this used to activate the SnapZPro license. I don't actually ever use automator, nor do I code, so I am just trying to follow your instructions. Is it obvious what have done wrong?
If tried and duplicate Terminal.app
in order to tick the Open with Rosetta
checkbox.
However, this no longer works under Ventura (MacOS 13+) without brittle archeology 😏 ^.
I discovered another workaround here: https://apple.stackexchange.com/a/456757/150074
That is launch the regular Terminal.app
or your favorite terminal (like iTerm
for instance) then from there run:
arch #=> arm64
env /usr/bin/arch -x86_64 /bin/zsh --login
arch #=> i386
This switches architecture to x86_64
(confirmed by the arch
command that displays i386
).
Then from now on all commands run in this shell session will use x86_64
aka. i386
emulation via Rosetta.