One of the most exciting new features in Chrome OS is the ability to run applications designed for Linux. Most software that can run on Ubuntu, Debian, or other Linux distributions will work. This is the first time it has been possible to (officially) run traditional desktop software on Chromebooks, and the possibilities are endless.
Unfortunately, the feature is a bit tricky to figure out if you don't already have experience with Linux. In this guide, we'll show you how to set up the Linux container on your Chromebook and how to install applications.
Also, sound and graphics acceleration currently does not work on any Linux apps.
Setting up the Linux container
Linux app support isn't enabled by default, but turning it on only takes a few clicks. First, open the Chrome OS settings. This can be done by clicking the gear icon in the quick settings menu. There may also be a 'Settings' app in the launcher.
In the Settings app, scroll down until you see the option for Linux apps. Click the 'Turn on' button. If you don't see the menu option, your device isn't supported yet.
The last step is to click 'Install' on the popup window. The setup process could take a while, depending on your internet connection. Feel free to grab a coffee while you wait.
When it's done, a terminal window will appear, where you can begin typing commands. You can get to the terminal at any time by opening the 'Terminal' app in the Chrome OS app drawer. Now you're ready to install Linux apps!
Installing apps from the repositories
The main method for installing applications on Linux is through a software repository. The Linux container on Chrome OS currently runs Debian 9 'Stretch,' so you can easily install any software available through the Debian software repositories.
To install applications from a software repository, you usually have to find the name of the package you want and run a certain command. For example, if you wanted to install GIMP, you would type this command and press Enter:
sudo apt-get install gimp
To uninstall the same app, you would run this:
sudo apt-get remove gimp
To update all your apps, you would do this:
sudo apt-get update && sudo apt-get upgrade
This is a rather tedious process, but there are multiple 'app stores' that allow you to find and install these packages without using the Terminal. I recommend the Gnome Software Center, since it's easy to use.
Installing Gnome Software Center
To install the Gnome Software Center, type this command, then press Enter:
sudo apt-get install gnome-software gnome-packagekit
When the Terminal asks if you want to continue, press the 'Y' key on your keyboard, then 'Enter' again. This command installs two packages - the software center, and the tool that allows the software center to communicate with the Debian system.
Once it's done downloading and installing everything, you should see a 'Software' app in the app drawer. Click on it to open the Gnome Software Center.
If all went well, the Software Center should open! You can look through the categories from the home page, or click the magnifying glass icon at the top right to search for a certain app. Most applications available through the Debian repository are listed here. If you don't see any apps, try rebooting your Chromebook.
Installing .deb files
When you download Linux apps from a website, you usually get a .deb file. For example, when you click the Linux link on the Steam download page, it saves a deb file to your computer. These are installation packages, much like .msi or .exe files on Windows.
Chrome OS recently added support for opening these from the Files app, so it's very easy to install .deb files. After you download one, copy it to the 'Linux files' section of the Chrome OS Files app, then double-click it.
If you can't find the app you want in the Software Center, or as a .deb file, it might be available as a Flatpak. These are bundled packages designed to work across distributions. You should only use Flatpaks as a last resort on Chrome OS; there are some bugs, they take up more disk space, and performance is slightly worse (because they're sandboxed).
First, you have to install the Flatpak system package. Run this command:
sudo apt-get install flatpak
Next, add the Flathub repository (there is only a space between 'flathub' and the URL, not a new line):
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Finally, you have to restart your Chromebook. Now you can download any app found on Flathub. Again, most of these apps are available through the Software Center or as a .deb file, but there are a few exclusives.
Flatpaks are only installable through the command line on Chrome OS, at least in my testing (the Software Center plugin didn't seem to work). Every app on Flathub has command line instructions at the bottom of the page. For example, this is the command to install the Telegram desktop app:
flatpak install flathub org.telegram.desktop
However, you have to add "sudo" to the beginning, or it will fail on Chrome OS. So what you actually have to run is this:
sudo flatpak install flathub org.telegram.desktop
After everything is downloaded and installed, the app should appear in the Chrome OS app drawer.
Hopefully, this guide has helped you get started with Linux apps on Chrome OS. We'll have more guides going up soon covering other topics, like setting up Wine.