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
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.
appimaged
is alive again, now at https://github.com/probonopd/go-appimage/releases/ – henrebotha Jun 23 '21 at 13:01${HOME}/.local/bin
, this path is standard in the user's $PATH on ubuntu these days so you won't need to mess with it and you don't need to worry about the path to a particular appimage; you can launch it like you do any other installed program – Fuseteam Nov 14 '22 at 13:46