These instructions are for RPI users who may want to use features such as Rainbow Grades while off campus using the Windows Subsystem for Linux (WSL). This page is presented as-is and may not be updated to reflect future changes. It is assumed that you already have configured external VPN access, if you are unsure of how to do this, consult the Helpdesk website.

  1. Rainbow Grades Software/Configuration
    Follow the instructions to obtain the Rainbow Grades software first. Once you have completed step 4 on that page (“Edit the Makefile”) you can continue with these directions.

  2. Obtaining vendor libraries
    If this is your first time running Rainbow Grades, make sure you are not connected to the VPN. Inside your directory (assumed to be grades_summary), simply run make. This will not succeed, but you should see a download happen for a vendor library. A partial output example is:

    wget https://raw.githubusercontent.com/Submitty/Submitty/master/grading/json_syntax_checker.py -O /mnt/d/SubNew/RainbowGrades/../misc_tools/json_syntax_checker.py
    --2018-10-10 16:37:52--  https://raw.githubusercontent.com/Submitty/Submitty/master/grading/json_syntax_checker.py
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.184.133
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.184.133|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 630 [text/plain]
    Saving to: ‘/mnt/d/SubNew/RainbowGrades/../misc_tools/json_syntax_checker.py’
    
    /mnt/d/SubNew/RainbowGrades/. 100%[=================================================>]     630  --.-KB/s    in 0s
    
    2018-10-10 16:37:53 (36.4 MB/s) - ‘/mnt/d/SubNew/RainbowGrades/../misc_tools/json_syntax_checker.py’ saved [630/630]
    
  3. VPN Resolution
    First connect to the VPN in Windows. Once this is done, run sudo emacs /etc/resolv.conf . If you do not use emacs, you can use whichever text editor you like, but you must edit this file from within WSL. Editing this file from Windows, such as using Notepad or Wordpad, may cause unexpected behavior or break network capability in your WSL installation.

    You will see several lines that start with nameserver. Rearrange the lines so that the RPI VPN is the first nameserver line (it should be the second line, since Line 1 should always start with # This file was automatically generated by WSL.). RPI’s VPN will start with 128.113. Save your changes and exit your text editor.

  4. Continue Rainbow Grades Instructions
    Continue following the Rainbow Grades instructions. You will need to have completed step 3 before running commands like make pull or make push.

  5. Restoring Settings
    If you preserved line 1 of resolv.conf you can simply disconnect your VPN client or exit the WSL shell. If you removed the first line (starting with #) or want to continue to use your existing WSL terminal while connected to the VPN, but require accessing anything outside of RPI’s network, simply open resolv.conf as in Step 3 and reverse the changes you made. Upon saving, you will be able to access any non-RPI address/site in WSL, while still being connected to the VPN. You can repeat steps 3 and 5 as needed to switch between communicating inside and outside RPI’s network.