This is the SAGE-3.0.1 VMware Virtual Appliance. For more about SAGE, see http://www.sagemath.org REQUIREMENTS This can be used on any operating system that supports VMware or the free VMware player, for example Microsoft Windows. Your computer must have 3.0GB free disk space (8.5GB if you plan on installing more applications) and 512MB RAM. INSTALLATION Keep in mind that the compression mechanism to keep the VM image small requires a great deal of CPU time. As such, don’t interrupt the extraction process and expect the VM to work. On a dual core Athlon 6400+ with 7200RPM SATAII disks, the process takes roughly 1.5 minutes, on older machines the process can take up to 20 minutes. Windows: double click the file to start the self-extractor, extract the image and open the .vmx file in VMWare player or workstation. *nix: Install the 7z utility (usually included in the p7zip package for most distributions) and run the command "7z x mini-Sage_3.0.1.exe" in the directory the VM was downloaded to. Mac: Either follow the *nix installation above or there is a graphical front end for p7zip here -> http://www.macupdate.com/info.php/id/19139 USING THE VM Starting up the VM should dump the user to a fluxbox session where you have 4 virtual desktops. The VMware toolbox and user utilities are launched automatically, the former of the two is shown in a minimized window. To launch installed programs, right click anywhere on the desktop to open a menu. The user that is automatically logged in is named sage and has no password. In addition, sage can run sudo without a password prompt if root access is needed. The default screen resolution will likely be too big to display on most monitors. You can either resize the VM window or select the “Fit Guest Now” entry from the view menu in VMware workstation. Unfortunately, due to a bug in fluxbox/VMware tools, some applications are unaware that the resolution has changed and as such will be too big to display when maximized. As a workaround, open the fluxbox menu and select restart. This will restart the window manager but will not close any open applications. USING SAGE Sage can be launched from the fluxbox menu. There are three options to run Sage Notebook. All of which will open Firefox to Sage Notebook once the server is ready. 1. Notebook This option will bind Sage Notebook to an http server on port 8000. You can access this server from either inside or outside the VM as it binds to the virtual ethernet adapter. Be careful if you choose to use this option and access the server remotely as there is no encryption on what is sent between the browser and the server. 2. Notebook-Secure This option will bind Sage Notebook to an https server on port 8000. You can access this server from either inside or outside the VM as it binds to the virtual ethernet adapter. If this is the first time the secure server is started, it will generate a new certificate. 3. Notebook-Local This option will bind Sage Notebook to an http server on port 8000. This differs from Notebook in that it only binds to the loopback adapter meaning that Sage Notebook will only be acessible from inside the VM. Finally, you can also run Sage inside a terminal window by selecting the "Terminal" option. ENABLING SSH/SFTP/SCP LOGINS 1. Start the VM (make sure it has internet access) 2. Open a terminal and type the following commands. sudo apt-get update sudo apt-get install openssh-server passwd 3. Enter a password of your choosing to login with. You should now be able to ssh into the VM with any ssh client using the password you chose and the username sage. How to be a SAGE Developer (more advanced) Some UNIX familiarity is assumed below. If you've never used anything but Windows, some of this won't make sense. 1. Follow the directions on enabling SSH/SFTP/SCP logins above. 2. Upgrade sage to get the source code installed (see item 12 below). 3. Install an ssh client, e.g., putty on the host OS. 4. ssh to the same ip address as the Sage Notebook. E.g., if when you run notebook it says: Open Firefox to the address http://172.16.248.137 It may take up to about 10 seconds for the server to start. Press refresh. (Click here and press control-C twice to stop the notebook server) then you should ssh to 172.16.248.137. Use the login "login" and the password "sage". 5. To have permission to change files, become the root user by typing "sudo su": sage@ubuntu-jeos:~$ sudo su root@ubuntu-jeos:/home/sage# 6. Change to the SAGE_ROOT directory: root@ubuntu-jeos:/home/sage# cd /home/sage/sage root@ubuntu-jeos:/home/sage/sage# 7. To actually edit files, gedit and vim are preinstalled. Those with a need for a "great operating system, lacking only a decent editor" will perhaps want to install emacs: root@ubuntu-jeos:/home/sage# apt-get update root@ubuntu-jeos:/home/sage# apt-get install emacs ... 8. Now type, e.g., root@ubuntu-jeos:/home/sage/sage# cd devel/sage/sage/rings/ root@ubuntu-jeos:/home/sage/sage/devel/sage/sage/rings# emacs arith.py [edit the file] 9. Save the file, and type "sage -br" to build the changes and install them. root@ubuntu-jeos:/home/sage/sage/devel/sage/sage/rings# sage -br ---------------------------------------------------------- sage: Building and installing modified SAGE library files. ... ---------------------------------------------------------------------- | SAGE Version 3.0, Release Date: ......... | | Type notebook() for the GUI, and license() for information. | ---------------------------------------------------------------------- sage: 10. Try out your modified Sage! 11. Other options, for those who know a lot about Linux, etc.: * Install an X server in Windows, e.g., via Cygwin, and window back emacs. * Install a window manager into the Sage virtual machine and use it. * Upgrade to the non-free VMware workstation and use a shared filesystem (untested). 12. Upgrading: Type "sage -upgrade" at the command prompt: root@ubuntu-jeos:~# /home/sage/sage/sage -upgrade ... takes about 20 minutes This *will* merge your changes to /home/sage/sage/devel/ with the latest version of Sage and build everything. WARNING: This will use up more disk space... 11. To save changes and share them with others, be sure to read the chapter "Mercurial: The SAGE Source Control System" in the programming guide: http://www.sagemath.org/doc/html/prog/. Once you have saved a particular banch bundle foo.hg, you need to get it out of the vmware virtual machine somehow. Options include: 1. Install a program such as http://winscp.net which will allow you to easily drag and drop windows between the vmware sage virtual machine and your windows desktop. Be sure to connect to the ip address using the same login name and password as you used for ssh before. 2. Type "scp foo.hg username@computer" at the command prompt, e.g., root@ubuntu-jeos # scp foo.hg wstein@math.washington.edu: