On most Chromebooks, you can install a complete version of Debian Stable under the Linux development environment. If you want access to newer apps, many popular Linux apps are available as Flatpak packages. It can be tricky to get such apps running on a Chromebook, but the process is easy when you know how.

Why Flatpak?

As convenient as it is to use a Chromebook, there seem to always be some apps you want to use that aren't available as a Web app or work differently as a web or Android app than as a desktop app. You might even want to install browsers other than Chrome, such as Firefox.

The version of Debian installed in the Crostini environment by default is the stable version, which tends to be pretty conservative in terms of software. The stable version of Debian favors older versions of software.

It's also difficult for upstream developers to maintain open source apps when Linux distro maintainers modify a program for their users. If the user reports a bug, who's responsible for fixing it?

Flatpak is an attempt to standardize packages for Linux. The idea is that the developers only have to ship one app with all of its dependencies. The app will be isolated from the libraries on the system, making it easier to troubleshoot problems.

The biggest reason for installing Flatpak is that you'll have newer versions of apps than you would with APT.

Installing Flatpak on Chromebook

It's easy to install Flatpak in Linux on a Chromebook. You have to enable nested containers, or you might run into errors trying to install packages.

Crosh session enabling nesting containers on a Chromebook

To do this, enter a Crosh session by pressing Ctrl-Alt-T

You'll then enter these commands to enable nested containers:

        vmc start termina
lxc config set penguin security.nesting true
exit
vmc stop termina

Now you'll want to install Flatpak with APT in the Linux environment. Open up a terminal and type:

        sudo apt install flatpak
    

Now with Flatpak installed, it's time to find some packages.

Finding Packages

Flatpak command line search

There are two ways to search for packages to use with Flatpak. You can search at the command line, similar to using "apt search":

        flatpak search app
    

For example, if you were looking for Firefox, you'd type:

        flatpak search firefox
    

You can also browse graphically at the Flathub website. This is a good idea if you don't know exactly what you want.

Flathub website

Clicking "Install" will download the package reference. The pages also provide command-line instructions.

Installing Flatpak Packages

Installing Flatpak packages is similar to installing APT packages.

To install a specific package, you need to find the package ID, either by searching at the command line or from Flathub.

For example, to install Firefox

        sudo flatpak install org.mozilla.firefox
    

You can also download the package reference from Flathub. If you do this, you should make your Downloads folder available to Linux.

To install downloaded packages, navigate to the shared directory. For example:

        cd /mnt/chromeos/MyFiles/Downloads
    

Then type this command

        sudo flatpak install name.of.package.file
    

It's easier to follow the command line instructions.

For example, to install Firefox using Flathub

        sudo flatpak install flathub org.mozilla.firefox
    

With your new packages installed, you can access them as you would with any other Linux app on the system. You can find them in your apps by using the search menu or calling them from the command line.

Using the command line is a little different with Flatpak. A Flatpak app won't be found normally. You have to use the Flatpak command line app to call it.

To launch Firefox from the shell, type:

        flatpak run org.mozilla.firefox
    

Because this will be a lot to type, it's a good idea to set a shell alias for any Flatpak apps you use often at the command line:

        alias firefox='flatpak run org.mozilla.firefox'
    

Now You Can Install Flatpak Apps on Your Chromebook

It's easy to keep your favorite apps up to date with Flatpak on your Chromebook. The Chromebook Linux environment will let you get even more use out of your Chromebook by allowing you to install full-fledged apps, not just Android and web apps. It only takes a few clicks to install.