Flatpak
Introduction¶
From the project's webpage:
Flatpak is a framework for distributing desktop applications across various Linux distributions. It has been created by developers who have a long history of working on the Linux desktop, and is run as an independent open source project.
Flatpak comes installed by default when installing Rocky Linux with software selections that include GNOME ("Server with GUI" or "Workstation"). Manual installation is also possible. (see included procedure) It is an excellent way to populate your desktop environment with tools you want to use.
Manual installation¶
Note
You can skip this step if you are already running the full GNOME Desktop environment described in the introduction.
Install Flatpak with:
sudo dnf install flatpak
Add the Flatpak repository:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Restart your system:
sudo shutdown -r now
Flatpak commands¶
To see a list of all available Flatpak commands:
flatpak --help
This outputs the following:
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
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
Memorizing the list of commands is unnecessary, but knowing how to get to the list and using the option --help
is a good idea.
Warning
If you are on a version of Rocky Linux 9.x, you will experience this bug. When running the command:
flatpak search [packagename]
Where [packagename] is the package you are looking for, you will get:
F: Failed to parse /var/lib/flatpak/appstream/flathub/x86_64/active/appstream.xml.gz file: Error on line 4065 char 29: <p> already set '
Organic Maps is a free Android & iOS offline maps app for travelers,
tourists, hikers, drivers, and cyclists.
It uses crowd-sourced OpenStreetMap data and is developed with love by
' and tried to replace with ' ('
No matches found
There is no workaround for this. To avoid the error, use the Flathub resource in this document to obtain and install the desired package.
Flathub¶
Flathub is a web resource for obtaining or submitting desktop packages.
To browse Flathub, visit https://flathub.org/. A huge list of curated desktop packages exists here, nicely divided into categories.
Using Flathub with Flatpak¶
As an example, the installation process for OBS Studio is:
-
Open the "Audio & Video" section on Flathub
-
Select "OBS Studio" from the list
-
Click the down arrow next to the "Install" button
-
Ensure you have completed all of the installation prerequisites for Rocky Linux (number 1 in the second image, which is already completed above) and then copy the command (number 2 in the second image) and paste that into a terminal
flatpak install flathub com.obsproject.Studio Looking for matches… Required runtime for com.obsproject.Studio/x86_64/stable (runtime/org.kde.Platform/x86_64/6.6) found in remote flathub Do you want to install it? [Y/n]: Y
-
When you answer "Y" and hit Enter, you will see the following:
com.obsproject.Studio permissions: ipc network pulseaudio wayland x11 devices file access [1] dbus access [2] system dbus access [3] [1] host, xdg-config/kdeglobals:ro, xdg-run/pipewire-0 [2] com.canonical.AppMenu.Registrar, org.a11y.Bus, org.freedesktop.Flatpak, org.freedesktop.Notifications, org.kde.KGlobalSettings, org.kde.StatusNotifierWatcher, org.kde.kconfig.notify [3] org.freedesktop.Avahi ID Branch Op Remote Download 1. com.obsproject.Studio.Locale stable i flathub < 47.0 kB (partial) 2. org.kde.KStyle.Adwaita 6.6 i flathub < 8.0 MB 3. org.kde.Platform.Locale 6.6 i flathub < 380.6 MB (partial) 4. org.kde.PlatformTheme.QGnomePlatform 6.6 i flathub < 9.7 MB 5. org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 i flathub < 1.2 MB 6. org.kde.Platform 6.6 i flathub < 325.0 MB 7. com.obsproject.Studio stable i flathub < 207.7 MB Proceed with these changes to the system installation? [Y/n]:
-
Answering "Y" and hitting Enter will change system permissions as noted and install the application.
-
If all goes well, you should receive:
Installation complete.
-
From the "Activities" menu, you can now search for and run OBS Studio.
Listing packages¶
To see the Flatpak installations you have on your system, open a terminal and use this command:
flatpak list
which will show you output such as this:
Name Application ID Version Branch Installation
OBS Project com.obsproject.Studio 30.1.2 stable system
FileZilla org.filezillaproject.Filezilla 3.66.1 stable system
Freedesktop Platform org.freedesktop.Platform 22.08.24 22.08 system
Freedesktop Platform org.freedesktop.Platform 23.08.16 23.08 system
Mesa org.freedesktop.Platform.GL.default 24.0.4 22.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 24.0.4 22.08-extra system
Mesa org.freedesktop.Platform.GL.default 24.0.5 23.08 system
Mesa (Extra) org.freedesktop.Platform.GL.default 24.0.5 23.08-extra system
Intel org.freedesktop.Platform.VAAPI.Intel 22.08 system
Intel org.freedesktop.Platform.VAAPI.Intel 23.08 system
openh264 org.freedesktop.Platform.openh264 2.1.0 2.2.0 system
openh264 org.freedesktop.Platform.openh264 2.4.1 2.4.1 system
The GIMP team org.gimp.GIMP 2.10.36 stable system
GNOME Application Platform version 46 org.gnome.Platform 46 system
Adwaita theme org.kde.KStyle.Adwaita 6.6 system
KDE Application Platform org.kde.Platform 6.6 system
QGnomePlatform org.kde.PlatformTheme.QGnomePlatform 6.6 system
QAdwaitaDecorations org.kde.WaylandDecoration.QAdwaitaDecorations 6.6 system
Updating packages¶
To update a package to the latest version, use the "Application ID" from the flatpak list
output:
flatpak update com.obsproject.Studio
Removing packages¶
To uninstall a package, use the "Application ID" from the flatpak list
output:
flatpak uninstall com.obsproject.Studio
Conclusion¶
You can use Flathub and Flatpak to populate your GNOME desktop with applications, from games to productivity tools, easily.
Author: Steven Spencer
Contributors: Ganna Zhyrnova