Virtualization allows a second operating system (OS), such as Windows or OS X, to be run from within (K)Ubuntu. This requires extra RAM (because both (K)Ubuntu and the virtualized second OS require separate amounts of RAM) and a license for the second OS. If you wish to run a virtualized instance of Windows XP, for instance, you must have a license for Windows XP.
VirtualBox is a fast and complete virtualization solution that was owned and maintained by Sun Microsystems (now bought by Oracle). There is a free and fully open-source edition available under the GNU GPL license.
- Install the open-source edition:
sudo apt-get install virtualbox-ose virtualbox-ose-source virtualbox-guest-additions
- You can also add the QT-version (if using KDE/Kubuntu, for example):
sudo apt-get install virtualbox-ose-qt
- Start VirtualBox:
- Menu -> VirtualBox OSE PC virtualization solution
For usage instructions, see the End-user documentation. For information on installing Virtualbox in Windows so that (K)Ubuntu can then be installed within in a virtual machine running in Windows, see this page.
Proprietary versions of VirtualBox
- Add the security key:
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
- Add the repository string to your repository list and update:
echo "deb http://download.virtualbox.org/virtualbox/debian maverick non-free" | sudo tee /etc/apt/sources.list.d/virtualbox.list sudo apt-get update
sudo apt-get install virtualbox
VMWare is a commercial virtualization platform that currently offers two free products: VMWare Player and VMWare Server (the latter with a free renewable yearly license). VMWare Player can play virtual appliances that have already been created, whereas VMWare Server (which has a broader range of features) allows the creation of virtual machines. In general, VMWare Server is recommended unless you only need to play an appliance. (Appliances will also run in VMWare Server). Users that wish to run servers (or processes) that need to be available to a network from within the virtual machine should use VMServer. If you wish to install a new OS within a virtual machine (other than in an appliance), you will need VMWare Server.
Installation instructions are on the website, or at the Ubuntu community wiki. In brief, to install the free VMWare Player:
- Install pre-requisites:
sudo apt-get install build-essential linux-headers-$(uname -r)
- Get the binary package/installation script, give it executable privileges, then run the installation script:
wget http://download3.vmware.com/software/vmplayer/VMware-Player-2.5.3-185404.i386.bundle chmod +x VMware-Player-2.5.3-185404.i386.bundle sudo ./VMware-Player-2.5.3-185404.i386.bundle
- Menu -> Applications -> System Tools -> VMWare Player
Create an Ubuntu Appliance
While any edition of Ubuntu can be installed in a virtual machine, the minimal installation option (F4) of the Ubuntu Server creates a highly-efficient edition (previously known as JeOS) optimised for use within a virtual appliance (which can then be played using VMWare Player or other virtual machine client). See this walkthrough.
A virtual appliance for VMWare Player (using this JeOS minimal server) can also be built using vmbuilder.
- Install pre-requisites:
sudo apt-get install build-essential linux-headers-$(uname -r)
- Download the server source files for your architecture (32-bit or 64-bit) from the VMWare Server website and retrieve your license key by email.
- Extract the files, give execution privileges to the install script, and run the install script:
tar xvf VMware-server-2.0.1-156745.i386.tar.gz cd vmware-server-distrib chmod +x vmware-install.pl sudo ./vmware-install.pl
VMWare Appliances (that include a (K)Ubuntu/Debian OS) can be created using VMWare Server and the VMWare Package utility. These appliances can then be deployed to users who can play them using VMWare Player. Install:
sudo apt-get install vmware-package
Keyboard errors in VMware guest
After installing VMWare 6.5, and installing a guest OS, the Function, arrow and Del/End/etc keys do not function. This is a bug with VMWare´s code. Add this line to ~/.vmware/config (create file if necessary) to fix this issue:
xkeymap.nokeycodeMap = true
KVM is the free open source virtualization solution implemented as a Linux kernel module (in the recent kernels) for computers whose processors contain virtualization extensions (Intel VT or AMD-V). See the Ubuntu installation instructions. Install:
sudo apt-get install kvm
Qemu (without KVM)
Xen is an efficient open-source virtualization ("hypervisor") platform (which includes a merge with QEMU). It is the basis for the Amazon EC2 Cloud and is generally intended for use on a server (or on "baremetal" systems, i.e. no OS yet installed). It is free open source under a GPL license. The latest desktop (and installation instructions) is available from the website. (A commercial version is also offered by Citrix.) Implementation in Ubuntu requires some modification, currently. For more info, see the Ubuntu community documentation. Install:
sudo apt-get install xen-hypervisor xen-docs convirt
Virtual Machine Manager
Virtual Machine Manager is an application to allow viewing of all instances of virtual machines on your system. It includes a secure implementation of VNC. This and other virtual management tools are available as an integrated package in (K)Ubuntu. Install:
sudo apt-get install ubuntu-virt-mgmt
Crossover for Linux
Codeweavers' Crossover Office for Linux is a subscription-based commercial package that allows many Windows programs to be run on (K)Ubuntu without the need for a Microsoft OS license or a complete virtualization system. See the website for more info. Codeweavers releases older versions of this product into the free package Wine.
Wine is a free open-source package that is similar to (and implements many elements of) CrossOver for Linux. Like CrossOver for Linux, no Microsoft license or virtualization platform is required to run Windows programs. See these instructions for installing the latest version of Wine.
sudo apt-get install wine
Also consider installing Microsoft's TrueType fonts:
sudo apt-get install ttf-mscorefonts-installer
PlayOnLinux is a Wine frontend which simplifies the installation and launch of many Windows programs, particularly games. Install:
sudo apt-get install playonlinux
Internet Explorer 7
Internet Explorer 7 can be installed with PlayOnLinux. Select "Internet Explorer 7" from the "Internet" section of PlayonLinux.
Internet Explorer 6 & 7
Internet Explorer 6 & 7 can function under Wine, albeit imperfectly. For most purposes, Firefox can be used (with the User Agent Switcher plugin) to mimic Internet Explorer.
- Make sure you have Wine and cabextract packages:
sudo apt-get install wine cabextract
- Download the Winetricks installation script:
wget http://winetricks.org/winetricks sudo chmod +x winetricks
- Install with winetricks:
sh winetricks ie6 sh winetricks ie7
Note: Winetricks is automatically installed with the current version of Wine.
Netflix in Wine package
- See this section.
Cedega is a commercial application (similar to CrossOver Office and Wine), for installing and running some Windows applications, specifically games, without the need for virtualization or a Microsoft license. It provides 3D support, software acceleration support, and a high level of DirectX support. Installation instructions are found on the website.
Mono is a free open source project sponsored by Novell to allow .NET programs to function in Linux ((K)Ubuntu) and Mac OS X. Several GNOME applications (like Tomboy, F-Spot, and Banshee) require mono to be installed, so mono may already be installed by default on your system. The most recent version is available here. Install:
sudo apt-get install mono-complete
- Install the Java Runtime Environment version 6 (the default-jre package points to the open-jdk6-jre package):
sudo apt-get install default-jre
sudo apt-get install open-jdk6-jre
- Alternatively, install the Java Runtime Environment version 7:
sudo apt-get install open-jdk7-jre
- If you really need to use Oracle (ex Sun) Java instead of OpenJDK in (K)Ubuntu then install from the PPA private repository using the instructions found here.
DOSBox is a DOS-emulator that emulates CPU:286/386 realmode/protected mode, Directory FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, and a SoundBlaster/Gravis Ultra Sound card (for sound compatibility with older games). You can "re-live" classic games that otherwise won't run on newer computers.
sudo apt-get install dosbox
ScummVM allows certain classic graphical point-and-click adventure games to run (provided you already have their data files). ScummVM replaces the executables shipped with the games, allowing play on Linux operating systems (for which they were not originally designed).
sudo apt-get install scummvm
- Also see this page.
Android-x86 in VirtualBox
Android-x86 can can be downloaded as an .iso image and installed to and run in Virtualbox (or QEMU, VMWare, or other virtual environment). It provides a fast, efficient emulation environment with a large display but some functions and apps will not work with it.
- See here for more details.
Android SDK emulator
Android SDK for Linux is a 32-bit Android emulator/software development kit. It incorporates a QEMU virtual machine framework as part of its installation. It provides a resource-hungry, slow, but largely functional Android environment and apps can be installed from (and run within) the emulator.
- Once the Android emulator SDK is installed, install an app using these ADB instructions or directly from within an app marketplace.
- More detailed instructions are available here.
F-Droid app repository for Android
- F-Droid is the repository for free and open source software (almost all of it ad-free) for the Google Android platform.