Flatpaks have grown to become tremendously popular over time, cementing themselves as a somewhat universal standard for app installations. There’s a lot to like here as well — and installing them is super convenient, being supported across major Linux distributions.
Flatpaks also offer a certain degree of “security” by running in what essentially is a sandboxed environment. In other words, the Flatpak-ed applications run in a separate container that maintains some degree of isolation from the system.
That being said, these app bundles also come with a plethora of issues, including a few security risks. Managing these permissions is kind of a hassle otherwise — unless you use a very simple GUI tool to manage it extensively.
Using Flatseal to manage Flatpak permissions properly
Simple GUI interface with built-in toggles
The default Flatpak installation leaves a lot to be desired. While most applications run just fine, you’ll soon run into permissions and path issues down the line. A better way to approach an installation is to manually control the properties and access points of the Flatpak in question.
While it is entirely possible to manage these permissions from the command line, the advantages of a GUI cannot be emphasized enough here. Enter Flatseal, a graphical user interface that manages Flatpak permissions on a per-app basis.
Installing Flatseal was pretty easy, and all I had to do was access it from the AUR. Once ready, Flatseal presents a host of options to pick from. These range from being able to control access points to even changing launch environment variables.
There are two major tweaks that, once again, have a use-by-use basis:
- Access to the Wayland windowing system
- Disabling access to all USB devices
The first one is pretty self-explanatory. Many Flatpaks default to X11 or Xwayland, which causes scaling issues on Wayland. Make sure that the “Wayland windowing system” toggle is left enabled, and you should be good to go.
By default, Flatpaks have access to all devices on the host machine, which happens to include USB peripherals as well. If the app you are using does not require USB device access, it might be best to just keep this setting disabled.
If things break, you can always enable it again.
Storage management is a problem by nature of its design
Native bundles are a lot more efficient
Flatpaks are meant to be a self-dependent distribution method. This means that they come packaged with a bunch of dependencies, which can turn out to be a bit bloated. Installing these dependencies eats up a fair amount of storage space, too.
Native apps, in comparison (from a source like the AUR – Arch User Repository), use system apps, and thereby do not require a re-download of the same program (in Flatpak form).
This makes native bundles more efficient, and if your distribution has a native package for your program (that also happens to be well-maintained) it just makes more sense to use that over a Flatpak.
I won’t deny that Flatpaks have many advantages, the most major of which is in their partial sandboxing, but I prefer efficiency to everything else.
Other quirks and annoyances
Still a lot better than Snap
Afam Onyimadu / MUO
If you’ve used Flatpaks, you might have noticed a theme inconsistency between the Flatpak app itself and the general desktop environment. This is a lot more common if you happen to use a tiling window manager.
Despite its few inconveniences, I’d still take it over Snap any day of the week. Even if Snaps technically possess more functionality, since they have access to both desktop apps and terminal commands.
Flatpak has generally been more stable and faster to launch in my experience, and having near-universal compatibility across all distributions makes it a no-brainer. More so, especially if you consider that the format is a supported a lot more by the community.
Much of my frustration can be likened to the sluggish nature of Ubuntu itself, but for me personally, there really is no point in switching over from Flatpak, since it’s the default format for most Linux operating systems.
Trading universal compatibility for everything else might not be worth it though, and Flatpaks can quickly turn out to be a permissions nightmare for the average user.
Enter AppImage, a promising alternative
We haven’t talked about the third contender in the ring — AppImage. In essence, AppImage is a portable executable format that packages itself into a self-contained file.
They have a lot more in common with a Windows .exe file, and act as simple stagers for an app. AppImage also have the advantage of being portable, and you can simply drag and drop the file to a new system and expect it to just work (assuming you have the minimal dependencies met).
Unfortunately, it is not without its disadvantages. AppImage by nature are quite large and have no way to auto-update themselves. Which means that you will have to download an updated version whenever it is made available. Instead of having the convenience of updating everything through the system.
Circling back to what I mentioned previously, if your Linux distribution has a native package, it’s better to go with that instead.

