MobaXterm and WSL

MobaXterm on Windows

MobaXterm is a convenient way to remotely access a computer/server. It allows you to use SSH to login and execute commands on a remote computer similar to Putty. MobaXterm also has built in X11 forwarding so you can run graphical applications remotely while having the application's output displayed on your local device. Another feature is SFTP or the ability to transfer files between servers, similar to Cyberduck.

After downloading and installing MobaXterm from here, you can access a cs machine by typing: ssh <your eid>@<cs server name>.cs.colostate.edu for example: sharpp@denver.cs.colostate.edu, once you have entered your password you will have the same functionality as you would in the terminal on a CS department computer. To try out the X11 forwarding you can run a program like chrome by typing: google-chrome in the command line and after a few seconds you should get a window that opens and contains chrome. Depending on your connection speed, using a graphical application may have some lag. Finally to transfer files between your computer and a remote server you have an SSH connection with, click on the Sftp tab on the left side of the MobaXterm window. Docs for MobaXterm can be found here.

XQuartz on Mac

XQuartz is an application for macOS 10.9 or later, including macOS 11 (Big Sur), that allows you to use SSH to login and execute commands on a remote machine, similar to the Windows applications MobaXterm or Putty. XQuartz also supports X11 forwarding, so you can run X11 applications such as Logisim, Firefox, or the LC-3 graphical simulator.

Download and install XQuartz from the XQuartz website: https://www.xquartz.org - note, you may need to allow the app to open by going to System Preferences -> Security and Privacy -> General, then click on "Open XQuartz". It is recommended to restart your computer after installing XQuartz before using the application for the first time.

Once you have installed XQuartz, launch the application, and you will be greeted with a terminal window. You can connect to a CS Department Linux Machine by typing: ssh -<X or Y> <your eid>@<cs server name>.cs.colostate.edu. For example: ssh -Y sharpp@denver.cs.colostate.edu. If you are using a version of macOS prior to 11.0, you may be able to use the -X flag to run X11 applications remotely. If you are using macOS 11.0 or later, or if you see the message: Warning: untrusted X11 forwarding setup failed: xauth key data not generated above the Linux machine's welcome message, or if you see the message: Error: no DISPLAY environment variable specified when trying to run an X11 application, you will need to use the -Y flag in order to run X11 applications without using the X11 SECURITY extension controls. You may still see the message: Running without a11y Support! This is fine, the application should still open. To try out X11 forwarding, you can run a program like Chrome by typing: google-chrome in the command line. XQuartz Docs can be found on the XQuartz website: https://www.xquartz.org. For more information on X11 forwarding via SSH, see the SSH man page: https://www.man7.org/linux/man-pages/man1/ssh.1.html under the -X and -Y flags.

Linux on Windows 10

This next option known as Windows Subsystem for Linux is pretty handy if you want to have basically a full Linux environment running on your Windows 10 computer that can access your files and network connection. Follow the steps found here. My current Linux distribution of choice is Ubuntu 18.04, but feel free to experiment with other distributions. Once you have gone though enabling WSL and installing a Linux distribution, you should have access to many of the Linux based tools found on the CS machines. Because distributions can vary always make sure to run your code on a CS department machine to verify you get the desired functionality before turning in a project.


Installing software on Linux

On Debian based Linux distributions like Ubuntu APT or apt is a tool to install and update many common programs. If there a specific program you need in your new WSL or VM Linux system there is a good chance you can easily get it with apt. One of many good resources to learn about apt can be found here.