Putting Linux on your Chromebook is easier than you think (and totally worth it!)

You've may have seen chatter on the internet about installing Linux on your Chromebook. Plenty of longtime Chrome OS users are doing it, and it allows the use of programs like GIMP (a Photoshop replacement), or Darktable, (a Lightroom alternative) as well as plenty of programs for video and audio editing. It's a way to use your Chromebook for the few power-user features you might need. It's also completely free and easier than you think.

Let's walk through an easy setup that keeps Chrome OS and is able to run Ubuntu with the Xfce desktop and any applications you might need. You'll be able to run both operating systems at once with a shared Downloads folder, a shared clipboard and web links opening in the Chrome browser you're already familiar with. You can even run them side by side in a split window.

And yes, it really is as cool as it sounds.

Getting started

Transitioning to dev mode

Before you try anything we're talking about here, you need to do two things: back up all your user files to Google Drive, and have a Chrome OS restore image ready just in case. We're going to be unlocking developer mode and starting with a clean and current Chrome OS install. There's no way around that. The first time you unlock developer mode your Chromebook is Powerwashed and everything is erased. And whenever you're doing something like this there is always a chance that you'll need to reinstall Chrome from scratch with the restore image. Don't worry, none of this is difficult.

Get everything you need ready before you start so you're not stuck looking for it if things go wrong.

You'll need to search Google to find the exact instructions to unlock developer mode for your Chromebook. On some models, you'll need to toggle an actual switch, and on others it is done through the standard recovery software. If you're using a Pixel, for example, you press and hold the Escape and Refresh keys, then hold the power button until the system shuts off and the keyboard backlight comes on to enter recovery mode. On some older Samsung Chromebooks, you'll need to find a switch next to the SD card slot and flip it, then reboot. Everything you need to know is a web search away.

The same goes for grabbing a restore image. You'll find full instructions on where to download one and how to write it to an SD card or thumb drive. Don't skip this step — especially if you don't have another computer to use. The process is simple and it's always nice to have everything you need to factory flash your Chromebook on hand.

Once you're unlocked and prepared in case you need to start from scratch, we can start copying some files.

Crouton

Crouton installed

No, not the breadcrumb kind of Crouton, the chroot kind from David Schneider, a Google hardware engineer who loves Chromebooks. Crouton is a script that you can run to automatically fetch all the bits and pieces you need, create an environment for them, and get everything working without doing it by hand.

Using the same principle that Android and Google Play are using to run on Chrome, you can install a full Linux desktop that runs in its own space yet is able to share your Chromebook's hardware. This isn't the only way to install Linux on your Chromebook, and nobody is saying it's the best way. But it is easy simple to uninstall or modify down the road. To get started, grab your Chromebook and download Crouton.

If you're not going to play Steam games, you can run Chrome and Ubuntu at the same time in separate windows.

For the next step you need to make a choice — are you going to install Steam and play games? We'll cover that with another how-to, but know that installing the full Steam client and installing any games your Chromebook meets the minimum requirements for is a thing. We're going to be using a Chrome extension called Crouton Integration (also from David Schneider) that works with the window manager to run your Linux desktop in a window while Chrome OS is still active. This allows you to share things like the clipboard and Downloads folder, as well as use Chrome itself to open web links and pages.

The only concern is that there are performance trade-offs when you're running something that taxes the GPU. For a program like GIMP, it's fine. For Rocket League or CS: Go, it's really not. If you're not going to install Steam, grab the extension from the link above and install it. We'll split out instructions anytime they're different.

Once you have Crouton downloaded, and the Crouton Integration extension installed if you need it, we can install Linux with just a few commands.

The Chrosh shell

