This chapter is taken from the book A Primer on Scientific Programming with Python by H. P. Langtangen, 5th edition, Springer, 2016.
A virtual machine allows you to run another complete computer system in a separate window. For Mac users, I recommend VMWare Fusion over VirtualBox for running a Linux (or Windows) virtual machine. (VMWare Fusion's hardware integration seems superior to that of VirtualBox.) VMWare Fusion is commercial software, but there is a free trial version you can start with. Alternatively, you can use the simpler VMWare Player, which is free for personal use.
The following recipe will install a Ubuntu virtual machine under VMWare Fusion.
.iso
file
with the Ubuntu image.Ctrl+space
or Ctrl+backslash
, in the
Switch to next source using field. Then you can use the shortcut
to quickly switch keyboard.gnome-terminal
, right-click
its new icon in the left pane and choose Lock to Launcher
such
that you always have the terminal easily accessible when you log in.
The gnome-terminal
can have multiple tabs (Ctrl+shift+t
to make
a new tab).You now have a full Ubuntu machine, but there is not much software on a it for doing scientific computing with Python. Installation is performed through the Ubuntu Software Center (a graphical application) or through Unix commands, typically
Terminal> sudo apt-get install packagename
To look up the right package name, run apt-cache search
followed by
typical words of that package. The strength of the apt-get
way
of installing software is that the package and all packages it depends on
are automatically installed through the apt-get install
command.
This is in a nutshell why Ubuntu (or Debian-based Linux systems)
are so user-friendly for installing sophisticated mathematical software.
Python packages are better installed via pip
:
Terminal> sudo pip install --user packagename
To install a lot of useful packages for scientific work, go to
http://goo.gl/RVHixr, click on install_minimal_ubuntu.sh
,
click on Raw, download the file, and run it:
Terminal> cd ~/Downloads
Terminal> bash install_minimal.sh
The program install_minimal.sh
will run pip install
and apt-get install
commands
for quite some time, hopefully without problems.
If it stops, set a comment sign #
in front of the line where it stopped
and rerun.
The Ubuntu machine can see the files on your host system if you
download VMWare Tools. Go to the Virtual Machine pull-down menu in
VMWare Fusion and choose Install VMWare Tools. A tarfile is
downloaded. Click on it and it will open a folder vmware-tools-distrib
,
normally in your home folder. Move to the new folder and
run sudo perl vmware-install.pl
.
You can go with the default answers to all the questions.
On a Mac, you must open Virtual Machine - Settings... and choose
Sharing to bring up a dialog where you can add the folders you want
to be visible in Ubuntu. Just choose your home folder. Then turn on
the file sharing button (or turn off and on again). Go to Ubuntu and
check if you can see all your host system's files in /mnt/hgfs/
.
If you later detect that /mnt/hgfs/
folder has become empty,
VMWare Tools must be reinstalled by first turning shared folders
off, and then running
Terminal> sudo /usr/bin/vmware-config-tools.pl
Occasionally it is necessary to do a full reinstall by
sudo perl vmware-install.pl
as above.
Documents/Virtual Machines/Ubuntu 64-bit
.
Backing up the Ubuntu machine means backing up this folder.
However, if you use tools like Time Machine and work in Ubuntu during
backup, the copy of the state of the Ubuntu machine is likely to
be corrupt. You are therefore strongly recommended to shut down the
virtual machine prior to running Time Machine or simply copying the
folder with the virtual machine to some backup disk.
If something happens to your virtual machine, it is usually a straightforward task to make a new machine and import data and software automatically from the previous machine.
Instead of running Ubuntu in a virtual machine, Windows users also have the option of deciding on the operating system when turning on the machine (so-called dual boot). The Wubi tool makes it very easy to get Ubuntu on a Windows machine this way. However, with the powerful computers we now have, a virtual machine is more flexible since you can switch between Windows and Ubuntu as easily as going from one window to another.