The first Chromebooks were never designed to run desktop software. Heck, they were never meant to support Android apps either, but now you can run both. Most modern Chromebooks provide integrated tools to toggle on Linux and/or Android.
In this guide, we show you how to enable the Linux Beta. If your Chromebook doesn’t have the Linux Beta toggle, we show you how to force install Ubuntu XFCE instead.
Keep in mind that Chromebooks aren’t known for large storage capacities, so you’ll be limited in the number of programs you can install. Most Chromebooks tend to have low-end hardware too, so don’t expect this to be your portable Linux gaming machine. Google’s integrated Linux tool is actually intended for developers, but you can use it to install any Linux-based software if you’re comfortable using Terminal commands.
Those with more ambition can install Windows on a Chromebook, but the process is far more complicated.
Use Linux (Beta)
By now, most Chromebooks include the Linux (Beta) mode. Linux essentially installs within a container so you can run Linux-based desktop software inside Chrome OS — the Play Store and its associated Android apps work the same way.
If you’re not sure that your Chromebook supports the Linux Beta, take a look at Google’s official list. If it doesn’t, your next option is to use Crouton and install Ubuntu XFCE, which we discuss in the second half of this guide.
This section is based on Chrome OS 89, which made some significant changes since version 88, including how you access the Linux Beta. Keep in mind that there is no built-in Linux store, so all software must be obtained using Terminal commands.
Step 1: Click on the Self’s system clock and then select the cog icon displayed on the menu. This opens the Chrome OS settings.
Step 2: Select Developers listed on the left.
Step 3: Click the Turn On button displayed next to Linux Development Environment (Beta) listed on the right.
Once Linux installs on your Chromebook, a Debian-based Terminal window should appear on the screen. This allows you to use commands to install desktop software and other Linux-based tools.
Step 4: With the Linux Development Environment (Beta) section still open, click the toggle next to Allow Linux to Access Your Microphone if you need to use your Chromebook’s built-in microphone in desktop software.
Step 5: With the Terminal still open, type the following:
sudo apt-get update && sudo apt-get dist-upgrade
This updates all packages with new versions if available.
Step 6: Restart your Chromebook if prompted.
As usual, the beta version of this mode is susceptible to bugs and other issues. If you experience problems, you can try running the update command again and rebooting to see if that fixes your issues. Additionally, since all Linux apps you install will be running in the same container, it’s important that you verify there are no security issues with anything you install.
Install Ubuntu XFCE
In this section, we switch the Chromebook into Developer Mode and install Ubuntu XFCE using Crouton (short for Chromium OS Universal Chroot Environment) developed by Google hardware engineer David Schneider. We chose Ubuntu XFCE as our Linux distribution because it’s lightweight and functional, which is perfect for preserving the long battery life and portability of a Chromebook.
If you have any files stored on the Chromebook’s local storage that you don’t want to lose, back them up to the cloud, an installed SD card, or another computer. Zipping up groups of files can help you put them back where they’re meant to be after the installation.
You’ll also want to have a recovery image on hand just in case something goes wrong. You can download software directly from Google that makes this process easy, and then all you need is a flash drive or SD card, depending on your Chromebook’s connectivity.
Enter Developer Mode
Step 1: Press and hold the Esc + Refresh keys and then press the Power button.
Step 2: The Chromebook restarts and enters Recovery Mode. Press the Ctrl + D keys to open the OS Verification screen.
Step 3: Press the Enter key to enter Developer Mode. This deletes all local data (not on the SD card if inserted).
Note: Later on, you will need to retype Ctrl + D each time the Chromebook reboots.
Step 4: The Chromebook deletes all data, boots back into Developer Mode, and resets Chrome OS. When prompted, reconfigure Chrome OS just as you did when you first purchased the device.
With Chrome OS reset, you can now use Crouton to install Ubuntu XFCE.
Use Crouton to install Ubuntu XFCE
Step 1: Download the Crouton file from the Crouton GitHub page. There you will also find detailed instructions, troubleshooting tips, and forums that discuss issues and tricks for making everything run smoothly.
If you’re not exactly sure what you’re supposed to download, click the link in the Usage section under the main directory. A Crouton file will download to your Chromebook’s Downloads folder.
Note: Installing the Crouton Extension is suggested, which “provides much-improved integration with Chromium OS,” according to the notes.
Step 2: Press the Ctrl + Alt + T keys. This opens the Chrome Shell terminal (Crosh).
Step 3: Type Shell.
Step 4: Type the following command and press the Enter key:
sudo sh ~/Downloads/crouton -t xfce
If you installed the extension, use this command instead:
sudo sh ~/Downloads/crouton -t xfce,extension
Step 5: Wait for Ubuntu XFCE to download and install on your machine. Note the command you’ll need to launch Ubuntu XFCE later on.
Launch Ubuntu XFCE
Step 1: Press the Ctrl + Alt + T keys. This opens the Chrome Shell terminal (Crosh).
Step 2: Type the following command and then press the Enter key:
sudo enter-chroot startxfce4
The system will display a black screen for a minute and then boot into the Linux desktop. If you aren’t familiar with Linux, keep in mind that it takes a bit more effort than Windows or MacOS, especially the first time you boot it up.
Example Linux software
There are lots of advantages to installing Linux on your system, but there are a few that are particularly relevant to Chrome OS users. The following programs provide functionality that your Chromebook can handle but doesn’t fall within the Chrome OS ecosystem, or they provide functionality you wouldn’t have if you were using your Chromebook offline.
Steam: Valve’s digital storefront and its surrounding community are awesome, and, thankfully, you can use your Chromebook to play any games in your library that natively support Linux. However, as always, check the system requirements as Chromebook hardware tends to be on the lower end. Check out our separate guide on how to get Steam on a Chromebook.
VLC: VideoLAN Client supports dozens of audio and video formats as well as a bevy of useful features for network streaming and playback. It couldn’t be easier to install — it even comes packaged with some larger distributions — and is open source, if you want to try your hand at compiling the software yourself.
GIMP: The GNU Image Manipulation Project (GIMP) is free image-editing software that provides a large number of tools typically reserved for Photoshop and other premium software. Moreover, the active user base is constantly working to help solve problems and develop new tools and features.