UW CSE logo uw

CSE 303: Concepts and Tools for Software Development, Spring 2009

arrow CSE Home arrow About Us arrow Search arrow Contact Info

Working at Home

You will need to gain access to a Linux or other Unix environment for working on your homework for this course. There are several ways to do this:

Connecting to attu

If you are on a Mac or Linux box, you can connect to the attu server by opening a Terminal window and typing the command:

ssh attu.cs.washington.edu

Otherwise, to connect to attu we recommend that you install the following software:

Putting a Unix environment on your computer:

There are several ways you can do this:

Installing Linux:

To install Linux on your computer, you need a Linux installation CD. The most common way to get such a CD is to download the entire CD's contents from the Linux distributor's web site and burn this onto a recordable CD. Then you reboot your computer with the CD in the drive and you can try out and/or install Linux.

The contents of Linux CDs are distributed as large files called ISO files (ending with extension .iso). Download a Linux ISO from one of the following locations:

You can burn a .iso image file onto a blank CD using many common CD recording programs that come with your computer. Try loading your computer's included CD burning software and looking for an option about "burning" from an "image file" or "ISO 9660 file" or something like that.

If you are scared of trying all this but still want to try Linux, if you bring Marty $1 (to cover the cost of the blank and Marty's precious precious time), he will burn you an Ubuntu Linux CD and bring it to class for you.

Creating a Linux virtual machine:

This option creates a fake simulated computer inside your computer and allows you to install Linux onto that. The disadvantage is that this is slower than actually installing Linux. The advantage is that it is less disruptive to your computer and that you can run Linux inside of Windows at the same time, so you won't get "stuck" as easily (can switch back to Windows to Google for help if you have a problem, etc.).

To create a virtual machine, you will still need a Linux installation CD or .iso image file as described above. So go do that first.

Next, you will need to download and install the program called VirtualBox by Sun Microsystems. This program lets you run virtual machines in your computer. Install and run VirtualBox. In VirtualBox, click New to create a new virtual machine. In the dialog box that pops up, give it any name you want, and choose the Operating System of Linux and the Version of Ubuntu.

VirtualBox

Click Next. For most of the rest of the screens you can just use the defaults and click Next. The only tricky part is when VirtualBox asks you to set up the hard drive for your virtual computer. You will need to click New... to create a new fake virtual hard drive for your Linux box. You can just click Next through all the hard drive settings if you like, or you can adjust the fake drive's size if you want more space (the default is probably plenty).

VirtualBox

Click Next until you're done, then click Finish. You should be sent back to the main VirtualBox screen with a new virtual machine in the "off" state:

VirtualBox

Start your virtual machine by pressing the big Start button. You'll get a "First Run Wizard" dialog box. It asks you what media you want to use to boot up your virtual machine and install an operating system on it. Tell it the drive letter of your CD-ROM drive (if you have a Linux CD) or browse to the location of your .iso Linux image file (if you downloaded one).

VirtualBox

If you use the .iso option, you may need to tell VirtualBox about the ISO file. After you click the browse button, in the Virtual Media Manager window that pops up, click Add and browse to the location of your .iso file:

VirtualBox

After all of this, click Next and Finish enough times, and you should be able to install Ubuntu Linux!

VirtualBox

You can just choose the obvious or simple defaults for all options.

Once you have VirtualBox installed, you may want to install their VirtualBox "Guest Additions" to give smoother integration between your virtual Linux box and your real computer. (instructions coming soon) You may also want to read about VirtualBox's "Shared Folders" feature that allows your Linux box to access all of your Windows / Mac OS X files.

Install the VirtualBox "Guest Additions":

You can improve VirtualBox's performance and its integration with your computer by installing some drivers onto the Linux virtual computer called the "VirtualBox Guest Additions." This will allow you to choose higher screen resolutions than 800x600 pixels.

To install the Guest Additions, run your Ubuntu virtual machine and then...:

  1. In the Windows menu bar of the running machine's Sun VirtualBox window, click Devices, then Install Guest Additions...
    VirtualBox Guest Additions
  2. Ubuntu will pop up a message box asking you if you want to auto-run the software on the "CD" that was just inserted. Click Cancel.
  3. Open a Terminal window (Applications, Accessories, Terminal). At the terminal, type:
    cd /media/cdrom
    sudo ./VBoxLinuxAdditions-x86.run
    

    Now press Enter. It will ask for your password, then (hopefully) install the VirtualBox guest additions onto your computer. You'll need to restart the virtual machine after it's done.

  4. You should now have the guest additions installed. You can now enable fancy options like the auto-screen-resize from the Machine menu:
    VirtualBox Guest Additions
Enabling Sound:

If you enable audio, your virtual machine will be able to play sounds. To do so, in the main VirtualBox window (before you start up your virtual machine), right-click the virtual machine and choose Settings. Then in the dialog box that appears, choose the Audio section, and check the box labeled Enable Audio. Change the Host Audio Driver from Null to Windows DirectSound. Click OK. That's it! (While you're in the settings, you can enable other things like USB, etc., if you like. But audio is the most important.)

Install Unix commands on your existing operating system:

There are projects that have converted or "ported" a lot of the standard Unix tools and commands to Windows and Mac environments. The links to downloading and installing these projects are below. Cygwin gives Windows a usable Bash Shell. Fink augments Mac OS X's existing Bash shell to contain more of the commands we'll use in CSE 303.

These are useful applications, but they are not exactly the same as real Unix (not all commands exist, some commands behave differently, not everything is compatible, etc.), so they are less recommended than the previous options above.

last updated Apr 1 2009

Valid XHTML 1.1 Valid CSS!