Computing

Software Tools

Personal Laptop Setup

The classroom provides both wireless and wired network access.  Both methods require authentication.

For wireless access, you can either authenticate with your CSENetID each time you connect, or you can register your MAC address in advance so that your laptop can automatically connect.  Instructions for both of these methods are provided here.

For wired access, you must register your MAC address in advance.  To find your MAC address, follow these instructions.  To register, use this form.

Linux Computer Servers

You'll need both an SSH client and an X windows server to connect to the department's Linux servers.  The easiest way to get both of these is by downloading and installing the Cygwin/X package.  Instructions for that are below.  If you'd rather not use Cygwin, you can also cobble together pieces of software provided by the University and the department.  Instructions for that follow the instructions for Cygwin/X.

Whichever you choose, you should have an SSH client and X server installed before the first class.

Cygwin/X

Cygwin/X has an excellent user's guide, with detailed download and installation instructions on this page.

There are a few things to note when installing Cygwin/X:

  1. Make sure to also install openssh, as recommended.  It's under the "Net" section in the Cygwin installer.
  2. Make sure to install the X-startup-scripts package in addition to the xorg-x11-base package.
  3. The startxwin.bat start-up script will be in /usr/X11R6/bin under the directory in which you installed Cygwin (C:\cygwin by default.)

If you've installed Cygwin/X with all the default settings, the default startxwin.bat should work fine.  If you installed Cygwin into a non-default directory, then you'll need to edit startxwin.bat to reflect that.  It's a very well commented file, so how to edit it should be clear.

Running startxwin.bat will start your X server (look for the "X" in the system tray) and open an XTerm window to a local shell.  In this XTerm window, run:

ssh -Y -l yourcseusername attu.cs.washington.edu

The -Y option is important, as it handles the display forwarding.  Obviously, you should replace yourcseusername with your actual CSE user name.

Once you have an SSH session open to attu, run emacs (or mozilla or xfig, or anything else you know will open a window).  The window should pop up on your local machine.

The UW-provided SSH client

  1. Download the UWICK starter kit here:  https://www.washington.edu/computing/software/uwick/starter/ You'll need to login to this page with your UW (not your CSE) id.
  2. The UWICK kit contains a lot of software for connecting to the university, but we only need to the SFTP client---which also contains an SSH shell client.  Note that the kit has another SSH client called TeraTerm.  Don't use that one.  You can install as much of the kit as you'd like, but if you only want to install the SFTP client, select "Let Me Choose the Components" at the 3rd prompt. Then check only the SFTP client.
  3. When asked for your UW id, enter your CSE id instead.
  4. After the SFTP client has been installed, find its directory.  It should be something like "Program Files/UWICK/SSH Communications Security/SSH Secure Shell".
  5. Run SshClient.exe.  This will open an SFTP window.
  6. From the "Window" menu, select "New Terminal".  This will open an SSH terminal window.
  7. Leave the terminal window open, but close the SFTP window.
  8. Select "File Save Layout", then "File Save Settings", and then exit the program.
  9. Run SshClient.exe again.  It should open the terminal window this time, not the SFTP window.
  10. Choose quick connect and enter attu.cs.washington.edu as the host.
  11. After entering your password, you should be logged in to your CSE home directory.

The department-provided Reflection X server

  1. The department has licenses for WRQ's Reflection X server, but it is not downloadable.  You can check out a copy from support (room 260, staffed from 9-5 on weekdays).  If you can't make it to the support office while they're open, ask Danny (the TA) to help you get a copy.
  2. Once you have the CD, follow the instructions for installing the two Reflection components---but don't install the UWICK component.  (Follow the instructions above if you don't have an SSH client yet.)
  3. After Reflection has been installed, run it.  Don't connect to anything, just leave it running.
  4. Open an SSH client window and choose "Edit Settings".
  5. In the settings window, under the "Profile" section select "Tunneling".
  6. Check the box at the bottom labeled "Tunnel X11 connections".
  7. Click OK, then save your settings with "File Save Settings", then exit.
  8. Re-run the SSH shell and connect to barb.  Reflection should still be running!
  9. Run emacs on attu
  10. A new window should pop up showing you XEmacs.

Logging into the Compute Servers

Once you login to the instructional server attu.cs.washington.edu you need to make sure your PATH includes the directory where course-specific applications are kept.

Once you have edited the appropriate file, log out and then log back in.  Enter

echo $PATH

to confirm that your PATH is set correctly.

Accessing and Sharing Course Related Files

From the Linux compute servers, course related files will appear beneath

 /cse/courses/csep573/04au

You can transfer files back and forth between your PC and the compute server using the SSH client: just select "Window->New File Transfer" to open a file browser on your desktop.  Alternatively, you can access the files by creating a shortcut on your Windows desktop to the following location:

\\ntdfs\cs\cse\courses\csep573\04au

To share your files with other students in the class just make them globally readable.  Here are some useful Linux commands:

ls -l
list the permissions of the files in the current directory
chmod a+rx foo
make the file or directory foo globally readable and executable  (note: for other people to access your subdirectories, those subdirectories must be both readable and executable).
chmod -R a+rx .
make all files in this directory and subdirectories globally accessible
cp -r ~danny/foo .
copy danny's file or directory to the current directory.  (note: the -r is needed for copying directories, it is okay to include for any file.)
umask 002
putting this in your .profile or .bashrc will make your files be globally readable by default when created

If you're having difficulty with any of the above, please email danny@cs.washington.edu