How to Install and Use Flatpak on Ubuntu 24.04

|
Last Updated:
|
|
Flatpak on Ubuntu 24.04

In this tutorial, we will take you through how to install and use Flatpak on Ubuntu 24.04. So, what is Flatpak? According to the documentation, Flatpak is a framework for building, distributing, and running desktop applications across various Linux distributions. Flatpak applications are developed and hosted on a central reposiory called Flathub respository.

Install and Use Flatpak on Ubuntu 24.04

If you are looking at universality, space for innovations, stability… on how you manage your package installation on your Ubuntu 24.04 system, Flatpak is what your are looking for. The steps provided below will take you through how to install and use it on Ubuntu 24.04.

Installing Flatpak on Ubuntu 24.04

Flatpak package is available on the default Ubuntu repositories. It can easily be installed by executing the command below.

sudo apt udpate
sudo apt install flatpak
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libmalcontent-0-0 libostree-1-1
Suggested packages:
  malcontent-gui
The following NEW packages will be installed:
  flatpak libmalcontent-0-0 libostree-1-1
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Need to get 1,742 kB of archives.
After this operation, 6,548 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu noble/universe amd64 libmalcontent-0-0 amd64 0.11.1-1build4 [21.9 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble/universe amd64 libostree-1-1 amd64 2024.5-1build2 [373 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble/universe amd64 flatpak amd64 1.14.6-1 [1,348 kB]
Fetched 1,742 kB in 1s (1,418 kB/s)   
Selecting previously unselected package libmalcontent-0-0:amd64.
(Reading database ... 154396 files and directories currently installed.)
Preparing to unpack .../libmalcontent-0-0_0.11.1-1build4_amd64.deb ...
Unpacking libmalcontent-0-0:amd64 (0.11.1-1build4) ...
Selecting previously unselected package libostree-1-1:amd64.
Preparing to unpack .../libostree-1-1_2024.5-1build2_amd64.deb ...
Unpacking libostree-1-1:amd64 (2024.5-1build2) ...
Selecting previously unselected package flatpak.
Preparing to unpack .../flatpak_1.14.6-1_amd64.deb ...
Unpacking flatpak (1.14.6-1) ...
Setting up libostree-1-1:amd64 (2024.5-1build2) ...
Setting up libmalcontent-0-0:amd64 (0.11.1-1build4) ...
Setting up flatpak (1.14.6-1) ...
Processing triggers for man-db (2.12.0-4build2) ...
Processing triggers for dbus (1.14.10-4ubuntu4) ...
Processing triggers for libc-bin (2.39-0ubuntu8.1) ...

Once the installation is complete, flatpak command line tools should now be available for use.

which flatpak
/usr/bin/flatpak

Confirm installed version;

flatpak --version
Flatpak 1.14.6

Counter check against the releases.

Using Flatpak on Ubuntu 24.04

Basic Flatpak Command Line Usage

flatpak is a command line tool that you will be using to manage Flatpak applications.

The basic command line syntax for flatpak command is;

flatpak [OPTION…] COMMAND

You can check its help page on various command line arguments (options and commands) to pass to it.

flatpak -h

Or;

flatpak --help
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

 Manage file access
  documents              List exported files
  document-export        Grant an application access to a specific file
  document-unexport      Revoke access to a specific file
  document-info          Show information about a specific file

 Manage dynamic permissions
  permissions            List permissions
  permission-remove      Remove item from permission store
  permission-set         Set permissions
  permission-show        Show app permissions
  permission-reset       Reset app permissions

 Manage remote repositories
  remotes                List all configured remotes
  remote-add             Add a new remote repository (by URL)
  remote-modify          Modify properties of a configured remote
  remote-delete          Delete a configured remote
  remote-ls              List contents of a configured remote
  remote-info            Show information about a remote app or runtime

 Build applications
  build-init             Initialize a directory for building
  build                  Run a build command inside the build dir
  build-finish           Finish a build dir for export
  build-export           Export a build dir to a repository
  build-bundle           Create a bundle file from a ref in a local repository
  build-import-bundle    Import a bundle file
  build-sign             Sign an application or runtime
  build-update-repo      Update the summary file in a repository
  build-commit-from      Create new commit based on existing ref
  repo                   Show information about a repo

Help Options:
  -h, --help              Show help options

Application Options:
  --version               Print version information and exit
  --default-arch          Print default arch and exit
  --supported-arches      Print supported arches and exit
  --gl-drivers            Print active gl drivers and exit
  --installations         Print paths for system installations and exit
  --print-updated-env     Print the updated environment needed to run flatpaks
  --print-system-only     Only include the system installation with --print-updated-env
  -v, --verbose           Show debug information, -vv for more detail
  --ostree-verbose        Show OSTree debug information

Enable Flathub Repository on Ubuntu 24.04

As already mentioned, Flatpak applications are developed, published and hosted on Flathub repository. In order to be able to use flatpak command to install Flatpak packages, you need to install and enable it by running the command below;

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

You can check all installed Flatpak repositories using the command below;

flatpak remotes

Sample output;

Name    Options
flathub system

To get details about the packages hosted on the installed repository;

flatpak remote-ls [name of the repo]

For example;

flatpak remote-ls flathub

Sample output;

Name                                                Application ID                                                                Version        Branch              Arch
AuthPass                                            app.authpass.AuthPass                                                                        stable              x86_64
BlackboardSync                                      app.bbsync.BlackboardSync                                                                    stable              x86_64
BlueBubbles                                         app.bluebubbles.BlueBubbles                                                                  stable              x86_64
Cantara                                             app.cantara.Cantara                                                                          stable              x86_64
Biblioteca                                          app.drey.Biblioteca                                                                          stable              x86_64
Blurble                                             app.drey.Blurble                                                                             stable              x86_64
Damask                                              app.drey.Damask                                                                              stable              x86_64
Dialect                                             app.drey.Dialect                                                                             stable              x86_64
Doggo                                               app.drey.Doggo                                                                               stable              x86_64
EarTag                                              app.drey.EarTag                                                                              stable              x86_64
Elastic                                             app.drey.Elastic                                                                             stable              x86_64
KeyRack                                             app.drey.KeyRack                                                                             stable              x86_64
MultiplicationPuzzle                                app.drey.MultiplicationPuzzle                                                                stable              x86_64
Warp                                                app.drey.Warp                                                                                stable              x86_64
feeddeck                                            app.feeddeck.feeddeck                                                                        stable              x86_64
Clipboard                                           app.getclipboard.Clipboard                                                                   stable              x86_64
Space                                               app.getspace.Space                                                                           stable              x86_64
gummi                                               app.gummi.gummi                                                                              stable              x86_64
Kaiteki                                             app.kaiteki.Kaiteki                                                                          stable              x86_64
Lith                                                app.lith.Lith                                                                                stable              x86_64
MidtermDesktop                                      app.midterm.MidtermDesktop                                                                   stable              x86_64
moosync                                             app.moosync.moosync                                                                          stable              x86_64
desktop                                             app.organicmaps.desktop                                                                      stable              x86_64
pianocheetah                                        app.pianocheetah.pianocheetah                                                                stable              x86_64
RedNotebook                                         app.rednotebook.RedNotebook                                                                  stable              x86_64
RiftShare                                           app.riftshare.RiftShare                                                                      stable              x86_64
Vup                                                 app.vup.Vup                                                                                  stable              x86_64
xemu                                                app.xemu.xemu                                                                                stable              x86_64
ytmdesktop                                          app.ytmdesktop.ytmdesktop                                                                    stable              x86_64
Ywallet                                             app.ywallet.Ywallet                                                                          stable              x86_64
App                                                 ar.com.pilas_engine.App                                                                      stable              x86_64
Rockarrolla                                         ar.com.softwareperonista.Rockarrolla                                                         stable              x86_64
TuxGuitar                                           ar.com.tuxguitar.TuxGuitar                                                                   stable              x86_64
Cambalache                                          ar.xjuan.Cambalache                                                                          stable              x86_64
tauno-monitor                                       art.taunoerik.tauno-monitor                                                                  stable              x86_64
tauno-serial-plotter                                art.taunoerik.tauno-serial-plotter                                                           stable              x86_64
ConfClerk                                           at.priv.toastfreeware.ConfClerk                                                              stable              x86_64
server                                              at.ssh_mitm.server                                                                           stable              x86_64
VintageStory                                        at.vintagestory.VintageStory                                                                 stable              x86_64
escript                                             au.edu.uq.esys.escript                                                                       stable              x86_64
terminal                                            br.app.pw3270.terminal                                                                       stable              x86_64
school                                              br.com.eduk.school                                                                           stable              x86_64
Xjump                                               br.com.gualandi.Xjump                                                                        stable              x86_64
qpdftools                                           br.eng.silas.qpdftools                                                                       stable              x86_64
invesalius                                          br.gov.cti.invesalius                                                                        stable              x86_64
irpf2022                                            br.gov.fazenda.receita.irpf2022                                                              stable              x86_64
irpf2023                                            br.gov.fazenda.receita.irpf2023                                                              stable              x86_64
irpf2024                                            br.gov.fazenda.receita.irpf2024                                                              stable              x86_64
Nestopia                                            ca._0ldsk00l.Nestopia                                                                        stable              x86_64
dconf-editor                                        ca.desrt.dconf-editor                                                                        stable              x86_64
Timecop                                             ca.hamaluik.Timecop                                                                          stable              x86_64
asunder                                             ca.littlesvr.asunder                                                                         stable              x86_64
ParallelLauncher                                    ca.parallel_launcher.ParallelLauncher                                                        stable              x86_64
Raven                                               ca.uwaterloo.Raven                                                                           stable              x86_64
...

Read more on

flatpak remote-ls --help

Installing Flatpak Packages

With Flatpak and repositories in place, you can now install Flatpak packages.

Take for example, you want to install Discord app on Ubuntu 24.04 using Flatpak, you can start by checking if the package is available.

sudo flatpak search discord

You will get multiple hits.

Name         Description                                                                                      Application ID               Version                   Branch Remotes
discord-scr… A custom discord client that supports streaming with audio on Linux                              ….shorsh.discord-screenaudio 0.0.0+git20240404.64c4303 stable flathub
Discord      Messaging, voice and video client                                                                com.discordapp.Discord       0.0.51                    stable flathub
ArmCord      ArmCord is a custom client designed to enhance your Discord experience while keeping everything… xyz.armcord.ArmCord          3.2.6                     stable flathub
Dissent      Tiny Discord app                                                                                 so.libdb.dissent             v0.0.23                   stable flathub
Discover Ov… A graphical overlay for Discord voice chat.                                                      …thub.trigg.discover_overlay 0.7.4                     stable flathub
WebCord      Web-based Discord client                                                                         ….github.spacingbat3.webcord 4.8.0                     stable flathub
Vesktop      Snappier Discord app with Vencord                                                                dev.vencord.Vesktop          1.5.1                     stable flathub
QTCord       Lightweight Discord Client                                                                       io.github.mak448a.QTCord     v0.0.12                   stable flathub
Datcord      An open-source Discord client that uses Firefox                                                  io.github.gamingdoom.Datcord 0.5.1                     stable flathub
Ripcord      Alternative desktop chat client for Slack (and Discord)                                          fm.cancel.Ripcord            0.4.29                    stable flathub
Tonbrett     Companion App for Discord Soundboard Bot                                                         dev.schlaubi.Tonbrett        1.18.19                   stable flathub
Cider        An open source and community oriented Apple Music client                                         sh.cider.Cider               v1.6.2                    stable flathub
Alien Arena  Ultra fast paced arena FPS                                                                       org.alienarena.alienarena    7.71.6                    stable flathub
Veloren      Veloren is a multiplayer voxel RPG written in Rust. It is inspired by games such as Cube World,… net.veloren.veloren          0.15.0-nightly            stable flathub
Airshipper   Airshipper is the official launcher for Veloren.                                                 net.veloren.airshipper       0.11.0                    stable flathub
RetroDECK    RetroDECK brings an environment to catalog and play your retro games directly on your Steam Deck net.retrodeck.retrodeck      0.8.0b                    stable flathub
REAL Video … Free and Open Source Video Enhancement Tool                                                      …tntwise.REAL-Video-Enhancer 1.1.2                     stable flathub
Resonance    Harmonize your listening experience                                                              io.github.nate_xyz.Resonance 0.1.3                     stable flathub
Muezzin      Islamic prayer times application                                                                 io.github.dbchoco.muezzin    v2.6.0                    stable flathub
Salawat      Islamic prayer times application                                                                 io.github.dbchoco.Salawat    v1.3.0                    stable flathub
Guilded      Messaging, Voice, and Video Client                                                               gg.guilded.Guilded           1.0.9251387               stable flathub
wger         Fitness/workout, nutrition and weight tracker                                                    de.wger.flutter              1.7.0                     stable flathub
AuthPass     Password Manager: Keep your passwords safe across all platforms and devices                      app.authpass.AuthPass        1.9.6_1904                stable flathub

The official discord;

Discord      Messaging, voice and video client                                                                com.discordapp.Discord       0.0.51                    stable flathub

You can then install the Flatpak package using the Application ID.

sudo flatpak install com.discordapp.Discord

Or with the name (If the name matches multiple packages, then you will be prompted to choose one from the matched options).

sudo flatpak install Discord
Looking for matches…
Similar refs found for ‘Discord’ in remote ‘flathub’ (system):

   1) app/de.shorsh.discord-screenaudio/x86_64/stable
   2) app/com.discordapp.Discord/x86_64/stable

