Flatpak has emerged as a powerful and versatile system for distributing and managing desktop applications across various Linux distributions. Its sandboxed approach enhances security and simplifies dependency management, offering a compelling alternative to traditional package managers. For Ubuntu users, integrating Flatpak into their system opens up a vast repository of applications, often providing access to newer versions or software not readily available in the standard Ubuntu repositories. This guide will walk you through the process of installing and configuring Flatpak on your Ubuntu system, ensuring you can leverage its full potential.
Understanding Flatpak and Its Advantages
Before diving into the installation process, it’s essential to grasp what Flatpak is and why it’s a valuable addition to your Ubuntu desktop. Flatpak is a free and open-source application packaging utility that aims to provide a unified way to package desktop applications for Linux. It allows developers to bundle their applications with all the necessary dependencies, ensuring they run consistently across different Linux distributions and versions.

The Core Concepts of Flatpak
At its heart, Flatpak operates on a few key principles:
- Sandboxing: Each Flatpak application runs in an isolated environment, or sandbox. This means that applications have limited access to the host system, enhancing security. If a Flatpak app is compromised, the damage is contained within its sandbox, protecting your core system files and data.
- Runtime Environments: Flatpak applications rely on shared “runtimes.” These are collections of libraries and dependencies that multiple applications can use. This approach reduces disk space usage as common libraries don’t need to be duplicated for every application. It also simplifies updates, as updating a runtime benefits all applications that depend on it.
- Bundled Dependencies: While Flatpak utilizes shared runtimes, it also bundles some application-specific dependencies. This ensures that the application has everything it needs to run, even if the host system is missing certain libraries or has incompatible versions.
- Distribution Agnostic: A primary goal of Flatpak is to be distribution-agnostic. This means an application packaged as a Flatpak can, in theory, run on any Linux distribution that has Flatpak installed, regardless of its underlying package management system (like APT on Ubuntu, DNF on Fedora, Pacman on Arch, etc.).
Benefits for Ubuntu Users
Integrating Flatpak on Ubuntu offers several distinct advantages:
- Access to Newer Software: Developers often release their applications as Flatpaks before or alongside traditional packages. This means you can get access to the latest features and bug fixes much sooner.
- Wider Application Selection: Many popular applications, especially proprietary ones or those with complex dependencies, are primarily distributed via Flatpak. This significantly expands the software catalog available to you.
- Dependency Management Simplified: Flatpak handles application dependencies internally. You no longer need to worry about whether your system has the correct version of a library for a specific application to run, as it’s all included in the Flatpak bundle or its associated runtime.
- Improved Security: The sandboxing model significantly reduces the attack surface of applications. Malicious code within a Flatpak app is less likely to harm your operating system.
- Consistent Environment: Applications behave more predictably because they run in a controlled environment, minimizing issues caused by variations in system libraries and configurations.
Installing Flatpak on Ubuntu
The installation of Flatpak on Ubuntu is a straightforward process, typically involving a few commands in the terminal. While Flatpak is available in the default Ubuntu repositories, using the official Flatpak PPA (Personal Package Archive) ensures you get the latest stable version and timely updates.
Method 1: Using the Official Ubuntu Repositories
For users who prefer to stick to the officially supported repositories, Flatpak is readily available.
-
Update Package Lists:
Open your terminal (you can usually find it by searching for “Terminal” in the application menu or by pressingCtrl+Alt+T) and run the following command to ensure your package lists are up to date:sudo apt updateThis command fetches the latest information about available packages from all configured software sources.
-
Install Flatpak:
Once your package lists are updated, you can install the Flatpak package using:sudo apt install flatpakThis command will download and install the Flatpak package and its necessary dependencies. You will be prompted to confirm the installation by typing ‘Y’ and pressing Enter.
-
Install the Ubuntu Flatpak Integration PPA (Recommended):
While theapt install flatpakcommand installs the Flatpak utility, it’s highly recommended to also install the Flatpak plugin for the GNOME Software application (which Ubuntu uses by default). This allows you to browse, install, and manage Flatpak applications directly from the Software Center, providing a more user-friendly experience.To do this, you’ll add the Flatpak PPA:
sudo add-apt-repository ppa:flatpak/stable sudo apt update sudo apt install gnome-software-plugin-flatpakThe
add-apt-repositorycommand adds the PPA to your system’s software sources. The subsequentapt updaterefreshes the package lists to include packages from the new PPA. Finally,apt install gnome-software-plugin-flatpakinstalls the necessary integration package.
Method 2: Installing via the Flatpak Stable PPA Directly (Often Preferred)
This method is generally preferred as it ensures you are using the most current and stable version of Flatpak directly from its dedicated PPA.
-
Add the Flatpak Stable PPA:
Open your terminal and execute the following command:sudo add-apt-repository ppa:flatpak/stableYou will be prompted to press Enter to confirm the addition of the PPA.
-
Update Package Lists:
After adding the PPA, refresh your package lists to include the packages from the new source:sudo apt update -
Install Flatpak:
Now, install the Flatpak package:sudo apt install flatpak -
Install the Ubuntu Flatpak Integration PPA:
As mentioned earlier, installing the GNOME Software plugin is crucial for seamless integration:sudo apt install gnome-software-plugin-flatpak
Post-Installation Steps and Reboot
After installing Flatpak and its GNOME Software integration, it is essential to perform a system reboot. This ensures that all background services and components related to Flatpak and GNOME Software are correctly initialized and running.
-
Reboot Your System:
You can reboot your Ubuntu system by clicking on the power icon in the top-right corner and selecting “Restart,” or by using the terminal command:sudo reboot
Upon restarting your computer, Flatpak will be fully integrated into your Ubuntu system.
Configuring Flatpak Repositories (Remotes)
Flatpak applications are distributed through “remotes,” which are essentially repositories. The most prominent and recommended remote for Flatpak applications is Flathub. To install applications from Flathub, you need to add it as a remote to your Flatpak installation.
Adding the Flathub Remote
Flathub is the de facto central hub for Flatpak applications, offering a vast and ever-growing collection of software.
-
Add Flathub:
Open your terminal and run the following command to add the Flathub repository:flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepoflatpak remote-add: This is the Flatpak command to add a new remote repository.--if-not-exists: This option ensures that the command only adds the remote if it doesn’t already exist, preventing errors if you run the command multiple times.flathub: This is the name you are giving to this remote. You will use this name when referring to the Flathub repository in subsequent commands.https://dl.flathub.org/repo/flathub.flatpakrepo: This is the URL of the Flatpak repository definition file for Flathub.
-
Verify Flathub Remote:
You can verify that Flathub has been successfully added by listing your currently configured remotes:flatpak remotesThis command should output
flathub(and possiblySebagaiif you have other remotes configured).
Understanding Runtimes and Application Installation

