/usr/share inside appimage


I’m using the deb2appimage tool to create a new version of RedDiamond. This version splits some libraries out on their own and it now has a bunch of stuff in a share directory tree.

For Debian and RPM packaging this works just fine. At first run if the database isn’t in the user’s .local/share/blah directory, the editor copies the starter database from /usr/share/reddiamond/database. If they accidentally delete one of the built-in themes or syntax configurations, next time they start the program will recreate it in the database from the proper file.

This no-worky in AppImage. I dutifully have this very tree in the AppImage. I’m not opposed to adding a “second place to look” if someone can tell me the proper runtime path.

Do I really have to also make a call to get the directory of the application executable (“/usr/bin” in the virtual world) and then cd …/share/reddiamond/database?

I’m just asking in case there is a setting I can tweak in the JSON to tell the AppImage to use the internal /usr/share as the official /usr/share

In general, it’s best to ask the application/game developers to make an officially supported AppImage version.

Many applications/games have hardcoded paths, and this does not work for AppImage, which needs relative paths.

You can get into binary patching and such, but the results are unpredictable, depending on how the application/game works.

Hence, only recommended if you know exactly what you are doing.