Suggested desk setup
In the workshop you will need to view:
- the instructors screen
- a window where you will be running commands on a remote machine
- HTML workshop material, should you want to revisit an earlier part of the workshop
- A collaborative Google Doc
We therefore recommend you have two screens set up if possible.
Required credentials
Before the workshop you should receive three things you will need to log on to the high-performance computing cluster used during this workshop:
- A file called something like
userXX
, where XX is two digits;- This is your encrypted SSH private key - keep it secure.
- A file called something like
userXX.pub
, where XX is two digits;- This is your SSH public key.
- A passphrase (password)
- This string of characters is needed to decrypt and use your encrypted SSH private key (see above) - keep it secure.
Save the two files to the machine you will be using the workshop.
The purpose of these three things will be explained in the workshop.
Required software
There are several pieces of software you will wish to install before the workshop. Though installation help will be provided at the workshop, we recommend that these tools are installed (or at least downloaded) beforehand.
VS Code
You may need a text editor on your machine. This should be something like
- VS Code (all major operating systems; recommended)
- Atom (all major operating systems)
- Sublime (macOS)
- TextMate
- nano, vim or emacs
FileZilla Client
This is for copying files between your machine and the remote cluster. Download the FileZilla client from here.
Bash and SSH
This lesson requires a terminal application (
bash
,zsh
, or others) with the ability to securely connect to a remote machine (ssh
).
Where to type commands: How to open a new shell
The shell is a program that enables us to send commands to the computer and receive output. It is also referred to as the terminal or command line.
Some computers include a default Unix Shell program. The steps below describe some methods for identifying and opening a Unix Shell program if you already have one installed. There are also options for identifying and downloading a Unix Shell program, a Linux/UNIX emulator, or a program to access a Unix Shell on a server.
Windows
Computers with Windows operating systems do not automatically have a Unix Shell program installed. In this lesson, we encourage you to use an emulator included in Git for Windows, which gives you access to both Bash shell commands and Git. If you have attended a Software Carpentry workshop session, it is likely you have already received instructions on how to install Git for Windows.
When you install Git for Windows you’re asked a number of questions; we recommend the followng responses:
- Do you want to to allow this app to make changes to your device?
- yes
- Accept license
- Next
- Select destination location
- Accept default
- Select additional components
- Ensure Additional Icons is checked
- Select Start Menu Folder
- Accept default
- Choosing the default editor used by vim
- Use the Nano editor by default (unless you have something like Atom or VS Code installed)
- Override the default branch name for new repositories
- main
- Adjusting your
PATH
environment- Git from the command line and also from 3rd-party software
- Choosing HTTPS transport backend
- Use the native Windows Secure Channel library
- Configuring the line endings conversion
- Checkout Windows-style, commit Unix-style line endings
- Configuring the terminal emulator to use with Git Bash
- use MinTTY (the default terminal emulator of MSYS2)
- Choose the default behaviour of
git pull
- Default (fast-forward or merge)
- Choose a credential helper
- Git Credential Manager Core
- Choose extra options
- Enable filesystem caching
- Don’t enable symbolic links
- Don’t enable experimental support for pseudo consoles
- Don’t enable experimental built-in file system monitor
- Install
- Completing the Git Setup wizard
- Don’t launch Git Bash
- Don’t view the Release Notes
Once installed, you can open a terminal by running the program Git Bash from the Windows start menu.
Alternatives to Git for Windows
Other solutions are available for running Bash commands on Windows. There is now a Bash shell command-line tool available for Windows 10. Additionally, you can run Bash commands on a remote computer or server that already has a Unix Shell, from your Windows machine. This can usually be done through a Secure Shell (SSH) client. One such client available for free for Windows computers is PuTTY. See the reference below for information on installing and using PuTTY, using the Windows 10 command-line tool, or installing and using a Unix/Linux emulator.
For advanced users, you may choose one of the following alternatives (but we would really prefer you to use Git for Windows for this workshop):
- Install the Windows Subsystem for Linux
- Use the Windows Powershell
- Read up on Using a Unix/Linux emulator (Cygwin) or Secure Shell (SSH) client (Putty)
Warning
Commands in the Windows Subsystem for Linux (WSL), Powershell, or Cygwin may differ slightly from those shown in the lesson or presented in the workshop. Please ask if you encounter such a mismatch — you’re probably not alone.
macOS
On macOS, the default Unix Shell is accessible by running the Terminal program
from the /Application/Utilities
folder in Finder.
To open Terminal, try one or both of the following:
- In Finder, select the Go menu, then select Utilities. Locate Terminal in the Utilities folder and open it.
- Use the Mac ‘Spotlight’ computer search function. Search for:
Terminal
and press Return.
Reference
Linux
On most versions of Linux, the default Unix Shell is accessible by running the (Gnome) Terminal or (KDE) Konsole or xterm, which can be found via the applications menu or the search bar.
Special cases
If none of the options above address your circumstances, try an online search
for: Unix shell [your operating system]
.
SSH for Secure Connections
All students should have an SSH client installed. SSH is a tool that allows us to connect to and use a remote computer as our own.
Windows
Git for Windows comes with SSH preinstalled: you do not have to do anything.
GUI Support (optional)
None of the software we will be running in the workshop requires a graphical user, but if you do want to run graphical applications on remote machines via SSH in the future then please install MobaXterm Home > Edition.
macOS
macOS comes with SSH pre-installed: you do not have to do anything.
GUI Support (optional)
None of the software we will be running in the workshop requires a graphical user, but if you do want to run graphical applications on remote machines via SSH in the future then please install XQuartz.
Linux
Linux comes with SSH and X window support preinstalled: you do not have to do anything.