4

When creating a .desktop shortcut to an appimage, the Icon is not automatically extracted from the appimage, even though the appimage does contain an icon.

  1. Is this a limitation of the DE? Is there a bug tracking it? I'm using GNOME in Ubuntu 18.04, and forcing the user to hunt for an icon file, place it in some path, then link to it from the .desktop file, is silly.

  2. What's an easy way to extract the icon from that appimage?

2

1. Automatically

There is a convenience function available for AppImages. You do not need to extract the icon manually. All you need to do is: run the optional appimaged daemon (it runs in user space and does not need root privileges). Download it here:

It's bundled as an AppImage, and can be used just like one: make it executable and execute.

This daemon scans a few well-known locations for appimages and extracts icons and creates menu entries automatically for you. (It also removes them again if you delete an AppImage).

It is recommended to keep all your AppImages in a directory you should create: ${HOME}/AppImages

2. Manually

If you insist to do this manually, you can run (in a terminal!):

 your.AppImage --appimage-extract

This will create a sub-directory called squashfs-root and extract the complete contents of the bundle there. Here you should find what you are looking for.

Warning: this will only work if the AppImage is of type 2 (following the newer AppImage spec). For AppImage type 1, you have to mount the AppImage manually and then copy the icon file from the mounted directory tree:

mkdir /tmp/mountpoint
sudo mount -o loop your.AppImage /tmp/mountpoint

If the icon is missing, the packager of the AppImage did not bother to include it. Complain with him/her then.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.