This is Chrome OS's command line interface, and what you'll need to run the installer. Open one with by pressing Ctrl+Alt+T on your keyboard. A new tab will open with a text interface. Switch to it, and enter the command shell to change from the Chrosh (Chrome Shell) shell to a proper bash (Bourne Again Shell — a command interpreter that's universal across Linux, BSD, and OS X) shell. The text will change to green and you're ready to run the install script.

  • If you are using the Crouton Integration extension, type the following and hit enter. Mind the spelling, spacing, and punctuation.
sudo sh ~/Downloads/crouton -t xiwi,xfce
  • If you're not going to use Crouton Integration, use the following instead:
sudo sh ~/Downloads/crouton -t xfce

Now, we wait. Crouton is creating a chroot environment, fetching the right software packages and extracting them to the right place. You'll have to interact with the shell tab a couple of times, but it halts at the right spot and waits for your input so you don't have to try and read all the scrolling text. Depending on your internet connection, this will take anywhere between 5 and 20 minutes.

When it's finished downloading and unpacking, you're ready to fire things up.

Starting your new desktop

Using the same shell you used above, type sudo startxfce4 and press the enter key. A few lines of text will scroll by, then you're switched to a new GUI. What you're seeing is a full install of Ubuntu (12.04 LTS at the time of this writing) with the Xfce desktop environment running. You'll use the username and password you set up earlier, and you can install any application the runs on Ubuntu and built for your processor architecture.

If you choose to integrate Crouton into Chrome, you might need a couple tips to get started.

The first time you launch Ubuntu, it might open full screen and prompt you to use the F11 key to switch back to a windowed view. Your Chromebook has no F11 key so you'll need to use a little trick to exit. Right-click on the desktop and add an internet shortcut. It can point to any website or local file, so that's not important. It will use Crouton Integration to switch back to Chrome OS to parse whatever URL you entered and minimize the Ubuntu window. You can then switch between Chrome and Ubuntu using the tray icon for Crouton Integration and Ubuntu will stay inside a bordered window with standard minimize, maximize and window keys.

A quick trick in case it happens again after you shut down — open the extensions page in the settings and scroll to the very bottom. Click the link titled Keyboard shortcuts and create one for Crouton Integration. You can use that shortcut to move to and from full screen.

If you didn't use Crouton Integration, none of this applies. When you start an Ubuntu session, Chrome is suspended and when you log out you're returned.

If you lose your mouse pointer the first time you start Ubuntu, don't panic. On some hardware, this is expected. Just press and hold the power button until you're at the login screen, and use Tab and Enter to shut down. When you reboot things are fine and it won't happen again.

Make it your own

Crouton

Using these instructions you'll have a very basic setup. You'll probably want to customize it a bit. You can go through the settings and try them all, but there are a few things you will probably want to install to get started — a bash utility and the Ubuntu Software Center. To get both up and running, right-click on the desktop and open a terminal session from the menu. Type the following commands one line at a time, hit enter and let them finish before moving on.

sudo apt-get update

This synchronizes the internal package database with the online servers. Ubuntu uses packages to install software, and will automatically install everything you need to run a program when you install the program itself. The command line version is apt, and we want to update the package lists before we fetch any new software.

sudo apt-get install bash-completion ttf-ubuntu-font-family software-center synaptic

This installs a utility that lets you enter the first letter or letters of a location in the terminal, and use the Tab key to fill in the rest, as well as the fonts you'll need for the software store (otherwise some entries will have squares in place of letters) and the store itself. During the installation of the True Type fonts, you'll need to accept a license. Use the arrow keys to scroll the window, then tab key to choose an option and the enter key to accept.

Ubuntu has its own app store to install programs with just a click of the mouse.

Once finished, you'll find the Ubuntu Software Center in your apps list. That's Ubuntu's version of an app store where you can download just about any program available. If you're using a Chromebook with an Intel processor, there's nothing to do except look through it and grab the things you'll need. If you're using an ARM Chromebook, some of the programs aren't going to run — check the description and reviews to see if someone has mentioned it. If something you want isn't working for ARM processors, hit Google to find one that does. There a really good chance someone has compiled it for ARM because they wanted to use it, too.

You'll be told when updates to your operating system are available and can install them with the click of a button. You'll probably see a notice that a new version of Ubuntu is available to download. Don't just click yes and try it! Ubuntu 12.04 LTS isn't the newest version, but it is the best-supported version for most Chromebooks. Any and all critical updates and patches are available for 12.04, so there is no urgent need to try it. Google around a bit and see how newer versions work with your particular model before you jump in.

One last thing

Crosh

Because your Chromebook is in Developer Mode, you'll need to hit Ctrl + D at the boot screen every time you start it. You'll also get a scary warning about security. Know that doing any of this makes your Chromebook less secure. It's still more secure than most other laptops, but you are giving someone with physical access another way to try to get in.

When you log out of Ubuntu you go back to Chrome. the tab with your shell session is still open, and to go back just type sudo startxfce4 again. When you shut down, you'll need to reopen a shell session tab (Ctrl+Alt+T) again, and switch to bash with the shell command. You can then start Ubuntu with the sudo startxfce4 command. The tab with the shell running will need to stay open while you're in Ubuntu.

All that's left now is to try it and see why the people "dual-booting" on their Chromebooks love it so much!

Jerry Hildenbrand
Senior Editor — Google Ecosystem

Jerry is an amateur woodworker and struggling shade tree mechanic. There's nothing he can't take apart, but many things he can't reassemble. You'll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.