Using UNIX from a Macintosh OS X Computer

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.

Enabling X11-Forwarding (Popping up windows from the 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.

Logging into an UNIX server

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:

For additional information on using ssh, type

man ssh

(short for manual) in the Terminal window.

Transferring files to and from a UNIX server (terminal)

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

or

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 reynolds@titan.smu.edu:file1 .

or

scp reynolds@titan.smu.edu: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 reynolds@titan.smu.edu:

or

scp file2 reynolds@titan.smu.edu:file2

would do the trick. For more information on the 'scp' command, type man scp in the terminal.

Transferring files to and from a UNIX server (graphical)

Fetch

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.

FileZilla

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