Which do you want to use (0 to abort)? [0-2]:

In this case, you would choose option 2 to install Discord. If prompted, install application runtime and accept the permissions required for the application to work;

Do you want to install it? [Y/n]: y

com.discordapp.Discord permissions:
    ipc            network       pulseaudio       x11       devices       file access [1]       dbus access [2]      bus ownership [3]
    tags [4]

    [1] xdg-download, xdg-pictures:ro, xdg-videos:ro
    [2] com.canonical.AppMenu.Registrar, com.canonical.Unity, com.canonical.indicator.application, org.freedesktop.ScreenSaver, org.kde.StatusNotifierWatcher
    [3] org.kde.*
    [4] proprietary


        ID                                             Branch                 Op            Remote             Download
 1. [✓] org.freedesktop.Platform.GL.default            23.08                  i             flathub            164.3 MB / 164.6 MB
 2. [✓] org.freedesktop.Platform.GL.default            23.08-extra            i             flathub             18.5 MB / 164.6 MB
 3. [✓] org.freedesktop.Platform.Locale                23.08                  i             flathub             17.9 kB / 360.1 MB
 4. [✓] org.freedesktop.Platform.openh264              2.2.0                  i             flathub            886.7 kB / 944.3 kB
 5. [✓] org.freedesktop.Platform                       23.08                  i             flathub            177.5 MB / 227.6 MB
 6. [✓] com.discordapp.Discord                         stable                 i             flathub            106.9 MB / 110.3 MB

