What is Flatpak?
Flatpak makes it possible for users to install sandboxed applications on Linux distributions, in a way that is decoupled from the underlying operating system. It gives application developers the control of their agenda and the opportunity to publish new versions and updates without having to depend on a distribution's lifecycle.
The Flatpack system (previously known as xdg-app) uses a set of sandboxing technologies like OSTree and Linux cgroups to distribute software in a cross-distribution manner. These technologies isolate the Flatpak applications from each other and from the rest of the system, giving the user security benefits compared to downloading and installing unrestricted packages on their machine.
It has a concept of runtimes that applications can target to get a reliable and stable platform, independent of the underlying distribution. With runtimes, application developers can focus on their core work without needing to package lower level components and libraries while still having the control on their packaging and release cycle.
Security Warning Note
Installing third-party applications can be a security risk.
It is recommended to run such applications under a Wayland session that provides real isolation between graphical applications, unlike X.
With Graphical Interface Support
- In GNOME
apt install gnome-software-plugin-flatpak
- In Plasma / KDE
Starting with Debian 10/Buster Plasma Discover supports flatpaks through the plasma-discover-backend-flatpak plugin. It can be installed by searching for "discover flatpak" directly in Discover, or via the command line:
apt install plasma-discover-backend-flatpak
Once this setup is done, you’ll be able to navigate to a software repository such as Flatpak.org/Applications and install applications directly from there.
Clicking on the download icon next to the application name will launch the installation. Your web browser should open a pop-up offering to open the file with the program "Install application" or similar.
For the Command Line
First install the flatpak package:
apt install flatpak
Then you'll probably want to add the common Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Then you’ll be able to install applications by calling:
flatpak install flathub $APP
where $APP is the application name.
Users can install Flatpak applications on a per-user basis with the --user option:
flatpak --user install ...
Once installed, an application can be run with:
flatpak run $app_id
where $app_id is the source repository for the application.
Example, install the current stable version of sid/gnome-recipes: (note that sid may contain beta version sometimes)
flatpak install --from https://git.gnome.org/browse/recipes/plain/flatpak/gnome-recipes.flatpakref flatpak run org.gnome.Recipes
In newer versions of flatpak (buster and above), the binaries are also available in a special directory, which can be added to your PATH variable:
echo 'export PATH=$PATH:/var/lib/flatpak/exports/bin' >> ~/.bashrc
See Flatpak/Applications/Command Line for more.
I get a "Not found org.gnome.Platform/x86_64/3.24" error message when trying to install an application
Unlike the flatpak command line interface, the Gnome Software Flatpak plugin currently doesn’t automatically install runtimes. Before installing applications, you’ll have to first install the necessary runtimes manually.
Applications currently available on flatpak.org target the gnome runtime. You may need to add the remote repository for installing both gnome SDK and runtime with the following command:
flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
See runtimes for more available runtimes.