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 Flatpak 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.

The official documentation has a more in-depth introduction covering more details and underlying technologies.

Security Warning Note

Installing third-party applications can be a security risk.

Be sure to use a central source like Flathub to get your applications of interest.

It is recommended to run such applications under a Wayland session that provides real isolation between graphical applications, unlike X.

Installing Flatpak

The flatpak package is available in Debian from stretch onwards.

It needs to be installed from backports in jessie.

With Graphical Interface Support

Starting with Debian 9 (stretch) GNOME Software supports Flatpaks through the gnome-software-plugin-flatpak plugin.

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 package manager.

Once this setup is done, you’ll be able to navigate to a software repository such as Flathub 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.

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 ($APP is the application name):

flatpak install flathub $APP

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

The names of the binaries are different from the actual binaries contained in the packages, for instance "org.mozilla.firefox", rather than "firefox"

You can run other command contained in the package by using the --command argument, e.g. to get a shell inside the gnucash flatpak, run

flatpak run --command bash org.gnucash.GnuCash

Having launched this bash instance inside the package, you can run the packaged command line tools such as, in the example of GNUCash aqbanking-cli

See Flatpak/Applications/Command Line for more.

FAQ

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.

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.


CategoryPackageManagement CategorySoftware