Dept. of Computer Science & Engineering

Site Tools


Setting up a Virtual Machine

When taking CSE 101, CSE 107, or CSE 113, we recommend that students new to using Linux use a virtual machine. A virtual machine is an emulated computer, which we'll use to run the GNU/Linux operating system from a Windows or Mac OS machine.

For introductory classes, it is especially helpful to use a virtual machine, since you can be sure you have all of the software required with minimal setup. In this guide, we'll walk you through setting up our standard VM image, which comes with everything you'll need for your classes pre-installed.

Downloading Virtual Box and the appliance file

  1. Download the Virtual Box release that matches your OS from the VBox downloads page. Run the installer, when the download has finished.

  2. Now, go to our file server's Appliances folder, and download CSE64.ova.

  3. Once this download has finished, open the file. Virtual Box should automatically open. On the settings window that appears, check the checkbox that says Reinitialize the MAC address of all network cards or your machine may not work. Then, click the Import button.

  4. Once the import has finished, you can click the green arrow in Virtual Box to start your new VM.

What next?

This machine is yours to break, fool around with, or work on! It's capable of everything you need for our introductory classes.

Learn to use the shell

We recommend checking out The Linux Command Line if you haven't ever used a shell before. Since you'll be spending a lot of your time in a shell from here on, it's good to get familiar with it early.

Back up your files

You should use Dropbox to make sure your files aren't lost, since it can be pretty easy to overwrite something accidentally. We've already installed it for you, so sign up! You should really learn to use our Gitlab, but Dropbox will do the job for now.

Write code!

Your default text editor is Atom, which is made by Github. Atom supports many plugins and themes that make it able to be highly personalized. The iPython shell is also installed, and is useful for writing Python code. Both are great for people learning to code for the first time.

At some point, nearly every person in this department begins to use Vim and/or Emacs. They are extremely powerful, highly customizable tools, and can make writing code faster, easier, and prettier than in other text editors.

  • To learn to use vim, run $ vimtutor.
  • To learn Emacs, run $ emacs, then press ctrl+h, then press t.

Change your background!

1. Download/upload an image of your choice. This assumes you have downloaded a file ~/Downloads/bg.jpg.

$ cd ~/.dotfiles/openbox

2. rename the current background file.

$ cp .bg.jpg old.bg.jpg

3. Copy the new background, notice the dot and this assumes you are in the ~/.dotfiles/openbox directory.

$ cp ~/Downloads/bg.jpg .bg.jpg

4. You have to exit openbox and run startx again, Middle Mouse Click and Exit.

6) run startx

$ startx


  • If Virtual Box is open but your VM isn't booting, it usually means that virtualization is disabled in your BIOS. For help with the second issue, follow this guide to re-enable it.
  • If Virtual Box crashes when you start the appliance, or if you get an error message about Hyper-V, you need to diable Hyper-V by following this guide.
  • If your screen size is too small and will not auto-adjust, click View at the top of the Virtual Box window, and then click Auto-Resize Guest Display. Try this a few times, Virtual Box is sometimes finicky. If this still does not work, run sudo dpkg-reconfigure virtualbox-guest-dkms in your terminal, and try again.
  • If your virtual machine starts running out of disk space, see the page on Resizing a VDI for more info.
  • If your Dropbox files keep getting cleared and you're using atom follow these steps;
    1. Edit > Preferences > Core
    2. Uncheck Open Empty Editor On Start
    3. Set Restore Previous Windows On Start to no
  • If you're still having trouble, come by Cramer 222 during our office hours and ask us for help.

What's installed on the VM

  • XUbuntu, which is Ubuntu with the XFCE window manager.
  • ZSH with default oh-my-zsh, which makes the command line pretty and adds some basic functionality.
  • The emacs, vim, and atom text editors.
  • Python 2 and 3, with iPython command shells.
  • The GCC and LLVM software suites, including debuggers, and the libsdl2 library.
  • Dropbox, for file backup.

If you want to build your own Linux machine, virtual or otherwise, a basic summary of our setup follows. For a full $ dpkg -l output, please see this page

commons/virtualbox.txt · Last modified: 2019/10/16 16:45 (external edit)