As you may know, Flatpak is a software deployment tool that aims to ease software distribution and use in Linux. It is mainly developed to contain applications in a secure virtual sandbox allowing for using applications without the need of root privileges and without compromising on the systems security. Since the Flatpak apps are contained inside the sandbox environment, they have to request permissions to access other parts of the operating system, hardware devices (like bluetooth, network etc.) and sockets (like pulseaudio, ssh-auth, cups etc.). This guide teaches how we can easily configure flatpak apps permissions with Flatseal in Linux.
For those wondering, Flatseal is a simple graphical GTK application that allows the users to review and modify flatpak apps basic permissions. With the help of Flatseal, the users can easily control what access to grant individual flatpak applications. For example, the users can able to allow or deny network access to a specific flatpak application with a single mouse click! Another good advantage is you can easily reset the permissions to the default settings if something went wrong. This is an useful feature, especially for troubleshooting. If you are a heavy user of Flatpak apps, you might want to consider using Flatseal.
Install Flatseal in Linux
Flatseal itself is available as flatpak app in Flathub repository. First, Install Flatpak on your Linux system as described in the following link.
Now run the following command to install Flatseal:
$ flatpak install flathub com.github.tchx84.Flatseal
If you want to build Flatseal from source, git clone the Flatseal github repository.
$ git clone https://github.com/tchx84/Flatseal.git
This command will clone the contents of Flatseal repository in a directory named "Flatseal" in your local system
Go to the Flatseal directory:
$ cd Flatseal
Build and install Flatseal by running the following commands on by one:
$ flatpak-builder --force-clean --repo=repo build com.github.tchx84.Flatseal.json $ flatpak build-bundle repo flatseal.flatpak com.github.tchx84.Flatseal $ flatpak install flatseal.flatpak
Configure Flatpak Apps Permissions With Flatseal In Linux
Flatseal makes the process of configuring Flatpak app permissions incredibly easy!
Launch Flatseal either from the dash or run it from Terminal using command:
$ flatpak run com.github.tchx84.Flatseal
The default interface of Flatseal will look like below.
For the purpose of this guide, let us take Fondo application as an example. Fondo is a graphical wallpaper app that allows you to browse thousands of beautiful wallpapers from "Unsplash" website and set them as your desktop wallpaper. Fondo requires an active Internet connection to connect to the Unsplash site. Let us deny the network access to the Fondo app using Flatseal and see what happens.
To do so, select the Fondo app in the Flatseal interface. On the right hand side, you will see the list of enabled and disabled permissions of the Fondo app. Click on the slider button available next to the Network option to enable/disable the network access.
Now I opened the Fondo app to verify if the network permission is disabled or not.
See? I disabled the network access permission of the Fondo app and It couldn't connect to the outside world!
To enable the network permission again, simply click on the slider button.
Likewise, you can configure other basic permissions of all Flatpak applications with a mouse click.
If something went wrong, you can quickly reset to the default settings by clicking on the Reset button on the top right side.
It is that simple!
Hope it helps.