Installation complete.

Listing Installed Applications and Runtimes

You can list installed Flatpak apps and runtimes using the command, flatpak list;

flatpak list
Name                           Application ID                               Version           Branch               Installation
Discord                        com.discordapp.Discord                       0.0.51            stable               system
Freedesktop Platform           org.freedesktop.Platform                     23.08.17          23.08                system
Mesa                           org.freedesktop.Platform.GL.default          24.0.6            23.08                system
Mesa (Extra)                   org.freedesktop.Platform.GL.default          24.0.6            23.08-extra          system
openh264                       org.freedesktop.Platform.openh264            2.1.0             2.2.0                system

Running Flatpak Application

Once the application is installed, you can run using flatpak run command.

flatpak run com.discordapp.Discord

You can get a list of running Flatpak applications;

flatpak ps

Update Installed Applications

You can use flatpak update command.

sudo flatpak update <package>

You can press tab after typing sudo flatpak update to get the name of the package.

Remove/Uninstall Flatpak Package

You can also uninstall a Flatpak package;

sudo flatpak uninstall <package>

More Flatpak Package Management Commands

Refer to either;

man flatpak

Or

flatpak --help

For more Flatpak package management options.

Conclusion

You have learnt how to install Flatpak on Ubuntu and how you can use it to manage packages.

Read more on getting started with Flatpak.

SUPPORT US VIA A VIRTUAL CUP OF COFFEE

We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!

Photo of author
Kifarunix
Linux Certified Engineer, with a passion for open-source technology and a strong understanding of Linux systems. With experience in system administration, troubleshooting, and automation, I am skilled in maintaining and optimizing Linux infrastructure.

Leave a Comment