• Home
  • Blog
    • Programming
    • Art
    • Recipes
    • Home Automation
    • Books
    • Life
    • Writing
    • Gaming
    • Web Accessibility
    • Advent of Code
  • Programming Projects
  • GLSL Shader Art
  • Glitch Art
  • Github
  • YouTube
  • RSS
Menu

Mary Knize

Programming, art, and game development. Tinkering with JavaScript, Python, WebGL, GLSL, Rust, Lua, and whatever else I find interesting at the moment.

Dark mode

Developing on a Chromebook via SSH

Nov 29th, 2021
2 min read

Programming

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!

SSH

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!

Vim

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.

Node

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.

Upgrades

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.

Mary KnizeCanonical URL

Other Programming posts

Updating blog deployments with Github Actions

How I blog from my phone using Termux

Moving my blog from Netlify to Gatsby Cloud

Creating a Wordle command line clone in Rust

Updating drivers again for Ubuntu 21.10

Latest posts

Updating blog deployments with Github Actions

I made... chocolate croissants

I read three books in two weeks

Kielbasa and sauerkraut

Avoid doomscrolling with app pinning on Android