Mary Knize

Developing on a Chromebook via SSH

2 min read


I have a very old and cheap Chromebook that I like to use for some light development when I want to sit outside on a nice day. It's an ASUS with an ARM processor and hasn't been supported in ages; not something very well suited to development.

However, I've gotten it to work pretty well with a few tweaks. I'd turned on developer mode almost as soon as I'd gotten it, and I'd installed crouton forever ago, but I don't even need to boot into Linux to do some serious work!


The first thing I need to do is SSH into my desktop machine. To do that, I need to open a new terminal tab on the Chromebook with CTRL + ALT + T. Then, I type shell into the terminal window to get a bash prompt.

From there, I have access to ssh. I can ssh myusername@mylocalcomputer and get my files from there!


I use Vim for editing all my files. On desktop I use PHPStorm and WebStorm with Vim bindings, so I'm very used to using Vim. It's a little less convenient without the autocompletion and hints that the Jet Brains IDEs have, but it works just fine for me.


A roadblock I ran into was compiling with npm. I would ssh into my desktop computer to make some file changes, but npm run build would fail because the version of node I was using was incompatible with one of the packages I'm using.

I use nvm on my Ubuntu desktop, but the version of node being used via ssh was located at /usr/local/bin/node, not nvm. It turned out that I already had the n version manager installed, so all I had to do was n 12.18.3 and then run n from the command line to pick the version that I wanted to use.

On my Chromebook, I can run node -v and it will now show 12.18.3 and I can build! The build and copy commands all work on my desktop machine, and I can open my test page, pointing to my desktop's IP address, and see my changes.

It feels redundant now to have both nvm and n installed, but there doesn't seem to be any conflict. Nvm seems to override n in my Ubuntu terminal, but n's version is what's used over SSH.


I'd like to eventually get sshfs working. Currently, when I try to mount my desktop's dev folder to my Chromebook, I receive a "Connection reset by peer" error. It would be nice to just open up my Chromebook and have the directory already mounted and ready to go. However, I haven't been able to fix that particular problem yet.

Canonical URL