Hi.
AppImages have a portable mode that allows for bundling an application’s data next to the application’s AppImage. In summary, how it works is if there is a directory with the same name as the AppImage plus .home, then $HOME will automatically be set to it before executing the payload application. More information about this feature can be found from the official source here (Using portable mode — AppImage documentation)
I tested out 3 AppImages from there original source. The programs all function properly, just that the portable .home directory is not respected and application files are not placed within it.
- MelonDS - (Downloads - melonDS)
- Bitwarden - (Download the Bitwarden Password Manager App for iPhone, Android, Chrome, Safari, and More | Bitwarden)
- GIMP - (GIMP - Downloads)
Example of running GIMP AppImage:
Permissions:
example@example:~/test> ls -l
total 161256
drwxr-xr-x. 1 example user 0 Dec 13 00:00 GIMP-3.0.6-x86_64.appimage.home
-rwxr-xr-x. 1 example user 165124600 Dec 13 00:00 GIMP-3.0.6-x86_64.appimage
Shell output:
example@example:~/test> ./GIMP-3.0.6-x86_64.appimage
Setting $HOME to /home/example/test/GIMP-3.0.6-x86_64.appimage.home
Gtk-Message: 00:00:00.449: Failed to load module "colorreload-gtk-module"
Gtk-Message: 00:00:00.450: Failed to load module "window-decorations-gtk-module"
set device 'Wayland Pointer' to mode: disabled
No program files actually get placed within /home/example/test/GIMP-3.0.6-x86_64.appimage.home as shown in the output above. Instead, they are placed in:
~/.cache/gimp
~/.config/GIMP
~/.local
My assumptions were that this could be a permissions or fuse issue, but I am not skilled enough using strace and not sure how to troubleshoot further.
Thank you.
