Snap and Flatpak are two application distribution platforms that allow to install apps like containers, with all the required dependencies included and without altering current operating system environment.

Table of Contents

Snap

You can install Snap packages by installing snapd if it’s not already installed (check this page). Then, you can run one of these commands:

  • Search apps: snap find <search term>. You can also use Snapcraft webpage.
  • Info about an app: snap info <app name>.
  • Install an app: snap install <search term>. You need superuser privileges to run this command. --channel=<channel> allows to specify which snap release you want to install, for example snap install --channel=edge vlc.
  • List installed apps: snap list.
  • Update an app manually: snap refresh <app name>. You need superuser privileges.
  • Remove an app: snap remove <app name>. You need superuser privileges.
  • Disable / enable an app: snap disable <app name> and snap enable <app name>. This allows to temporarily disable an app.

Flatpak

You must install flatpak before (check this page). Flatpak apps are inside repositories (called ‘remotes’), the main and official Flatpak remote is flathub.

  • List remotes: flatpak remotes.
  • Search apps: flatpak search <search term>.
  • Install an app: flatpak install <remote name> <app name or search term>.
    • You need superuser privileges to run this command, unless using --user parameter.
    • <app name> is a string like fr.handbrake.ghb but, since Flatpak 1.2, you can use a search term (like handbrake) and Flatpak will search and install the package (if there are several choices, you will be able to select which one you want to install).
  • Add a remote: flatpak remote-add --if-not-exists <remote name> <remote URL>.
    # Adding flathub repo if it's not already installed
    flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
    
  • List installed apps: flatpak list --app.
  • Remove an app: flatpak uninstall <app name>.
  • Update apps: flatpak update.
  • Override permissions: flatpak override <permission> <app>. Check man flatpak-override for more info.

If you have any suggestion, feel free to contact me via social media or email.