Page Body

Getting Started With Flatpak and Flathub

One of the best parts of using a GNU/Linux system is the inclusion of a package manager. The package manager makes it easy to browse, install, and remove a variety of software on your system.

However, not all GNU/Linux distributions use the same package manager, and each distribution may use different versions of a software application (or different libraries that the application relies on). If you are a person that needs to use multiple machines with different distributions, this can cause compatibility problems.

A variety of solutions has been created to address cross-distribution compatibility issues (e.g., AppImage and Snappy). One nice implementation that is gaining popularity is Flatpak.

Note: If you are not familiar with the GNU/Linux command line interface, review the Conventions page before proceeding.


Some GNU/Linux distributions come with flatpak installed, e.g., Fedora. For others, you will need to install flatpak from the distribution's repository.

For Debian, you can do this with the following command:

# apt-get install flatpak

Basic Commands

Here are several basic flatpak commands to get you started.

Note: These commands use the --user option. This limits the scope of the commands to your user account. To have the commands affect all user accounts (i.e., act system-wide), you can leave off the --user option.

flatpak install --user example_app_identifier
Install a Flatpak app

Here, example_app_identifier can be a local file (e.g., org.videolan.VLC.flatpakref) or a remote file (e.g.,

Flatpak app data is located in ${HOME}/.var/app.

flatpak run --user example_app_identifier
Run a Flatpak app (e.g., flatpak run --user org.videolan.VLC)
flatpak list --user
List installed Flatpak apps
flatpak uninstall --user example_app_identifier
Remove a Flatpak app
flatpak uninstall --user --delete-data example_app_identifier
Remove a Flatpak app, along with its data in ${HOME}/.var/app


Flatpak supports the concept of a remote source, i.e., a repository. At present, the most popular Flatpak remote is Flathub.

You can add Flathub as a remote source for flatpak with this command:

flatpak remote-add --user --if-not-exists flathub ''

Once you have configured a Flatpak remote, like Flathub, you can benefit from the following commands:

flatpak remotes --user
List configured flatpak remotes
flatpak remote-delete --user example_remote_name
Delete a flatpak remote (e.g., flatpak remote-delete --user flathub)
flatpak remote-ls --user example_remote_name
Show remote's available runtimes and apps (e.g., flatpak remote-ls --user flathub)
flatpak remote-ls --user example_remote_name | grep example_string
Search a flatpak remote for a string (e.g., flatpak remote-ls --user flathub | grep 'VLC')
flatpak install --user flathub example_app_name
Install an app from a flatpak remote (e.g., flatpak install --user flathub org.videolan.VLC)
flatpak update --user
Update installed Flatpak apps


For more on Flatpak, peruse the flatpak man page in the Linux User's Manual (man flatpak) and check out the online documentation.


Enjoyed this post?

Subscribe to the feed for the latest updates.