Flatpak, or xdg-app, is a package management tool for the Linux operating system. It allows you to install and manage packages using flatpak package manager. Flatpak has its own repository so you don't need to rely on other repositories. It provides all the libraries and dependencies that are necessary for software installation. It is a cross-distro application deployment framework that enables developers to Flatpak setup for apps for all major distributions.
This post will show you how to install and use the Flatpak package management tool on Ubuntu 22.04.
Prerequisites
- A server running Ubuntu 22.04.
- A root password is configured on the server.
Install Flatpak
By default, the Flatpak package is included in the Ubuntu default repository. You can install it by running the following command:
apt install flatpak -y
Once the Flatpak package is installed, you can verify its version using the following command:
flatpak --version
You should see the following output:
Flatpak 1.12.7
Enable Flatpak Repository
Before using Flatpak, you will need to add the Flatpak repository to your system. You can add it with the following command:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
You can now easily search and install the applications using Flatpak.
Search an Application Using Flatpak
Flatpak provides search functionality to search for available applications using the command line interface.
The basic syntax to search an application is shown below:
flatpak search application-name
For example, to search a telegram application run the following command:
flatpak search telegram
You should get the following result:
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 a Skype, run the following command:
flatpak search skype
You should get the following output:
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 a Google Chrome Using Flatpak
First, search for a google chrome application using the following command:
flatpak search chrome
You should get the following output:
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
You can now use the application id from the above output to install Google Chrome:
flatpak install com.google.Chrome
You should see the following output:
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
To list all installed applications, run the following command:
flatpak list
You should get the following lists:
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
After installing the Google Chrome application, you can launch it by running the following command:
flatpak run com.google.Chrome
The above command will launch a Google Chrome GUI application.
Remove an Application Using the Flatpak
To remove the Google Chrome application, run the following command:
flatpak uninstall com.google.Chrome
You should see the following output:
ID Branch Op 1. com.google.Chrome stable r Proceed with these changes to the system installation? [Y/n]: Y
To remove unused applications, run the following command:
flatpak uninstall --unused
To get more information about Flatpak commands, run the following command:
flatpak --help
You should see all command line options in the following output:
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
Congratulations! you have successfully installed Flatpak on Ubuntu 22.04. You can now use Flatpak as an alternate package manager to APT to install and manage packages. Feel free to ask me if you have any questions.