Once Flathub is added, your system is ready to download and install applications. When you install a Flatpak application, Flatpak will first check if the necessary runtimes are already installed. If not, it will download and install the required runtimes from Flathub. Then, it will proceed to download and install the application itself.
Managing Flatpak Applications
With Flatpak installed and Flathub configured, you can now explore and manage applications. Flatpak provides robust command-line tools for searching, installing, updating, and uninstalling applications. Additionally, the GNOME Software Center offers a graphical interface for these tasks.
Using the GNOME Software Center
If you installed the gnome-software-plugin-flatpak, your Ubuntu Software Center will now display Flatpak applications.
-
Launch Software Center:
Open “Ubuntu Software” from your application menu. -
Search for Applications:
Use the search bar to look for applications. You will see applications from both the standard Ubuntu repositories and Flathub. Flatpak applications are typically clearly marked. -
Install Applications:
Click on an application’s listing, and if it’s a Flatpak, you’ll see an “Install” button. Clicking this will initiate the download and installation process. You may be prompted for your password. -
Manage Installed Applications:
Navigate to the “Installed” tab in the Software Center to see all your installed applications, including Flatpaks. From here, you can update or uninstall them.
Using the Flatpak Command Line
For more advanced control or for users who prefer the terminal, Flatpak offers a comprehensive set of commands.
Searching for Applications
To find applications available on your configured remotes, use the flatpak search command.
flatpak search <application_name>
For example, to search for the VLC media player:
flatpak search vlc
This will list any Flatpak applications that match your search query, along with their application IDs, branches, and descriptions.
Installing Applications
To install an application, you use its unique application ID. You can find this ID from the search results.
flatpak install <remote_name> <application_id>
Using Flathub as the remote name and assuming you found the application ID for VLC to be org.videolan.VLC:
flatpak install flathub org.videolan.VLC
You will be prompted to confirm the installation and download.
Listing Installed Applications
To see all Flatpak applications installed on your system:
flatpak list
This will display the application ID, version, branch, and installation location.
Updating Applications
To update all installed Flatpak applications to their latest versions:
flatpak update
If you wish to update a specific application, you can do so by providing its application ID:
flatpak update <application_id>
Uninstalling Applications
To remove a Flatpak application from your system:
flatpak uninstall <application_id>
For example, to uninstall VLC:
flatpak uninstall org.videolan.VLC
You will be asked to confirm the uninstallation.
Cleaning Up Unused Runtimes
Over time, you might accumulate runtimes that are no longer used by any installed applications. Flatpak provides a command to clean these up:
flatpak uninstall --unused
This command will identify and remove any runtimes that are not required by currently installed applications, freeing up disk space.
Troubleshooting Common Issues
While Flatpak is generally robust, you might encounter occasional issues. Here are some common problems and their solutions.
Flatpak Applications Not Appearing in Software Center
- Cause: The GNOME Software plugin might not be installed correctly, or the Software Center needs a refresh.
- Solution:
- Ensure you have installed
gnome-software-plugin-flatpakand rebooted your system. - Try refreshing the Software Center by closing and reopening it.
- As a fallback, you can always install and manage Flatpak applications using the command line.
- Ensure you have installed
Installation or Update Errors
- Cause: Network issues, corrupted downloads, or problems with the Flatpak backend.
- Solution:
- Check Network Connection: Ensure your internet connection is stable.
- Update Flatpak: Make sure Flatpak itself is up to date:
sudo apt update && sudo apt install flatpak. - Clear Cache: Sometimes clearing the Flatpak cache can help:
flatpak uninstall --unusedfollowed by trying the installation again. - Check Remote: Verify that the Flathub remote is correctly added and accessible:
flatpak remotes. - Examine Error Messages: Carefully read any error messages provided by the
flatpak installorflatpak updatecommands, as they often contain clues about the problem.

Sandboxing Issues and Permissions
- Cause: Applications running in a sandbox have limited access to your system. Sometimes, an application might require specific permissions to function correctly (e.g., accessing external drives, specific hardware).
- Solution:
- Check Flatpak Permissions: You can view and modify permissions for installed Flatpak applications using
flatpak override. For example, to grant an application access to the user’s home directory (use with caution):
bash
flatpak override <application_id> --filesystem=home
- Consult Application Documentation: Developers often provide information on specific permission requirements for their Flatpak applications.
- Use Flatseal: For a more user-friendly graphical interface to manage Flatpak permissions, consider installing Flatseal, a dedicated application available as a Flatpak itself. Search for “Flatseal” in the Software Center or install it via the command line:
bash
flatpak install flathub com.github.tchx84.Flatseal
- Check Flatpak Permissions: You can view and modify permissions for installed Flatpak applications using
By following these steps, you can successfully install and manage Flatpak applications on your Ubuntu system, significantly expanding your software options and benefiting from modern application distribution practices.
