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.

Linux apps are not supported on all Chromebooks right now. You can find a list of compatible devices here. Make sure your Chromebook is on that list before continuing!

Also, sound and graphics acceleration currently does not work on any Linux apps.

Switching Chrome OS channels

At the moment, you can't use Linux apps in the stable channel of Chrome OS - you have to switch your Chromebook to one of the development channels. Google has four different versions of Chrome OS at any given time - Stable, Beta, Dev, and Canary. Stable is the most polished and bug-free experience, and Canary often has bugs and/or incomplete features.

Linux app support is just now landing in the Beta channel for some models, so at the moment, you'll probably have to use the 'Dev' channel. Google has a guide here that tells you how to switch channels.

You can move from Stable to Beta, Beta to Dev, and Dev to Canary without wiping your device. If you want to revert to a more stable channel, you will have to perform a factory reset.

After you switch your device to Chrome OS Dev, the next step is to install the Linux container.

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.

You may also see a few other new items in the app drawer, like 'Packages' and 'Package Updater.' Don't remove these or the Software Center will stop working. If you accidentally delete these, just run the above command again.

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.

Installing Flatpaks

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.