I have installed Bitwarden through its AppImage, and added a .desktop
file to run it easily (and also to use a themed icon). Unfortunately, each time an update comes out, I need to manually update the file since it points directly to the older version
is there anything that can be done about this? I know of AppImageLauncher but I don’t like it, I’d rather install the Flatpak for Bitwarden if that’s the only solution. Another possible approach would be to have a script continuously running in the background, checking if the file Exec
points to still exists… but that imho is not very clean.
Do you have any insight?
Definitely the correct answer.
It’s a drag and drop appimage manager, like macOS DMGs. And it’s a flatpak!
You can use AM or AppMan. It is a command line tool for managing AppImages. Including download , install, update and remove.
Have a look at
https://portable-linux-apps.github.io/
It is also open source.
I tried AM some time ago, and I was extremely confused about the documentation and how to use it. I even watched a YouTube video from DistroTube on how to use it, but I still couldn’t figure it out. I don’t exactly remember the issues, though, and I hope it’s better now.
I am using AppMan as it does not require root and it does install the files into my home directory. It uses query parameter instead of search, but the install, update and remove are similar to the apt commands for example. I use AppImages when there is no package in the repository (or only older version) and it is not available as a Flatpak.
deleted by creator
Just rename the file each time you get new version to same name. Like Bitwarden.appimage
If you’re taking a manual approach I would use a symlink:
ln -s /path/to/stuff/Bitwarden.1.0.7.appimage /path/to/stuff/Bitwarden.appimage
Then you can hang on to a previous version just in case, plus you can see from the original filename what version you’re on.
Happy to hear if there are glaring problems with this approach, but if you can assume files named with version numbers, you can use a script to always launch the newest…
#!/bin/bash cd ~/Downloads chmod +x $(ls | grep Appname.*AppImage$ | sort -rV | head -n 1) ./$(ls | grep Appname.*AppImage$ | sort -rV | head -n 1)
Or you could change the script to sort by file modified date and launch the newest.
edit: Discovered an issue with version numbering like
.10
and learned about thesort -V
switch that fixes it!
There is also AppImage Launcher which works nicely for me. It automatically integrates AppImages into the DE (e.g. search and start menu) and a few other nice things.
I symlink the AppImage. It’s still a manual process in that you have to recreate the symlink but feels like less of a hassle than updating the desktop file.
Use a package management system that supports this use case.
Not to be that person but I’m curious what made you go with AppImage over Flatpak, given that you already mentioned using the Flatpak as an alternative ^^"
Force of habit, I’ve started using Flatpak only recently
Isn’t that kind of AppImage’s whole thing, to behave like Mac apps that you just double click on regardless of where they are, and not have a package manager?
I’d go for the Flatpak if you want it to be managed and updated.
We went from distro packages to Flatpak to bare files and circling back to reinventing the package manager…
Don’t. Use a proper package manager for permanent installation of things. There’s a reason we have those.
Okay but… what would be the use case of AppImages then? Portability?
That and ease of deployment.
If you as a developer wanted a non-technical user to test a thing you fixed for them, you could ask them to try an AppImage from your CI pipeline and they would easily be able to install it. They’re great for that.
Also, trying out a package can leave unwanted system state around in traditional imperative system package managers. AppImages OTOH are self-contained and user-installable.
What’s wrong with gear lever?
The issue with gear lever is that not many people know that it exists. I only started using it a few months ago and I’ve been on Linux for the better part of the last decade.
I am a big fan or repackaging Appimages as Flatpaks, with appstream metadata, sane package management (not the windows way or simply nothing at all), sandboxing and desktop entries.
There are some repos on Github that do that.
As a Nix fanboy I would write a Nix expression that downloads the AppImage, and also writes the desktop file with the appropriate path written into it via string interpolation. That can be done either through a NixOS configuration, or in any Linux distro using Home Manager.
I just have a keybind to open file manager of the app images 🤷