How To Use And Install FlatPak On Linux
It seems as if universal application installers is the new thing in the Linux world. You’ve got the developers behind Ubuntu working on snaps, App Image (aka the closest thing to .exe files on Linux), Deis, ZeroInstall and of course, the new thing everyone is talking about: Flatpak. For too long the open source community, and Linux as a whole has needed a single way to deliver software to many different Linux distributions. In 2017, there are many different software projects competing for the spotlight. Flatpak is no different. It’s a tool developed by the Free Desktop Project that promises to make it super easy to deliver any type of software, seamlessly and easily to any type of Linux distribution on the market.
SPOILER ALERT: Scroll down and watch the video tutorial at the end of this article.
In this article, we’ll go over how to get this exciting new technology working on your favorite Linux distribution.
Installing FlatPak
Flatpak developers have worked hard with Linux distribution maintainers to make it so that getting everything running is easy. Open a terminal window, find the section with the operating system you use, and enter the command(s) to get it installed!
Arch Linux
sudo pacman -S flatpak
Fedora
sudo dnf install flatpak
OpenSUSE
sudo zypper install flatpak
Mageia
sudo urpmi flatpak
or (if using DNF)
sudo dnf install flatpak
Ubuntu
Ubuntu 16.04 LTS
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update sudo apt install flatpak
Ubuntu 17.04+
sudo apt install flatpak
Debian Testing/Unstable
sudo apt-get install flatpak
Gentoo
First, gain a root shell: sudo -s or su
Next, create a new configuration file: nano -w /etc/portage/repos.conf/flatpak-overlay.conf
Paste the following code inside the file:
[flatpak-overlay] priority = 50 location = /usr/local/portage/flatpak-overlay sync-type = git sync-uri = git://github.com/fosero/flatpak-overlay.git
auto-sync = Yes
Save the configuration file with the Ctrl + O keyboard combination.
Lastly, run a sync to install Flatpak.
emerge --sync
Using Flatpak
Flatpak is very decentralized technology. Unlike other “universal app” solutions like snaps, there’s no single software store. Instead, there are many. This program allows users to make their own containers, and upload them to the official servers, but it is also possible for users to host their own and ignore the official way entirely.
Are you a developer? Check out the official information to learn how to make a Flatpak.
Installing a Flatpak from a repository
To install a Flatpak app to your Linux computer, open a terminal. Next, enter this command to gain root access: sudo -s
In this example, we’ll be installing Spotify via the command line. Start off by telling the Flatpak service to get the remote app.
flatpak install --from https://s3.amazonaws.com/alexlarsson/spotify-repo/spotify.flatpakref
Then, install Spotify with the run command.
flatpak run com.spotify.Client
When the process is complete, check your application menu. A Spotify icon will appear.
Installing a Flatpak from a file
Luckily, the command line is not the only way to install a Flatpak app. It is also possible to download a .flatpakref
file, and install it without entering a single command.
First, make sure that gnome-software is installed on the system (though it most likely already is). Next, download a .flatpakref
file via the app page. In this example, we’ll be using Skype.
When the file is downloaded to your PC, open up the file manager and go to the location of the downloaded app. Right click on it, and select “Open With Software Install”. This will launch the Gnome Software store, and bring up a page that shows detailed information of the app that will be installed.
Click the install button, enter your password and wait. A notification will pop up when the program is finished.
That’s it! Check the application menu for the newly installed program.
Updating Flatpaks
Updating, like installing is possible in two ways. The first way is with the terminal. Start off by listing all installed Flatpaks on the system with the list command.
flatpak list
Next, select a Flatpak app from the list, and add it to the end of: flatpak update
Doing this will update the individual app. Alternatively, just type flatpak update
to update all apps on the system.
Don’t want to use the terminal? Just use Gnome Software as normal. When there’s a Flatpak update, it’ll tell you! Install it like normal, along with regular software updates.
Uninstalling Flatpaks
Uninstall an app by first using the list command to find the name of the app to uninstall. Next, copy the name, and type:
sudo flatpak uninstall appnamehere
Alternatively, open Gnome Software, search for the app and click “uninstall”.
Conclusion
Software distribution has always been one of the weakest points of Linux: developers have no desire to package their program in 100 different formats. Additionally, users want a better way to install software rather than relying on the terminal. Flatpack is another attempt to fix this. It accomplishes this massive task by taking programs and virtualizing them inside of containers, allowing them to run on anything at any time. Development for this software is picking up pace, with Flatpaks helping deliver popular software like: Spotify, Blender, Mozilla Firefox and even Microsoft Skype. Support for this tool is massive, and adoption is only getting better.
Flatpaks have a lot of potential, but they’re overshadowed by other players in the “universal Linux installer” game. As a result, they’re only known by Linux geeks. It is my hope that this tutorial will shine some much needed light on Flatpak, so that all types of Linux users can start using them!
$ flatpak remote-ls
List apps in your current flatpak repos
If you want to install something that is in a currently installed repo, you can do it replacing the URL for the name of the repo and then putting the package name (i.e. flatpak install flathub org.audacityteam.Audacity)
PS: I probably have a terrible english, sorry for that.