Installing Flatpak on Ubuntu 22.04

Flatpak, formerly known as xdg-app, stands out as a versatile package management tool designed for the Linux operating system. It provides an efficient way to install and manage software with its exclusive repository, sparing you from dependency on other repositories. This self-contained system provides all necessary libraries and dependencies, ensuring seamless software installation. As a cross-distribution application deployment framework, it empowers developers to set up applications for all major Linux distributions with ease.

In this guide, we’ll walk you through the process of installing and using the Flatpak package management tool on Ubuntu 22.04.

Prerequisites

  • A server running Ubuntu 22.04.
  • A configured root password on the server.

Install Flatpak

The Flatpak package is readily available in the Ubuntu default repository. You can install it using the following command:

apt install flatpak -y

Once the Flatpak package installation is complete, verify its version with this command:

flatpak --version

If the installation is successful, you should see an output similar to:

Flatpak 1.12.7

Enable Flatpak Repository

To begin using Flatpak, add the Flatpak repository to your system with the command:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

After adding the repository, you can quickly search for and install applications through Flatpak.

Search for an Application Using Flatpak

Flatpak offers a search feature, allowing you to locate available applications via the command line interface. The syntax for searching an application is:

flatpak search application-name

For instance, to search for the Telegram application, execute the following command:

flatpak search telegram

Your search should yield results similar to:

