Instantly share code, notes, and snippets.

Embed
What would you like to do?
How I set up my Chromebooks' dev environment

Chromebook Setup Options

Option 1: Stay in Chrome OS

If you're writing bare-bones javascript for the browser, creating Chrome Apps and Extensions, or using remote coding apps like cloud9, Koding, or Nitrous, you may not need to install Ubuntu. Some tutorials can be done entirely within the browser. The tradeoff is that you won't have a full-featured command line, and you may hit a point where you can't install something that you need.

To start coding within Chrome OS, install Text or Caret as a text editor. (Text stores files in Google Docs and Caret stores the files locally on your machine, which may help you choose.) After that, you're good to go, since Chromebooks come with a browser installed.

Option 2: Install Ubuntu and run a traditional development environment

Enable Developer Mode:

  • Hold down Esc + Refresh + Power to prompt a restart
  • Press Control-D during restart to enter developer mode
  • Press Enter to confirm developer mode and wait to hear a beep; it takes about a minute to reboot from here
  • Complete the setup steps like entering the wifi info and google account
  • If something goes wrong https://github.com/dnschneid/crouton#usage has some troubleshooting help

Download Crouton and your editor:

  • Download Crouton: https://goo.gl/fd3zc (or via https://github.com/dnscheid/crouton), to use Ubuntu on a Chromebook
  • Pro Tip: Download things you'll want to run in Ubuntu before booting into it; the ~/Downloads file is shared, and it's nice to minimize use of the default Ubuntu browser
  • For example, download your editor now; you can get Atom (atom-amd64.deb) from the Atom releases page, though it needs some love to not crash on some ARM Chromebooks. (If you really need to clone down and compile Vim, you'll have to wait until after you have git.)

Install Crouton to start running Ubuntu:

  • Open a chrosh shell: In Chrome, use the shortcut Ctrl + Alt + t, type shell, and hit enter
  • Run sudo sh ~/Downloads/crouton -t xfce to install Ubuntu (assuming it's sitting in your Downloads folder)
  • Start Ubuntu with the command sudo enter-chroot startxfce4 or sudo startxfce4
  • From Ubuntu, you can go back to Chrome OS, by clicking "log out" from the top, left menu

Install apt-get:

  • Open the command prompt
  • Run sudo apt-get update
  • Be more forceful (sudo apt-get -f install) if the update fails

Install Git:

  • sudo apt-get install git, and type Y when it asks to continue
  • sudo apt-get install libnss3-dev, and type Y when it asks to continue

Minimal Git configuration:

  • git config --global user.name "Your Actual Name"
  • git config --global user.email "Your Actual Email"
  • If you want to use a remote, like GitHub, set up SSH keys

Install an editor:

  • If not downloaded, download an editor (atom-amd64.deb from the atom releases page, for example)
  • Run sudo dpkg --install ~/Downloads/atom-amd64.deb to install it
  • To use another editor, repeat those steps (download it and install it) for the editor of your choice

Install Ruby:

  • sudo apt-get install curl
  • command curl -sSl https://rvm.io/mpapis.asc | gpg --import- (because RVM needs to match signatures)
  • curl -L get.rvm.io | bash -s stable to install ruby
  • Close and reopen terminal
  • Confirm rvm is there by running rvm -v and getting good feedback, like ruby 2.2.2, rather than an error
  • Use /bin/bash --login if RVM won't let you set a version.
  • Install and set a default ruby version; this uses 2.2.2 as the example, but change it to fit what you need:
    • rvm install 2.2.2
    • rvm use 2.2.2
    • rvm -- default use 2.2.2

Getting started

  • Install Chrome. (I know, it's weird to reinstall Chrome on a Chromebook. Operating Systems ¯\_(ツ)_/¯)
  • If you're cloning an existing project git clone <whatever you want to clone>
  • If you're starting a new project, then gem install bundler is a good starting point for ruby projects, for example
@irom77

This comment has been minimized.

irom77 commented Apr 15, 2017

Will all this work on Chromebook Plus ? What about vscode ?

@benjaminadk

This comment has been minimized.

benjaminadk commented Jun 13, 2017

re-install chrome? i was about to try this but that line made me wonder if I am about to lose 2years of stuff on my chromebook....? is that what would happen or do we re-install for some other reason?

@Altiano

This comment has been minimized.

Altiano commented Jun 21, 2017

@benjaminadk I think because it already use Ubuntu that chrome is no longer exist

@watersb

This comment has been minimized.

watersb commented Aug 26, 2017

I have explored the Crouton method and I did actually get VS Code running.
Thanks to https://code.headmelted.com/

However, my tiny Acer CB3 is not up to the task. Very laggy, out of RAM. So much overhead, not at all an approach for which this Chromebook was designed.

I also briefly played with GalliumOS, a native Linux optimized for Chromebooks. But in general, I prefer the Chrome OS system design, so I'm forcing myself to figure it out.

@sambfreund

This comment has been minimized.

sambfreund commented Sep 28, 2017

Thanks for the post. I currently use Gallium for coding purposes. But switch to ChromeOS for all other basic tasks. Running with an Acer Chromebook 14. Crouton wouldn't set up Linux properly for me so I opted for GalliumOS route, and all has been working well so far.

@gapradel

This comment has been minimized.

gapradel commented Nov 7, 2017

Thanks for the info Rachel, just got an acer chromebook 14 and your instructions helped me turn it in to a basic coding machine.

@jannaee

This comment has been minimized.

jannaee commented Jan 17, 2018

Thanks so much for this wonderfully organized and well written document. I have an Acer Chromebook 14 as well and everything went smoothly. Well... actually I'm still installing the most recent version of Ruby and so far everything is going well. You did not mention node.js and npm however. Any thoughts? That's what I will be installing next using the info in the link below.

https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

@FlyingStitchman

This comment has been minimized.

FlyingStitchman commented Oct 30, 2018

Is there any way to get around a blocked by the administrator to enter dev mode. I want to program on my school chromebook but I can't find anything.

@justingolden21

This comment has been minimized.

justingolden21 commented Dec 14, 2018

WARNING TO ANYONE ABOUT TO TRY THIS:

I held Esc + Refresh + Power and my chromebook said the OS couldn't be loaded, I turned it off and on and it worked fine except I LOST ALL OF THE DATA I WAS WORKING ON. I don't mean unsaved data. I mean saved data, all my files were saved. I lost everything and there's no way to get it back the data is just garbage. Hopefully nobody else ever has to go through what I did.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment