Description
Developer mode (Linux) on the Chromebook is leaving beta and has become a stable Linux environment and now should be usable in a Carpentries class.
- https://chromeunboxed.com/linux-leaving-beta-in-next-chrome-os-update-and-thats-a-big-deal/
- https://www.theverge.com/2021/5/20/22445382/chromeos-linux-release-beta-version-91
I have been using this as my daily driver for Linux at home now for a couple of years and have had minimal issues with it, less than I have had in the past using WSL, WSL2, MobaXterm, cygwin, and Brew on OSX. Others have also been using it for carpentries as well:
- https://carpentries.org/blog/2019/03/Carpentry-on-a-Chromebook/
Of note, the steps to copy and paste the URL are no longer needed or the need to install a second browser, it simply just works (see below).
This should not be confused with "Developer mode," which is very evasive as described in issue #164, this is a built-in VM inside a chromebook commonly known as crostini.
There are a number of features that makes it transparent such as built-in proxy for localhost so users can easily view web servers bound to localhost
, IPv6 support, built-in X11 support, Docker, etc. Even Microsoft Visual Code Studio works without issue like a native application. The only compatibility issues I have had is when trying to run alternative container systems (singularity - it might be able to run but the default install fails, minikube etc) and most of these would have issues on a MacOS or campus cluster HPC system (VM in a VM is not supported).
Setup is simple. Just go to the launcher -> setting (gear) -> advanced -> developers -> and in "Linux development environment" click "Turn On". Optionally uses can change their username and increase the allocated size.
After that participants are in a very clean Debian 10 environment that "just works".
For example, for Jupyter you can simply run
sudo apt-get update
sudo apt-get install -y python3-pip
python3 -m pip install jupyterlab
source ~/.profile # a new system does not have ~/.local/bin and not on the path
jupyter-lab
This will automatically connect the chromebook browser to localhost and show the Jupyterlab notebook. This all worked well on a $150 machine with 4GB of ram in under 5 min.
And if anything goes wrong user can simply turn disable (delete) Linux and enable it again for a clean environment.
I have taught computing classes for a number years, and recently have had students use them with success.
I would be willing to author a PR if this is agreeable to remove the "not allowed" status of the Chromebook and author any instructions/documentation that may needed.