Name                    Description                                                           Application ID            Version Branch Remotes
Telegram Desktop        Fast. Secure. Powerful.                                               org.telegram.desktop      4.3.1   stable flathub
Telegram Desktop Webvi… Webview add-on that enables Telegram Desktop to show web content      …telegram.desktop.webview 2.38.2  stable flathub
Kotatogram Desktop      Kotatogram Desktop messenger                                          io.github.kotatogram      1.4.8   stable flathub
LibreTrack              Private, cross-platform package tracking app                          …roninyaroslav.libretrack 1.3.0   stable flathub
Tangram                 Browser for your pinned tabs                                          re.sonny.Tangram          1.4.2   stable flathub
Bolls                   A web app for reading the Bible with full emphasis on the God`s Word… life.bolls.bolls          2.1.80  stable flathub
Franz                   Messenger for the desktop                                             com.meetfranz.Franz       5.9.1   stable flathub
Delta Chat              Delta Chat email-based messenger                                      chat.delta.desktop        v1.32.1 stable flathub

To search for Skype, use the command:

flatpak search skype

The output should look like:

Name         Description                                                 Application ID            Version          Branch       Remotes
Skype        Call and message skype users, with video chat support       com.skype.Client          8.90.0.407       stable       flathub
Franz        Messenger for the desktop                                   com.meetfranz.Franz       5.9.1            stable       flathub

Install Google Chrome Using Flatpak

First, locate the Google Chrome application by running:

flatpak search chrome

The output should resemble:

Name              Description                                                       Application ID             Version          Branch Remotes
Google Chrome     The web browser from Google                                       com.google.Chrome          107.0.5304.110-1 stable flathub
Chromium Web Bro… The web browser from Chromium project                             org.chromium.Chromium      107.0.5304.110   stable flathub
ungoogled-chromi… A lightweight approach to removing Google web service dependency  …Eloston.UngoogledChromium 107.0.5304.110   stable flathub
Google Chrome (u… The web browser from Google                                       com.google.ChromeDev       109.0.5410.0-1   stable flathub
CrosAdapta        Chrome OS GTK theme                                               …gtk.Gtk3theme.CrosAdapta                  3.22   flathub
PhotoQt Image Vi… View and manage images                                            org.photoqt.PhotoQt        2.9.1            stable flathub
Firestorm Viewer  Client for accessing 3D virtual worlds                            …ormviewer.FirestormViewer 6.3.9.58205      stable flathub
Joplin            A free, open source note taking and to-do application, which can… net.cozic.joplin_desktop   2.8.8            stable flathub
Google Play Musi… Run Google Play Music as a standalone desktop app                 …ymusicdesktopplayer.GPMDP 4.7.1            stable flathub
Gabut Download M… Simple and Faster Download Manager                                …github.gabutakut.gabutdm 1.9.9            stable flathub
Postman           Postman is a complete API development environment.                com.getpostman.Postman     10.1.2           stable flathub
Boxy SVG          Scalable Vector Graphics editor                                   com.boxy_svg.BoxySVG       3.92.0           stable flathub

To install Google Chrome, utilize the application ID obtained from the above output:

flatpak install com.google.Chrome

On running the command, you should see something like:

Looking for matches…
Required runtime for com.google.Chrome/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/22.08) found in remote flathub
Do you want to install it? [Y/n]: Y

com.google.Chrome permissions:
    ipc                        network                         cups             pcsc                    pulseaudio
    wayland                    x11                             devices          file access [1]         dbus access [2]
    bus ownership [3]          system dbus access [4]          tags [5]

    [1] /run/.heim_org.h5l.kcm-socket, host-etc, xdg-documents, xdg-download, xdg-music, xdg-pictures, xdg-run/dconf, xdg-run/pipewire-0,
        xdg-videos, ~/.config/dconf:ro, ~/.config/kioslaverc
    [2] ca.desrt.dconf, org.freedesktop.FileManager1, org.freedesktop.Notifications, org.freedesktop.secrets, org.gnome.SessionManager
    [3] org.mpris.MediaPlayer2.chromium.*
    [4] org.freedesktop.Avahi, org.freedesktop.UPower
    [5] proprietary


        ID                                             Branch            Op           Remote            Download
 1.     org.freedesktop.Platform.GL.default            22.08             i            flathub           < 131.0 MB
 2.     org.freedesktop.Platform.Locale                22.08             i            flathub           < 333.0 MB (partial)
 3.     org.freedesktop.Platform.openh264              2.2.0             i            flathub           < 944.3 kB
 4.     org.freedesktop.Platform                       22.08             i            flathub           < 214.4 MB
 5.     com.google.Chrome                              stable            i            flathub           < 100.1 MB

Proceed with these changes to the system installation? [Y/n]: Y

List Installed Applications

To see all installed applications, execute:

flatpak list

Your result will appear as follows:

Name                           Application ID                                Version                   Branch          Installation
Google Chrome                  com.google.Chrome                             107.0.5304.110-1          stable          system
Freedesktop Platform           org.freedesktop.Platform                      22.08.3                   22.08           system
Mesa                           org.freedesktop.Platform.GL.default           22.1.7                    22.08           system
openh264                       org.freedesktop.Platform.openh264             2.1.0                     2.2.0           system

Run a Flatpak Application

Having installed Google Chrome, you can launch it by running:

flatpak run com.google.Chrome

The above command will open the Google Chrome application with its GUI.

Remove an Application Using Flatpak

To uninstall Google Chrome, execute:

flatpak uninstall com.google.Chrome

The process will output a sequence similar to:

        ID                      Branch       Op
 1.     com.google.Chrome       stable       r

Proceed with these changes to the system installation? [Y/n]: Y

To clean up any unused applications, use this command:

flatpak uninstall --unused

Find Additional Flatpak Commands

For an overview of other Flatpak commands, type:

flatpak --help

You should see a list of commands like:

Usage:
  flatpak [OPTION…] COMMAND

Builtin Commands:
 Manage installed applications and runtimes
  install                Install an application or runtime
  update                 Update an installed application or runtime
  uninstall              Uninstall an installed application or runtime
  mask                   Mask out updates and automatic installation
  pin                    Pin a runtime to prevent automatic removal
  list                   List installed apps and/or runtimes
  info                   Show info for installed app or runtime
  history                Show history
  config                 Configure flatpak
  repair                 Repair flatpak installation
  create-usb             Put applications or runtimes onto removable media

 Find applications and runtimes
  search                 Search for remote apps/runtimes

 Manage running applications
  run                    Run an application
  override               Override permissions for an application
  make-current           Specify default version to run
  enter                  Enter the namespace of a running application
  ps                     Enumerate running applications
  kill                   Stop a running application

Conclusion

Well done! You’ve successfully installed Flatpak on Ubuntu 22.04. This installation opens up a versatile alternative to APT, granting flexibility in managing your package collection. If you encounter any issues or have further questions, please feel free to reach out.

Frequently Asked Questions (FAQ)

What is Flatpak?
Flatpak is a package management tool for Linux that allows installation and management of software packages in a universal format across different distributions.
Why should I use Flatpak over standard package managers?
Flatpak provides a sandboxed environment, minimizing compatibility issues across distributions, and includes all dependencies, offering a streamlined installation process.
Is Flatpak secure?
Yes, applications run in isolation (sandbox), enhancing security by preventing unauthorized access to user data and system resources.
How do I update Flatpak applications?
Use the command flatpak update to update installed Flatpak packages to their latest versions.
Can I use Flatpak alongside other package managers?
Absolutely! Flatpak operates independently and can be used alongside traditional package managers like APT or DNF.