30

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?

3 Answers3

21

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.

Kurt Pfeifle
  • 4,495
  • 2
    Here is a how to for the installation: https://github.com/AppImage/appimaged – Powerriegel Apr 14 '20 at 08:14
  • 2
    appimaged is deprecated now. – TSr Sep 30 '20 at 15:42
  • 1
    appimaged is alive again, now at https://github.com/probonopd/go-appimage/releases/ – henrebotha Jun 23 '21 at 13:01
  • i would reccomend keeping appimages in ${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
3

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

TSr
  • 151
0

Better to do it manually, because I have found many appimages that AppImageLauncher cannot integrate properly. Some Appimages' icons are not showing correctly as the icon is not put in the standard location where AppImageLauncher can recognize them. And some AppImages have a unique way to update itself that is incompatible with AppImageLauncher like Yuzu the switch emulator which has a maintenance tool.