CoCalc Public Fileschromeos / williams-crostini-on-pixelbook.mdOpen with one click!
Author: William A. Stein
Description: Notes on ChromeOS + CoCalc
Compute Environment: Ubuntu 18.04 (Deprecated)


  1. Install (Crostini) Linux support -- search for Linux in settings and enable.

  2. In the Linux terminal, type

    sudo su
    apt-get update && apt-get upgrade && apt-get install tmux dpkg-dev
  3. Install Docker as here:

    sudo su
     apt-get install -y \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common &&  \
    curl -fsSL |  apt-key add - && \
     apt-key fingerprint 0EBFCD88  && \
     add-apt-repository \
     "deb [arch=amd64] \
     $(lsb_release -cs) \
     stable" && \
     apt-get update  && apt-get install -y docker-ce
  4. Install CoCalc-docker:

    sudo docker run --name=cocalc -d -v /cocalc:/projects -p 443:443 -p 80:80 sagemathinc/cocalc

    Type /sbin/ifconfig eth0|grep inet in the terminal, and use whatever ip address is listed there -- e.g., for me it was

  5. Install Node:

    curl -sL | sudo -E bash - && sudo apt-get install -y nodejs
  6. Other useful stuff:

    sudo apt-get install inkscape gimp


Stopping Linux

Type ctrl+shift+t in Chrome, then type

vmc stop termina

Alternatively, find the "Terminal" icon in the app search thing and right click, then "Shut down linux (beta)."

Configure Cocalc (docker)

  1. Visit https://penguin.linux.test and make an account (click through security warning).

  2. Make the user you just made an admin:

    [email protected]:~$ sudo docker exec -it cocalc bash
    [email protected]:/# cd /cocalc/src/
    [email protected]:/cocalc/src# coffee
    coffee> require './'
    coffee> db.make_user_admin(email_address:'[email protected]', cb:done())
  3. Make a dev project for local development:

    • Create a new project called "dev".

    • Create a terminal in it and open.

    • Make an ssh key in it: ssh-keygen -t ed25519 and copy it to your github account, so you can clone (and push) the cocalc code properly:

      ~$ cat .ssh/
      ssh-ed25519 AAAAC3NzaC1lZDI1NTE...
    • Clone the cocalc repo:

      git clone [email protected]:sagemathinc/cocalc.git
    • (Alternative:) If you don't want to mess with ssh keys above, do

      git clone
    • Build CoCalc (this should take around 5 minutes):

      $ cd ~/cocalc/src/; time npm run make
    • Add all this to the bottom of ~/.bashrc.

      # Cocalc dev setup
      export PATH=/usr/lib/postgresql/10/bin:$PATH
      export CUR=`pwd`
      cd $HOME/cocalc/src
      . smc-env
      cd "$CUR"
    • Exit and restart your shell. Then do the following from cocalc/src (in various tmux shells):

    • Type dev/project/ and get a URL like[project_id]/port/34817/app/. Change to penguin.linux.test and visit that URL.