Skip to content

Instantly share code, notes, and snippets.

@bluebandit21
Last active December 12, 2021 18:42
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bluebandit21/9eadc62f7ceacafdeef34517aa29ef1a to your computer and use it in GitHub Desktop.
Save bluebandit21/9eadc62f7ceacafdeef34517aa29ef1a to your computer and use it in GitHub Desktop.
Etterna "No Noteskins Found" error and macOS installation instructions

Read this first

This guide was written for Etterna 70.x, where trying to install Etterna on mac would run into issues unless additional steps outlined below were taken. As of Etterna 71.0, none of this should be neccesary any longer.

The issue

When you try to launch Etterna on macOS after downloading it, you see the error "No NoteSkins Found".

What causes the issue (feel free to skip reading this)

When Etterna is downloaded from the internet (either from EtternaOnline or GitHub), it is tagged with the com.apple.quarantine file attribute as part of Apple's security features.

When an app is launched in macOS, launch services checks for the presence of this attribute. If it exists, the app must be signed by a valid apple developer id, or it will launch with certain security features active.

We don't sign the dmg we produce for macOS.
This is because we'd have to pay Apple $$$ to do so, and no-one has offered to pay the cost for it.

As a result, Etterna is launched with these security features, including one called App Translocation.
It makes the Etterna app launch from a randomized path instead of where the app is actually located.
(This is to prevent dylib hijacking where a signed binary loads in unsigned external resources relative to it which could potentially be replaced by an attacker)

However, Etterna needs to know its actual location because it needs access to the other folders within the Etterna folder, including, say, the NoteSkins folder. (Oh look, we found the issue)

We could fix this by only storing data within ~/Library/Application Support as Apple recommends, but this would make Etterna non-portable.

How to install Etterna on macOS

There are two ways to fix this issue.

For technically experienced users:
Because the issue is caused by the com.apple.quarantine xattr causing Etterna to run with App Translocation, it can be fixed by simply removing the attribute.
xattr -d com.apple.quarantine /path/to/Etterna.app will do it.

For non-technical users:
I made a tool to make installing Etterna on macOS extremely simple.
Just go to https://ett.blueb.us.to EDIT: this site is temporarily down, it should be back soon and follow the instructions for the automatic installer.

Additional Notes

In the past, you may have been able to bypass similar issues by doing steps like right-clicking an app, show-package-contents-ing, and then manually launching the binary within.
Don't do that for Etterna. It may appear to fix the issue, but it will cause other problems.

Additionally, some good news. Hidden and I both worked on trying to solve this issue in a much cleaner way. From (hopefully) 71.0's release onwards, there should be no need to do these steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment