MobaXterm and WSL
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 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.
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.