You may not realize it, but your Mac already runs a variant of UNIX. You can easily access a terminal window to use your computer's built-in UNIX functionality with the "Terminal" program (Applications/Utilities/Terminal.app). You may want to make a shortcut to this program in your Dock, since you'll be using it a lot from now on. Similarly, you can use your Mac directly to log into a UNIX server, and even to transfer files to/from a UNIX server.
Your Mac comes with another program that enables you to display graphics from programs running on a remote UNIX/Linux server, called "XQuartz" (Applications/Utilities/XQuartz.app). On older OS X systems this program was called "X11" and was located in essentially the same location. If neither of these programs are currently installed on your Mac, you can download XQuartz from the Mac App Store (free).
To enable forwarding, just run XQuartz/X11 before starting Terminal. If a xterm window pops up from XQuartz/X11, you may close that window before starting Terminal, since Terminal is more feature-rich than XTerm (my opinion). Once XQuartz/X11 is running, when you log into remote UNIX servers (as shown in the next section) you should be able to display remote graphics.
The standard protocol for logging into a modern UNIX server is through using a Secure SHell (SSH) client. OS X has built-in SSH functionality, through the 'ssh' command in the Terminal.
To use ssh from the Terminal:
ssh username@hostname -CYor
ssh username@hostname -CX(the Y vs X difference is minimal, and will not affect your user experience, just remember to use one of them). Here, username is your user name on the UNIX server, and hostname is the name of the UNIX server. For example, I could log into the UNIX server titan.smu.edu with the command
ssh email@example.com -CY
For additional information on using ssh, type
(short for manual) in the Terminal window.
You may copy files to and from a UNIX/Linux server in the Terminal window as well, using the 'scp' command. The syntax is either
scp file_to_copy_from username@hostname:file_to_copy_to
scp username@hostname:file_to_copy_from file_to_copy_to
depending on whether you want to copy the file to or from the UNIX server. For example, suppose I have a file named 'file1' in my home directory on titan, and I want to copy it to the current directory on my Mac (the one the terminal is in, type 'pwd' to see which directory you are in if unsure):
scp firstname.lastname@example.org:file1 .
scp email@example.com:file1 file1
would give the desired result. Suppose now that I have the file 'file2' in the current directory on my Mac that I want to copy to my home directory on titan:
scp file2 firstname.lastname@example.org:
scp file2 email@example.com:file2
would do the trick. For more information on the 'scp' command, type man scp in the terminal.
One of the most popular graphical file transfer options in OS X is the program Fetch. This is not a free program.
To use Fetch, fill in the UNIX hostname (e.g. titan.smu.edu), your username on that host (e.g. reynolds), and your password on that host, then click 'Connect'. You will then see a display of your remote directory on the UNIX server. Transfer files by dragging them to and from the Finder.
A free alternative to Fetch that may be used from OS X, Windows and Linux is is FileZilla. To install FileZilla in OS X:
To use FileZilla, fill in the fields for the host (e.g. titan.smu.edu), your username on that host (e.g. reynolds), your password, and the port (use 22 for SFTP), and hit [return]. You should notice two file browser windows open up, the browser on the left is on your computer, the browser on the right is from the UNIX host (e.g. titan). Transfer files by dragging them from one computer to the other with your mouse.
D.R. Reynolds, 28 August 2014