Differences between revisions 13 and 38 (spanning 25 versions)
Revision 13 as of 2012-01-30 16:53:16
Size: 12936
Editor: mstreng
Comment: moved file sharing to later, to get to using Sage quicker, and added a closing accolade for 12mouse_pointer
Revision 38 as of 2013-03-13 15:25:11
Size: 15597
Editor: nerak99
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers on
Line 3: Line 5:
This page describes how to use the Sage appliance that you can download from [[http://www.sagemath.org/download-windows.html]].

<<TableOfContents(2)>>


== Requirements ==
This page describes how to use the Sage appliance that you can download from [[http://www.sagemath.org/download-windows.html]]. This page covers Sage versions 5 and higher; For previous versions see [[SageApplianceV4|the old manual]].

<<TableOfContents(3)>>



= Installation =
Line 11: Line 14:
!VirtualBox player, for example Microsoft Windows. Your computer must
have at least 2.5 GB (!) of free disk space and at least 512 MB of RAM. The virtual machine can also be used with other hypervisors like VMware. However, unless you are already familiar with VMware, we recommend that you use !VirtualBox. In our experience, it is easier for non-technical users.

== Installation ==

  1. Download !VirtualBox (available at http://www.virtualbox.org/wiki/Downloads). Install it anywhere you want. Version 4 or later is required.

  1. Download the file `sage-x.y.z.ova` (for example, `sage-4.7.2.ova`) from [[http://www.sagemath.org/download-windows.html]] (select the location nearest to you).

  {{attachment:0download_ova.JPG|Sage webpage download|width=800}}

  1. Open !VirtualBox. Your screen should look like this:

  {{attachment:1openvbox.JPG}}

  1. Import `sage-x.y.z.ova` by clicking '''File''', then '''Import Appliance''':

  {{attachment:2import.JPG}}

  1. You should see an '''Appliance Import Wizard''' window open:

  {{attachment:3import_wizard.JPG}}

  1. Import the Sage appliance by clicking '''Choose''' then browsing for the file sage-x.y.z.ova downloaded earlier. Select the file and click '''Next'''.

  1. It is recommended that you accept the settings that appear on the next window by clicking '''Finish''':

  {{attachment:4wizard_settings.JPG}}

  1. The import will now begin. You should see a progress window:

  {{attachment:5importing_progress.JPG}}

  1. Once the import is complete, your VirtualBox manager should now look like one of the following images:

  {{attachment:6manager_after_import.JPG}}

  {{attachment:7manager_after_import_alt.JPG}}
  

== Using the Sage Notebook ==

  1. Start !VirtualBox.

  1. To start the Sage notebook server, power on Sage-x.y.z by selecting
  it and clicking 'Start'. (This may take awhile. You may see some
  warning messages you can safely ignore.)

  1. You may see an '''Information''' window explaining how to integrate the mouse pointer with the virtual machine:
!VirtualBox player, for example Microsoft Windows. Your computer must
have at least 7 GB (!) of free disk space and at least 512 MB of RAM. The virtual machine can also be used with other hypervisors like VMware. However, unless you are already familiar with VMware, we recommend that you use !VirtualBox. In our experience, it is easier for non-technical users.

If you are familiar with !VirtualBox, you can just import the Sage appliance. For detailed step-by-step instructions, please see the [[SageApplianceInstallation|installation instructions]] page for details.


= Using the Sage Notebook =

== Start VirtualBox ==

First, start !VirtualBox. To start the Sage notebook server, power on Sage-x.y.z by selecting
it and clicking 'Start'. (This may take awhile. You may see some
warning messages you can safely ignore.)

== Information Window ==

You may see an '''Information''' window explaining how to integrate the mouse pointer with the virtual machine:
Line 63: Line 34:
  1. Wait a few moments until the running !VirtualBox window displays a
  message saying '''Open your web browser to ...''':

  {{attachment:13localhost.JPG}}

  Open your web broswer
(it's best to use Firefox or Chrome) and go to the address [[http://localhost:8000]]. The following page should appear:

  {{attachment:14sage_
notebook.JPG|Empty Sage notebook|width=800}}

  1.
If you would like other users to be able to create additional accounts    on the same local virtual machine, you will first need to complete some    further steps. See the advanced options section below.

  1. When you are finished working with Sage, close your browser
  as usual (it is not necessary to '''Sign Out'''). In the running !VirtualBox window, click '''Machine''', then '''Close''': 

== Using Sage ==

After the virtual machine has finished booting, you should see the following window:

  {{attachment:20_VM_notebook
.png}}

You can now use Sage directly
from here. Alternatively, you can minimize the
!VirtualBox window, open the web
browser that you usually use
(it's best to use Firefox or Chrome), and
go to the address [[http://localhost:8000]]. Either way, you will see the
Sage
notebook.

If you would like other users to be able to create additional accounts
on the same local virtual machine, you will first need to complete some
further steps. See the advanced options section below.


== Closing Sage ==

When you are finished working with Sage, close your browser
as usual (it is not necessary to '''Sign Out'''). In the running
!VirtualBox window, click '''Machine''', then '''Close''':
Line 81: Line 60:
  Select '''Send the shutdown signal''' then click '''OK''':  Select '''Send the shutdown signal''' then click '''OK''':
Line 85: Line 64:
  The running window will closed automatically, and then you may close !VirtualBox.


== Sharing files between Sage and Windows ==
The running window will closed automatically, and then you may close !VirtualBox.


= Sharing files between Sage and Windows =
Line 92: Line 71:
  1. In the running !VirtualBox window, click '''Devices''', then '''Shared Folders''':    1. In the running !VirtualBox window, click '''Devices''', then '''Shared Folders''':
Line 96: Line 75:
  1. Click on the icon with a green '''+''' in the upper right corner:    1. Click on the icon with a green '''+''' in the upper right corner:
Line 100: Line 79:
  1. Under '''Folder Path''', browse to select the path of the Windows folder that you want to share using the pull-down menu and selecting '''Other''':    1. Under '''Folder Path''', browse to select the path of the Windows folder that you want to share using the pull-down menu and selecting '''Other''':
Line 104: Line 83:
  1. Check '''Auto-mount''' and '''Make Permanent'''. Click '''OK''', then click '''OK''' again.

  1. From the menu, select '''Machine''', then '''Reset''': 
  1. Check '''Auto-mount''' and '''Make Permanent'''. Click '''OK''', then click '''OK''' again. (Note, there may not be a '''Make Permanent''' option.)

  1. From the menu, select '''Machine''', then '''Reset''':
Line 112: Line 91:
== Using the Sage shell == = Using the Sage shell =
Line 116: Line 95:
  1. Power on `sage-x.y.z` (if you have not already done so) by selecting it    1. Power on `sage-x.y.z` (if you have not already done so) by selecting it
Line 119: Line 98:
  1. Once the virtual machine is powered on, press '''Ctrl C''' to quit the Sage notebook.

  1. Type
  {{{
  1. Once the virtual machine is powered on, simultaneously press '''Right-Ctrl''' and '''F1'''
  to switch to a console window. Note: '''Right-Ctrl''' is what !VirtualBox calls the
  host key, and you can change it in the settings. If you did change the hostkey, you have to
  use the new key combination in the following.

  1. Log in as user `sage` with password `sage`.

  1. If you get a black screen with a cursor blinking in the top left corner, simultaneously press '''Right-Ctrl''' and '''F1''' again. This is because the login script switches to a different console, and will be improved in the future.

  1. Type
  {{{
cd ~/sage
Line 128: Line 115:
  enabled), type    enabled), type
Line 134: Line 121:

== Troubleshooting ==
  1. Press '''Right-Ctrl''' and '''F2''' to return to the graphical Sage window.


= Troubleshooting =
Line 147: Line 136:
  * You can log into the virtual machine from the text-mode console. Press Alt-F1 for a different tty. The user account running the Sage notebook server is called `sage` with password `sage`. The root account password is `sage`, too.   * You can log into the virtual machine from the text-mode console. Press '''Right-Ctrl''' and '''F1''' for a different tty. The user account running the Sage notebook server is called `sage` with password `sage`. The root account password is `sage`, too.
Line 155: Line 144:
  * Advanced users may want to note that the `sage` user is in the sudoers file now. You can run any command with administrative rights by `sudo <command>`.    * Advanced users may want to note that the `sage` user is in the sudoers file now. You can run any command with administrative rights by `sudo <command>`.
Line 161: Line 150:
  * To upgrade between stable releases, you can type the following    * To upgrade between stable releases, you can type the following
Line 167: Line 156:
  This ''will'' merge your changes to the Sage library with the 
  latest version of Sage and build everything. 
  This ''will'' merge your changes to the Sage library with the
  latest version of Sage and build everything.
Line 175: Line 164:

=== For the graphical web browser ===

The easiest way to use your keyboard layout of choice is to use the host browser and connect to the Sage server running at http://localhost:8000. However, if you want to permanently change the layout in the virtual machine browser, you can do this as follows:

  1. Log into the virtual machine as user `gui`. For example, you can log into the virtual machine from the text-mode console: Press '''Right-Ctrl''' and '''F1''' for a different tty. The user account running the web browser is called `gui` with password `sage`. See the advanced options section for more details.

  1. Edit the `gui` user's `.xinitrc` file:
  {{{
sagevm login: gui
Password:
Last login: Tue Jul 12 13:32:39 on tty9
[gui@sagevm ~]# nano .xinitrc
  }}}
  and add `setxkbmap <keyboard-coutry-code>` as the first line. The country code is usually the two-character country code, for example `de`, `gb`, `fi`, `fr`, ... To use the dvorak keyboard layout you would write
  {{{
setxkbmap dvorak
  }}}
  The complete list is described in `/usr/share/X11/xkb/rules/base.lst`.

  1. Save: Press '''Ctrl-X''' to exit, '''y''' to save, '''Enter''' to save it under the previous name `.xinitrc`

  1. Reboot the virtual machine to switch to the new keyboard layout.


=== Manually changing the layout on the console ===
Line 197: Line 212:
  1. Once you are logged in as root, change the password for both the root and sage user account:   1. Once you are logged in as root, change the password for the `root`, `sage` user (running the notebook server), and `gui` user (running the browser) account:
Line 201: Line 216:
Retype new password:  Retype new password:
Line 205: Line 220:
Retype new password: Retype new password:
passwd: all authentication tokens updated successfully.
[root@sage ~]# passwd gui
Changing password for user gui.
Retype new password:
Line 215: Line 234:

  1. Configure the notebook server to start in a secure mode. For this, you have to edit the `.bash_profile` file in the sage account. For example, type
  0. The boot procedure change between 5.4 and 5.7, by the time 5.7 came along, the launch command is in .xinitrc. For multiuser use, you do not want this to run at all.
     make .bash_profile do all the work by removing the section from .bash_profile that launches X by calling xinit. This is achieved by making .bash_profile read as follows.
{{{
PATH=$HOME/sage:$PATH
alias hg='sage -hg'
./sage -notebook interface=\'\' port=8000 automatic_login=False secure=True accounts=True
}}}
The accounts=True gives you the option to manage accounts and users can self register. A good thing to do is set accounts=True, make your accounts and then leave accounts=True off when you restart Sage.

To install the pyopenssl do
{{{
[sage@sage ~]$ sage -i pyopenssl
  }}}
You should get some positive feedback as the module is installed. If the install fails (it worked out of the box at 5.7) the try

{{{
yum -install pyOpenSSL
}}}
to install the python libraries and try
{{{
[sage@sage ~]$ sage -i pyopenssl
  }}}

again

This is necessary for secure=True which is used in multiuser mode and is required by the time 5.7 comes along.
  1. Configure the notebook server to start in a secure mode. (These instructions are for versions previous to 5.4 and have been checked at 5.7; some options changed at this time.) For this, you have to edit the `.bash_profile` file in the sage account. For example, type
Line 224: Line 268:
  with 
  {{{
./sage -notebook interface=\'\' port=8000 open_viewer=False require_login=True secure=True
  with
  {{{

For 5.7 put "./sage -notebook interface=\'\' port=8000 automatic_login=False secure=True accounts=True"
For 5.4 put "
./sage -notebook interface=\'\' port=8000 open_viewer=False require_login=True secure=True"
Line 236: Line 282:
   
Line 250: Line 296:
Domain name [localhost]:  Domain name [localhost]:
Line 253: Line 299:
  
Line 262: Line 308:
Enter new password: 
  }}}
  Please enter a new password following the instructions. 
Enter new password:
  }}}
  Please enter a new password following the instructions.
Line 278: Line 324:
but Windows, some of this won't make sense. 
 
but Windows, some of this won't make sense.
Line 284: Line 330:
[sage@localhost sage]$  [sage@localhost sage]$
Line 314: Line 360:
| SAGE Version x.y.z, Release Date: .........         
  }}}
| SAGE Version x.y.z, Release Date: .........
  }}}

1. The Sage Virtual Machine

This page describes how to use the Sage appliance that you can download from http://www.sagemath.org/download-windows.html. This page covers Sage versions 5 and higher; For previous versions see the old manual.

2. Installation

The Sage appliance (packaged virtual machine) can be used on any operating system that supports the free VirtualBox player, for example Microsoft Windows. Your computer must have at least 7 GB (!) of free disk space and at least 512 MB of RAM. The virtual machine can also be used with other hypervisors like VMware. However, unless you are already familiar with VMware, we recommend that you use VirtualBox. In our experience, it is easier for non-technical users.

If you are familiar with VirtualBox, you can just import the Sage appliance. For detailed step-by-step instructions, please see the installation instructions page for details.

3. Using the Sage Notebook

3.1. Start VirtualBox

First, start VirtualBox. To start the Sage notebook server, power on Sage-x.y.z by selecting it and clicking 'Start'. (This may take awhile. You may see some warning messages you can safely ignore.)

3.2. Information Window

You may see an Information window explaining how to integrate the mouse pointer with the virtual machine:

  • 12mouse_pointer.JPG

3.3. Using Sage

After the virtual machine has finished booting, you should see the following window:

  • 20_VM_notebook.png

You can now use Sage directly from here. Alternatively, you can minimize the VirtualBox window, open the web browser that you usually use (it's best to use Firefox or Chrome), and go to the address http://localhost:8000. Either way, you will see the Sage notebook.

If you would like other users to be able to create additional accounts on the same local virtual machine, you will first need to complete some further steps. See the advanced options section below.

3.4. Closing Sage

When you are finished working with Sage, close your browser as usual (it is not necessary to Sign Out). In the running VirtualBox window, click Machine, then Close:

  • 15close.JPG

Select Send the shutdown signal then click OK:

  • 16close.JPG

The running window will closed automatically, and then you may close VirtualBox.

4. Sharing files between Sage and Windows

If you want to enable shared folders between Sage and your Windows system, complete the following steps:

  1. In the running VirtualBox window, click Devices, then Shared Folders:

    8shared_folders.JPG

  2. Click on the icon with a green + in the upper right corner:

    9shared_folders.jpg

  3. Under Folder Path, browse to select the path of the Windows folder that you want to share using the pull-down menu and selecting Other:

    10shared_folders.JPG

  4. Check Auto-mount and Make Permanent. Click OK, then click OK again. (Note, there may not be a Make Permanent option.)

  5. From the menu, select Machine, then Reset:

    align="center"

The files will be in /media/sf_<volume name>.

5. Using the Sage shell

  1. Start VirtualBox if you have not already done so.

  2. Power on sage-x.y.z (if you have not already done so) by selecting it and clicking Start.

  3. Once the virtual machine is powered on, simultaneously press Right-Ctrl and F1 to switch to a console window. Note: Right-Ctrl is what VirtualBox calls the host key, and you can change it in the settings. If you did change the hostkey, you have to use the new key combination in the following.

  4. Log in as user sage with password sage.

  5. If you get a black screen with a cursor blinking in the top left corner, simultaneously press Right-Ctrl and F1 again. This is because the login script switches to a different console, and will be improved in the future.

  6. Type
    cd ~/sage
    ./sage
    on the command line to start a shell interface in Sage.
  7. To work with files attached in a shared folder (if you have shared folders enabled), type
    attach /media/sf_<volume name>/filename
    in the Sage command line session.
  8. Press Right-Ctrl and F2 to return to the graphical Sage window.

6. Troubleshooting

7. Advanced Options

  • You can log into the virtual machine from the text-mode console. Press Right-Ctrl and F1 for a different tty. The user account running the Sage notebook server is called sage with password sage. The root account password is sage, too.

  • You can also log into the virtual machine via ssh to port 2222. For example, with the command-line ssh client you would type
    ssh -p 2222 localhost
    on the host computer to log into the virtual machine.
  • Advanced users may want to note that the sage user is in the sudoers file now. You can run any command with administrative rights by sudo <command>.

  • List available optional packages with the optional_packages() command and type install_package('exact package name') to install a package. You can do this from an input box in the notebook.

  • To upgrade between stable releases, you can type the following at the command prompt:
    [sage@localhost sage]$ sage -upgrade
    Running an upgrade will take a significant amount of time.

    This will merge your changes to the Sage library with the latest version of Sage and build everything.

    WARNING: This will use up more disk space and is not guaranteed to result in a working upgraded Sage installation.

7.1. Changing the keyboard layout

7.1.1. For the graphical web browser

The easiest way to use your keyboard layout of choice is to use the host browser and connect to the Sage server running at http://localhost:8000. However, if you want to permanently change the layout in the virtual machine browser, you can do this as follows:

  1. Log into the virtual machine as user gui. For example, you can log into the virtual machine from the text-mode console: Press Right-Ctrl and F1 for a different tty. The user account running the web browser is called gui with password sage. See the advanced options section for more details.

  2. Edit the gui user's .xinitrc file:

    sagevm login: gui
    Password:
    Last login: Tue Jul 12 13:32:39 on tty9
    [gui@sagevm ~]# nano .xinitrc

    and add setxkbmap <keyboard-coutry-code> as the first line. The country code is usually the two-character country code, for example de, gb, fi, fr, ... To use the dvorak keyboard layout you would write

    setxkbmap dvorak

    The complete list is described in /usr/share/X11/xkb/rules/base.lst.

  3. Save: Press Ctrl-X to exit, y to save, Enter to save it under the previous name .xinitrc

  4. Reboot the virtual machine to switch to the new keyboard layout.

7.1.2. Manually changing the layout on the console

To temporarily change the keyboard layout (for example, French AZERTY), you can drop to the shell and run the command

sudo loadkeys azerty

To make this change permanent, you have to edit a configuration file. Run

sudo nano /etc/sysconfig/keyboard

and set it to the following:

KEYTABLE="fr-latin1"
MODEL="pc105+inet"
LAYOUT="fr"

7.2. Giving Others Access to the Sage Virtual Machine

You can run the Sage appliance as a server on the network, so that others can access it similar to http://www.sagenb.org. In this case, you have to make some changes to the virtual machine such that not everybody can log in.

  1. Log into the virtual machine as root: In the virtual machine, press Alt-F1, log in as user root with password sage. See the advanced options section for more details.

  2. Once you are logged in as root, change the password for the root, sage user (running the notebook server), and gui user (running the browser) account:

    [root@sage ~]# passwd root
    Changing password for user root.
    Retype new password:
    passwd: all authentication tokens updated successfully.
    [root@sage ~]# passwd sage
    Changing password for user sage.
    Retype new password:
    passwd: all authentication tokens updated successfully.
    [root@sage ~]# passwd gui
    Changing password for user gui.
    Retype new password:
    passwd: all authentication tokens updated successfully.
  3. Now switch to the sage account. You can either log in as sage with the new password, or type
    [root@sage ~]# su sage
    [sage@sage root]$ cd
    [sage@sage ~]$
  4. The boot procedure change between 5.4 and 5.7, by the time 5.7 came along, the launch command is in .xinitrc. For multiuser use, you do not want this to run at all.
    • make .bash_profile do all the work by removing the section from .bash_profile that launches X by calling xinit. This is achieved by making .bash_profile read as follows.

PATH=$HOME/sage:$PATH
alias hg='sage -hg'
./sage -notebook interface=\'\' port=8000 automatic_login=False secure=True accounts=True

The accounts=True gives you the option to manage accounts and users can self register. A good thing to do is set accounts=True, make your accounts and then leave accounts=True off when you restart Sage.

To install the pyopenssl do

[sage@sage ~]$ sage -i pyopenssl

You should get some positive feedback as the module is installed. If the install fails (it worked out of the box at 5.7) the try

yum -install pyOpenSSL 

to install the python libraries and try

[sage@sage ~]$ sage -i pyopenssl

again

This is necessary for secure=True which is used in multiuser mode and is required by the time 5.7 comes along.

  1. Configure the notebook server to start in a secure mode. (These instructions are for versions previous to 5.4 and have been checked at 5.7; some options changed at this time.) For this, you have to edit the .bash_profile file in the sage account. For example, type

    [sage@sage ~]$ nano .bash_profile
    and replace the line
    ./sage -notebook interface=\'\' port=8000 open_viewer=False require_login=False
    with
    For 5.7 put "./sage -notebook interface=\'\' port=8000 automatic_login=False secure=True accounts=True"
    For 5.4 put "./sage -notebook interface=\'\' port=8000 open_viewer=False require_login=True secure=True"

    Then press Ctrl X to exit, and y when nano asks you to save the file before exiting (save it again as .bash_profile).

  2. Now reboot the virtual appliance:
    [sage@sage ~]$ exit
    exit
    [root@sage ~]# reboot
  3. Upon the reboot, Sage will ask for some further information. You will find the following in the VirtualBox window:

    ----------------------------------------------------------------------
    | Sage Version ..., Release Date: ...                                |
    | Type notebook() for the GUI, and license() for information.        |
    ----------------------------------------------------------------------
    
    Please wait while the Sage Notebook server starts...
    ...
    notebook(interface=r'''''''',port=8000,open_viewer=False,require_login=True,secure=True)
    The notebook files are stored in: sage_notebook.sagenb
    In order to use an SECURE encrypted notebook, you must first run notebook.setup().
    Now running notebook.setup()
    Domain name [localhost]:
    Simply press return to use the default domain name. A SSL cryptographic key is then automatic created with this hostname.
  4. Now set up an admin password for the Sage notebook server. Unless you have set up such an account previously, Sage will ask you for a password automatically:
    Please choose a new password for the Sage Notebook 'admin' user.
    Do _not_ choose a stupid password, since anybody who could guess your password
    and connect to your machine could access or delete your files.
    NOTE: Only the md5 hash of the password you type is stored by Sage.
    You can change your password by typing notebook(reset=True).
    
    Enter new password:
    Please enter a new password following the instructions.
  5. Optional: Once your Sage server is secured, you can make it accessible from the network. For this, you have to stop the virtual machine (not just suspend it). Then, in the VirtualBox window, go to Settings -> Network -> Adapter 1. It does say Attached to: NAT. Switch it to Bridged Adapter. Click OK and restart the virtual machine. Note: This makes your virtual machine accessible from the network. Only perform this step after you have changed passwords and configured the notebook server to be secure, as described above.

  6. Optional: Give the Sage virtual machine more resources, so it can server more clients. Go to Settings -> System. On the Motherboard tab, increase Base Memory to about half of the physical ram of your host computer. On the Processor tab, increase the number of processors to your host CPU number of cores. Finally, on the Acceleration tab, enable VT-x/AMD-V if your CPU supports this.

To connect to the Sage server, you have to use https://... instead of http://.... For example, on the host computer where the virtual machine is running, the Sage server listens at https://localhost:8000. Since our SSL key is not signed by a certificate authority (which you can do, but it does cost money) web browsers will show a warning that the authority of the key cannot be verified. While a signed SSL key would provide a higher level of security, the network data between the browser and the Sage server is nevertheless encrypted.

7.3. How to become a Sage developer

Some Unix familiarity is assumed below. If you've never used anything but Windows, some of this won't make sense.

  1. Change to the $SAGE_ROOT directory:

    [sage@localhost directory]$ cd
    [sage@localhost ~]$ cd sage
    [sage@localhost sage]$
  2. To actually edit files, you'll perhaps want to install the editor of your choice. For example, to install Emacs do this:
    [sage@localhost sage]$ sudo yum install emacs
    The nano editor is included.
  3. Now type, for example,
    [sage@localhost sage]$ cd devel/sage/sage/rings/
    [sage@localhost rings]$ emacs arith.py
    or
    [sage@localhost rings]$ nano arith.py
    and edit the file to your heart's content.
  4. Save the file and type sage -br to build the changes and install them:

    [sage@localhost rings]$ cd
    [sage@localhost ~]$ cd sage
    [sage@localhost sage]$ sage -br
    ----------------------------------------------------------
    sage: Building and installing modified SAGE library files.
    ...
    ----------------------------------------------------------------------
    | SAGE Version x.y.z, Release Date: .........