61

How can I register an .appimage file (specifically, the tiled map editor found here) as a desktop app? (Like firefox -- I can launch it by typing 'Firefox' into search rather than opening up a console and typing /path/to/directory/firefox.ext)

  • Place the executable file in you PATH in say /usr/bin and you should be able to launch it like firefox... – George Udosen Apr 08 '17 at 23:51
  • Is there a way to put a 'shortcut' to the file in my PATH? I don't want to move it there. –  Apr 08 '17 at 23:53
  • Never mind, I just made a bash script that launches it and stuck that in ~/bin. Thanks for your help, even though you didn't actually answer the question :P –  Apr 08 '17 at 23:54

4 Answers4

51

Create a .desktop file that points to the application -- here is an example of a .desktop for minecraft:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Minecraft
Icon=/home/bram/Applications/Minecraft/icon.png
Exec=/home/bram/Applications/Minecraft/minecraft
Terminal=false
Categories=Minecraft;game

Put that file in ~/.local/share/applications

Serge Stroobandt
  • 5,268
  • 1
  • 48
  • 59
  • Done what you said, It will keep open a terminal while I am executing the AppImage? Is there a way to just open the AppImage without a terminal together? – cassmtnr Dec 27 '18 at 17:35
  • 16
    Why would you need to download a separate icon when the appimage includes one? How can you use the icon from the appimage itself? – Dan Dascalescu Feb 03 '19 at 17:47
  • The AppImage I was trying to create a desktop launcher for and its icon were in /opt/app-dir/. I ran chmod 777 icon.png but the icon was not showing up. I had to put the image in /usr/share/pixmaps/ and put Icon=<icon-name-without-extension-or-path> in the launcher to make the icon visible. – Mike Sep 12 '20 at 10:35
  • @Mike (and perhaps others). Since 26 people upvoted and so presumably followed this answer can one of them replace the example with the Joplin one to save anyone coming after from having to replace Minecraft with Joplin. – Kvothe Jun 01 '21 at 15:24
  • I needed to read this answer: https://askubuntu.com/a/1240983/800252. In order to figure out how to make this work (For extracting the Icon and the correct .desktop entry which is non-trivial to guess, for example to get "StartupWMClass=Joplin" right.). – Kvothe Jun 02 '21 at 09:02
  • @DanDascalescu Not sure if it is the most correct way, but i was able to extract the icon this way from the terminal: ./Some-X.Y.Z.Appimage --appimage-extract, it extracted to a squashfs folder, wher i was able to find a PNG file for the icon. – jmunsch Jan 17 '23 at 17:54
44

You can also use AppImageLauncher which provides desktop integration along with some additional features. Unlike appimaged, it:

  • asks for confirmation before creating desktop entry for an AppImage.
  • works with AppImages in any location
  • doesn't use a daemon for monitoring, so more efficient.

Specifics of how it works are explained in the wiki. It can be installed directly from the packages provided in the releases or by using packages from PPA:

sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt-get update
sudo apt-get install appimagelauncher

NOTE: The PPA currently does not work for Mantic (23.10), Mantic users will need to download the .deb file from the "releases" link above and install using sudo dpkg -i filename.deb

Joshua Besneatte
  • 4,773
  • 5
  • 23
  • 42
