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
- 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.
- 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. - Update the package list – Type
sudo apt updateand press Enter. Enter your Linux password when prompted (you set this during Linux setup). This refreshes the list of available software. - Upgrade existing packages – Type
sudo apt upgrade -yand press Enter. This ensures your system is up to date, which avoids conflicts when installing new software. - Install Flatpak – Type
sudo apt install flatpak -yand press Enter. This installs the Flatpak daemon and command-line tools. - Add the Flathub repository – Type
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoand press Enter. This adds Flathub, the main Flatpak app store, so you can install apps from it. - Reboot the Linux container – Type
sudo rebootand press Enter. The terminal will close. Wait a few seconds, then reopen the Terminal app. This ensures Flatpak’s environment variables are loaded. - Install Snap – Type
sudo apt install snapd -yand press Enter. This installs the Snap daemon. - Enable Snap support – Type
sudo systemctl enable --now snapd.socketand press Enter. This starts the Snap service so it runs automatically. - Create a symbolic link for classic snaps – Type
sudo ln -s /var/lib/snapd/snap /snapand press Enter. Some snaps (like those marked “classic”) need this path to work correctly. - Reboot again – Type
sudo rebootand press Enter. Reopen the Terminal app after a few seconds. - Verify installation – Type
flatpak --versionandsnap --version(one at a time). You should see version numbers, confirming both are installed correctly. - Install your first app – For Flatpak, use
flatpak install flathub org.gimp.GIMP(or any app from Flathub). For Snap, usesudo 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
sudowith Flatpak installs – Flatpak commands should not be run withsudo; they install to your user’s home directory. Usingsudocan cause permission errors. - Forgetting the symbolic link for Snap – If you skip the
ln -sstep, 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 upgradefirst, 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 updateandsudo snap refresh. - Search for apps before installing – For Flatpak, use
flatpak search <app name>. For Snap, usesnap 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 uninstallorsudo 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 -yagain, then reboot the container. - “snap: command not found” – Snap didn’t install. Try
sudo apt install snapd -yagain, then runsudo systemctl enable --now snapd.socketand 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> --classicif 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, usesnap run <app-name>. - Storage space running low – Check usage with
df -h. Remove unused packages withsudo apt autoremoveandflatpak 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
- Gmail Gemini Privacy: Data Access & Limit Settings
- Fix Outlook Inbox Corruption with DISM in Windows
- How to Set Up Apple Pay on iPhone
- How to Choose a Refurbished iPhone With Years of Support
- NBA 2K Error Code: Fixes for Common Online Issues
- Voice Dictation in Google Docs: How to Use It