Extract icon from appimage

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?


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:

  • github.com/AppImage/AppImageKit/releases (scroll down to see it)

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


Update: According to a comment by user @TSr, appimaged is deprecated now. I did not check this info.

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.


Use AppImageLauncher, works perfect with Ubuntu 20.04: https://github.com/TheAssassin/AppImageLauncher