sodcalculator

10 Tech How-To

Install Flatpak & Snap on Linux Chromebook

Guide 10-20412 · Updated · Step by step

This guide shows you how to install Flatpak and Snap support on a Linux-enabled Chromebook, giving you access to thousands of desktop Linux apps that aren’t in the default repositories. You’ll need a Chromebook that supports Linux (Crostini), which you can check by looking for the Linux icon in Settings or by searching for “Linux development environment” in the Chrome OS settings. If you have it, you’re ready to go—no other tools are required.

What You’ll Need

  • A Chromebook with Linux (Crostini) enabled—most models from 2019 onward support this.
  • At least 2 GB of free storage space for the Flatpak and Snap runtimes.
  • An internet connection to download packages.
  • Basic comfort with the Linux terminal (you’ll type a few commands).

Step-by-Step

  1. Enable Linux on your Chromebook – Open Settings (gear icon) → Advanced → Developers → Linux development environment. Click “Turn on” and follow the prompts. This installs a terminal app called “Terminal” and sets up a Debian-based container.
  2. Open the Linux terminal – Click the Terminal app (it looks like a black square with a “>” prompt). You’ll see a window with a shell prompt like penguin@localhost:~$. This is your Linux command line.
  3. Update the package list – Type sudo apt update and press Enter. Enter your Linux password when prompted (you set this during Linux setup). This refreshes the list of available software.
  4. Upgrade existing packages – Type sudo apt upgrade -y and press Enter. This ensures your system is up to date, which avoids conflicts when installing new software.
  5. Install Flatpak – Type sudo apt install flatpak -y and press Enter. This installs the Flatpak daemon and command-line tools.
  6. Add the Flathub repository – Type flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo and press Enter. This adds Flathub, the main Flatpak app store, so you can install apps from it.
  7. Reboot the Linux container – Type sudo reboot and press Enter. The terminal will close. Wait a few seconds, then reopen the Terminal app. This ensures Flatpak’s environment variables are loaded.
  8. Install Snap – Type sudo apt install snapd -y and press Enter. This installs the Snap daemon.
  9. Enable Snap support – Type sudo systemctl enable --now snapd.socket and press Enter. This starts the Snap service so it runs automatically.
  10. Create a symbolic link for classic snaps – Type sudo ln -s /var/lib/snapd/snap /snap and press Enter. Some snaps (like those marked “classic”) need this path to work correctly.
  11. Reboot again – Type sudo reboot and press Enter. Reopen the Terminal app after a few seconds.
  12. Verify installation – Type flatpak --version and snap --version (one at a time). You should see version numbers, confirming both are installed correctly.
  13. Install your first app – For Flatpak, use flatpak install flathub org.gimp.GIMP (or any app from Flathub). For Snap, use sudo snap install firefox (or any app from the Snap Store).

Common Mistakes

  • Skipping the reboot – Flatpak and Snap need the container to restart to set up environment variables. If you skip this, apps may not launch or appear in the app list.
  • Using sudo with Flatpak installs – Flatpak commands should not be run with sudo; they install to your user’s home directory. Using sudo can cause permission errors.
  • Forgetting the symbolic link for Snap – If you skip the ln -s step, classic snaps will fail to install with a “path not found” error.
  • Installing apps from the wrong source – Flatpak apps come from Flathub; Snap apps come from the Snap Store. Don’t try to install a Snap with Flatpak or vice versa.
  • Not updating after installation – If you don’t run sudo apt upgrade first, you may have outdated libraries that cause conflicts.

Tips

  • Use the terminal for app management – While some apps appear in the Chrome OS launcher, you’ll manage updates via the terminal: flatpak update and sudo snap refresh.
  • Search for apps before installing – For Flatpak, use flatpak search <app name>. For Snap, use snap find <app name>. This gives you the exact package name.
  • Keep your container lean – Flatpak and Snap both use sandboxing, which means each app brings its own dependencies. This can eat up disk space. Uninstall apps you don’t use with flatpak uninstall or sudo snap remove.
  • Set a custom path for Snap – If you run out of space in the default container, you can move Snap’s data directory to an external drive, but it’s easier to just be selective about what you install.
  • Check for GUI apps in the launcher – After installing, some apps may not appear in the Chrome OS launcher immediately. Look for them in the Linux folder of the launcher, or restart the Chromebook.

Troubleshooting

  • “flatpak: command not found” – This means Flatpak didn’t install correctly. Run sudo apt install flatpak -y again, then reboot the container.
  • “snap: command not found” – Snap didn’t install. Try sudo apt install snapd -y again, then run sudo systemctl enable --now snapd.socket and reboot.
  • Flatpak apps won’t launch – This often happens if you didn’t reboot after adding Flathub. Reboot the container, then try again. Also ensure you’re launching from the terminal with flatpak run <app-id> to see error messages.
  • Snap install fails with “cannot mount squashfs” – This is a known issue in some Crostini environments. Try sudo systemctl restart snapd, then attempt the install again. If it persists, you may need to use the classic confinement workaround: sudo snap install <app> --classic if the app supports it.
  • Apps not appearing in the launcher – Some apps don’t create a .desktop file. You can still run them from the terminal. For Flatpak, use flatpak run <app-id>. For Snap, use snap run <app-name>.
  • Storage space running low – Check usage with df -h. Remove unused packages with sudo apt autoremove and flatpak uninstall --unused.

Frequently Asked Questions

Is Flatpak or Snap better on a Chromebook?

Flatpak is generally more reliable on Chromebooks because it integrates better with Crostini’s environment. Snap works but may have occasional issues with sandboxing. Both are useful, so install both to maximize app availability.

Can I install apps from the Chrome Web Store instead?

Yes, but Chrome Web Store apps are different—they run in the browser. Flatpak and Snap give you native Linux desktop apps that run outside the browser, which is useful for software like GIMP, LibreOffice, or Steam.

Will these apps work on any Chromebook?

Only if your Chromebook supports Linux (Crostini). Most models from 2019 onward do, but some older or budget models may not. Check Settings → Advanced → Developers for the Linux option.

Do I need to enable developer mode?

No. Flatpak and Snap work within the standard Linux container, which doesn’t require developer mode. Enabling developer mode is unnecessary and can reduce security.

How do I uninstall Flatpak or Snap?

To remove Flatpak, use sudo apt remove flatpak. To remove Snap, use sudo apt remove snapd. Note that this will not remove the apps you installed; you’ll need to remove those separately first.

Why do some apps fail to launch after installation?

This usually happens when the app requires additional system libraries or hardware acceleration that Crostini doesn’t fully support. Try running the app from the terminal to see the error message, then search for a solution specific to that app.

Related

General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.

More in this bed

The whole Tech How-To bed →