aksh1618
  • 576
  • I just installed it on Ubuntu Focal through the PPA. I launched a Zoom AppImage and now it appears in the launcher if I type Zoom. Neat :) – Immanuel Weihnachten Dec 15 '20 at 17:46
  • 1
    Could you include a simple example of how it work. An (uncareful) read of the linked wiki does not make it clear at all. – Kvothe Jun 01 '21 at 15:28
  • @Kvothe I'm not the creator of this tool :) Consider creating an issue in the repository asking for the same. – aksh1618 Jul 20 '21 at 08:23
  • Worked on PopOS 21.04 GNOME as well. Great! – Reza Taba Aug 08 '21 at 19:59
  • It works great! All I had to do was (a) install as shown here, (b) run it on the terminal, i.e., "$ appimagelauncher", and (c) open the AppImage as usual. The first time you run an AppImage, appimagelauncher will catch it and "install it." That's it! – gvegayon Jan 20 '22 at 18:56
  • @gvegayon Are you sure step b is required, I don't recall having to do it. For me it was just install and double click appimage file. – aksh1618 Jan 21 '22 at 08:58
  • The fact that the non-deprecated, updated https://github.com/probonopd/go-appimage/blob/master/src/appimaged/README.md automatically monitors and links files in the ~/Downloads directory is a bit scary. – Dave X Oct 06 '23 at 00:37
  • Doesn't work for me. (Ubuntu 22.04 Jammy.) I installed without incident. Cannot find via cl "appimagelaucher". However, per github page, to use ail-cli. That command doesn't tell me what to do, -h option is to vague. On Application Launcher There is AppImageLaucher settings, but all that does is ask where my appimages are. Didn't put anything on my desktop. Didn't launch anything. :( – Joe Molnar Dec 03 '23 at 23:12
25

According to appimagekit, the proper method is to use appimaged for .AppImage file registration.

For 64-bit systems:

wget "https://github.com/AppImage/appimaged/releases/download/continuous/appimaged-x86_64.AppImage"
chmod +x appimaged-x86_64.AppImage
./appimaged-x86_64.AppImage --install

The binary will copy itself to /home/ubuntu/.local/bin/appimaged and then delete the downloaded copy upon install. Then you must logout and back in.

At time of reading, it will monitor and register the following locations:

~/Downloads
~/.local/bin
~/bin
/Applications
/isodevice/Applications
/isofrom/Applications
/run/archiso/img_dev/Applications
/opt
/usr/local/bin

To show in the menu, this assumes you've placed a desktop file in the correct location inside your .AppImage file, usually /usr/share/applications/<myproject>.desktop.

If you search in the application tray, you should find your application shortly. The daemon should also register any application-specific file associations assuming the mime xml is also bundled, usually /usr/share/mime/packages/<myproject>.xml. If the icon does not appear correctly, you may have to logout and back in a second time. This can happen if the icon was incorrectly cached while testing out images.

David Foerster
  • 36,264
  • 56
  • 94
  • 147
tresf
  • 922
  • The advice at appimaged link says to enable with sudo systemctl --user [...], but shouldn't it be --system [ie default], won't --user mean that it only enables for my user. I'm trying to install digikam for all users, FWIW. – pbhj Dec 19 '17 at 23:58
  • On my system, Ubuntu 14.04, the systemctl steps did not work properly. You should ask the project team how best to do this. The service seems like it's intended to be run in user-space by design, so the system-wide installation technique does not seem to be obvious. Perhaps you would be happy with the appimage located permanently somewhere (e.g. /opt/bin/appimaged with a login script for all users in /etc/xdg/autostart/appimaged.desktop, but one which uses the --no-install switch. – tresf Dec 26 '17 at 17:26
  • Then place digicam in (e.g.) /opt/bin/digicam and the daemon should find it as it will match the second-to-last search location mentioned above. – tresf Dec 26 '17 at 17:28
  • 1
    Appimaged from the https://github.com/AppImage/AppImageKit#appimage-usage points to https://github.com/AppImageCommunity/appimaged which is deprecated and points to https://github.com/probonopd/go-appimage/blob/master/src/appimaged/README.md which points to https://github.com/probonopd/go-appimage/blob/master/src/appimaged/README.md which works for me in 2023. If you install the appimage per those instructions, then it monitors $PATH, ~/Applications ~/.local/bin, /opt /usr/local/bin ~/Downloads (!!!) and configures your menus to link to the appimages. Win! – Dave X Oct 06 '23 at 00:33
  • 1
    @DaveX thanks for the reference. What's odd is both go-appimage and go-appimaged are listed as "experimental". I'll reach out to probonopd to see what he recommends and update the answer accordingly. – tresf Oct 09 '23 at 16:04
0

Use chmod a+x <filename>.AppImage to change access rights.

Then launch the .AppImage from the terminal and type install

e.g.,

./MuseScore-4.2.1.240230938-x86_64.AppImage install

That should be enough for installing and updating an .AppImage app.