With Linux installed on your Chromebook, you can take advantage of full desktop Linux applications. Installing Linux apps on Chromebook requires knowledge or at least of the command line. There’s no single Google Play store-like website or app where you simply search and install any Linux App you want. Each vendor chooses whatever Linux distribution they wish to support and publish their apps to the respective repositories. You then use mostly command line tools to install the respective Apps. However, with flatpaks and snaps, you can browse and search Linux Apps in similar ways you do with Android or iOS apps.
Read more: How to Set up Linux on your Chromebook
If you read my previous post on installing Linux on Chromebook, you should know that Linux runs on Chromebooks as a lightweight container or virtual machine. The default Linux container that’s installed is called penguin which is based on Debian Linux distribution — the same branch that popular Linux desktop operating system Ubuntu is based on. As a result, the easiest way to install Linux apps on your Chromebook is through .deb files which is the application package system for Debian-based Linux distributions.
To open installed applications, use the everything button (search button) and type in the application name. If installed, it should return a result of the installed app. Simply click on it and it should start. It might take time to start if it’s the first app you’ve opened because Chrome OS has to start the Linux container as well which takes a few seconds.
Summarily, you can install Linux apps as;
- .deb file downloaded from software vendor’s website. This is unreliable and hard.
- apt command line Debian package manager. Fast and easy.
- flatpak apps distributed through the flathub.org store.
- snap apps maintained by Canonical and distributed through snapcraft store. Not officially supported on Chromebooks, but works.
Here are several ways of installing Linux apps on Chromebook. Remember you need the terminal app(linux container) for all these methods.
Installing .deb files
Now you can find .deb application files from various software vendor websites. For instance, to install LibreOffice, the popular free and open source alternative to MS Office, you visit the libreoffice.org website, then click on download, then select .deb format.
Normally, once you have downloaded a single .deb file on your Chromebook, you simply double-click on it and the built-in installer will take over.
However, you can also install .deb via commandline. Once the .deb file(sometimes it’s zipped) is downloaded to your Chromebook, move it to the Linux files folder (or sub-folders if you created them) using the Files App. However, I discourage using this method. I tried to install popular software such as Firefox or Libreoffice and failed. For one, I couldn’t find a single .deb file for either software. Secondly, it’s very manual, because even if you got the .deb, you might have to install additional dependencies manually which can be very frustrating. So I gave up on .deb files. But should go down this route, use the following commands to install a .deb file.
$ sudo dpkg -i /path/to/deb/file $ sudo apt-get install -f
Using Apt command line tool
So far, the easiest way to install Linux apps on your Chromebook is to use the ‘apt’ command line tool. This assumes you’re using the default Debian-based Linux container which is installed by your Chromebook. Apt is software package manager for Debian-based Linux distros. It will install the software package and all its dependencies automatically without additional effort on your part. You simply have to specify the exact package name, otherwise it might fail to find the package name.
To install a package, run apt-get install [package name]. You might want to prefix that with ‘sudo’ which gives you root or administrative privileges. Usually the software vendor will specify the exact package name usually on their website, but if you’re not sure, you can run a search first using apt search [package name] which will return a response of possible candidates.
$ sudo apt install firefox-esr
To uninstall the software, simply run;
$ sudo apt-get purge [package name]
Flatpak bills itself as “a next-generation technology for building and distributing desktop applications on Linux”. Flatpak was developed by an independent community of volunteers. The idea behind Flatpak is to enable software developers to write their application once and distribute it across multiple platforms. True to that promise, Flatpak packages are supported across 33 Linux distributions. Flatpak apps can be found from a single app store called Flathub.org.
Flatpak applications can be installed on Chrome OS with the Crostini Linux compatibility layer. However, this is not available to all Chromebooks. Check this list if your device is compatible. My Samsung Galaxy Chromebook Go is definitely supported, so I installed it. If you’re device is compatible, then you can install Flatpak using the following commands;
Install Flatpak using;
$ sudo apt install flatpak
Add the Flathub repository which is the best place to get Flatpak apps;
$ flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
To complete setup, restart Linux. You can do this by right-clicking the terminal, and then clicking “Shut down Linux”.
Now to install Flatpaks, visit flathub.org, search for your app of interest. Note that your application might not be available as a flatpak because it’s a fairly new package format. If the app you’re interested in is available, click on it and scroll down to under command line instructions. Here you’ll see two commands; one for installing the flatpak and another for starting or running it after installation is successful.
For instance, to install GIMP, the free open source image editor, search for GIMP and open its page, then as you showed under command line instructions, run the following commands;
To install GIMP, run
flatpak install flathub org.gimp.GIMP
Then to open the app, run;
flatpak run org.gimp.GIMP
You can also simply open the installed App by simply searching it using the Everything/search button. In my experience, I find flatpaks are a much more convenient way of installing Linux apps on your Chromebook.
If you run into this error:
flatpak run org.gnome.Lollypop bwrap: Can't mount proc on /newroot/proc: Operation not permitted
You can resolve this by running the following command on Chrome OS developer shell as per this github issue. You can open the Chrome OS developer shell by hitting
ctrl+alt+T on the browser, then give
(termina) chronos@localhost ~ $ lxc config set penguin security.nesting true
Here’s our video tutorial on how to install Full desktop linux apps on your Chromebook;
Snap is an application distribution package developed by Canonical, the company behind Ubuntu operating system. Snap is just like flatpak with the same objective of enabling developers to create apps that work on every Linux distribution. Snaps applications are hosted and distributed from snapcraft store where you can browse and search for various Linux apps.
I got to install snaps on my Chromebook. The experience isn’t as smooth as flatpaks. In fact, Chrome OS or Chromebooks aren’t listed among supported platforms on the official website. However, you can still install snaps on your Chromebook.
$ sudo apt install -y libsquashfuse0 squashfuse fuse snapd
Restart the Linux by right clicking on the terminal app and selecting “Shut down” and then start it. You can then install snaps like;
$ sudo snap install [name of app]
Start the installed app by running its snap name in the terminal. Unlike Flatpak apps, I couldn’t find the installed App by searching with the Everything button. So Snaps seem to work best with fully-blown Linux desktop distributions such as Ubuntu, Arch Linux, Fedora, Linux Mint, CentOS, and Gentoo.