Rather than deal with 40 different software configurations, I will assume we are all using the CS system, and I will use the CS system remotely in class. Here is what you need to be ready.
If you do not already have an account on the CS system, then run, don't walk, to accounts.cs.wm.edu where you can submit a request for one.
Do not wait to apply for an account! These requests require human review, so it may take several days for the account to appear.
Once you have your CS account you can access the system using the machines in the undergraduate labs in ISC 4, rooms ????
You can also log into the CS system via the network. Being able to work remotely is a really useful skill to have, so I encourage you to learn it. Here is what you will need.
You will need a terminal window to access the CS system.
On Macs the terminal program resides at
/Applications => Utilities => Terminal. The default shell on Macs
is zsh, which is endlessly customizable.
For Windows I recommend Microsoft Terminal. Installing Terminal will also install SSH for you.
You will need SSH (Secure Shell) to access the CS system remotely. SSH uses public key cryptography to authenticate connections. Both Apple and Microsoft ship their products with the OpenSSH implementation of SSH.
If you have a Mac, you should have SSH already installed. It should at the command line in the terminal utility discussed above.
If you installed Microsoft Terminal, you should already be able to access SSH through it. Otherwise, here are installation instructions.
You should create public and private SSH keys to streamline remote access. SSH keys allow you to login and copy files remotely without needing to enter your password.
These instructions assume you have set up and are running ssh-agent, have modified configuration files as needed, &c.
ssh-keygen -t rsaRSA is a good choice as it is typically supported by SSH installations. A DSA key will be rejected by the CS system as insufficiently secure.
id_rsa.pub to the CS system.
.ssh in your home directory:
cd ~/.sshIn Unix, Linux, and Windows Powershell/Terminal, tilde (
~) is shorthand for your home directory.
scp secure copy command:
scp id_rsa.pub your_cs_userid@bg8.cs.wm.edu:Be sure not to forget the colon at the end! If you do, you'll just create a local file named
your_cs_userid@bg8.cs.wm.edu.
.ssh in your home directory:
mkdir ~/.ssh
.ssh directory:
mv ~/id_rsa.pub ~/.ssh
~/.ssh:
cd ~/.ssh
authorized_keys:
cat id_rsa.pub >> authorized_keys
The simplest way to access on-campus machines from off-campus is to use the College's virtual private network. Instructions on installing and using the VPN may be found here .
Alternatively, you can acessing on-campus machines using the College's bastion host. Here are instructions for using the bastion.
bastion.wm.edu, from IT.
ssh into a CS machine, from CS systems administration.
You will need to be able to edit remote files. One approach is to use an editor such as Emacs or vim running on the remote host that you can use in a terminal window.
If you choose to edit from a machine not on the CS network, you will need an editor capable of remote editing, such as
If you choose VS Code, it may appear slow to start up the first time you use it for remote editing. This
is because it is building a several hundred MB directory ~/.vscode-server on the remote
system. VS Code should be more sprightly on subsequent connections.
Also, watch out for malicious VS Code extensions .
Macs are actually Unix systems under the hood. You can install much of the *nix software development through Apple's Xcode. You may wish to install only the Xcode command line tools .
You can also have a more Linux-like experience if you install utilities via Homebrew.
Your best bet here is to install the Windows Subsystem for Linux (WSL). WSL is a full-fledged Linux that runs alongside the Windows OS. As such you can install the *nix software ecosystem.