VMware: Installing Workstation Player 12.1.0 on Ubuntu 15.10

Nov. 30, 2015, 6 p.m.

Installation of VMware Workstation Player remains as straightforward as previous version of VMware's free hypervisor for desktop systems. However Ubuntu's recent adoption of systemd in place of Upstart, has added additional steps in installing VMware Workstation Player (previously VMware Player). This article presents the installation process, describing the prerequisites, showing the download page and VMware product doumentation, the installation command, and the necessary process for recent Ubuntu systems using systemd. There is even an embedded video showing the entire process, including starting an existing Windows virtual machine and installing an updated VMware Tools in the virtual machine.

Introduction

VMware Workstation Player, formerly VMware Player, is an excellent, free for non-commercial use, Type 2 hypervisor. Although Workstation Player is not as capable as VirtualBox in terms of number of virtual machines it can supervise at once and other maximums, it does offer better performance in using the physical machine's hardware as I discovered when using VirtualBox to run Linux Mint 17 Cinnamon Edition, where the guest always reverted to 2D graphics.

Since Ubuntu switched to using systemd from Upstart, installing VMware products on Ubuntu has become a little more complicated, with the necessity of creating two systemd unit files. But unlike some cutting edge rolling distros and other distributions which store kernel headers in non-standard places, installing VMware products remains simple on Ubuntu, even with the change in init system. All other aspects of installing VMware on Ubuntu has stayed the same, including the necessary prerequisite packages that must be installed.

Prerequisites

Before installing Workstation player, the following must be available on the system:

  • kernel headers for the version of the kernel in the running system, and optionally for all versions of the kernel, if the system will be booted with the other kernels when using VMware.
  • gcc the GNU Compiler Collection for c and c++
  • make for building executable files and other binaries
  • fuse for the vmware-vmblock-fuse service
  • gtkmm the C++ for the GTK+ GUI library
In Ubuntu the kernel headers for the running kernel can be installed with:
sudo apt-get install linux-headers-$(uname-r)
Headers for other installed kernels that may be booted when using VMware can be installed with, for example,
sudo apt-get install linux-headers-4.2.0-22-generic
All of the necessary packages for the second and third items above can be installed with:
sudo apt-get install build-essential
All of these items may already be installed as they were in my case, and it may not be necessary to install them manually. The packages fuse and libgtkmm-3.0-1v5 were already installed on my system. If they are not on yours, install with
sudo apt-get install fuse
and
sudo apt-get install libgtkmm-3.0-1v5

The above list of prerequisites was compiled using the Arch wiki page on VMware and the Ubuntu wiki page on VMware. Neither of these pages mention the GTK-2 Murrine theme engine or Murrine themes, but they may be necessary for optimally displaying the GUI installer, judging from the output of the command to start the installation in GUI mode. On my Ubuntu 15.10 system, the gtk2-engines-murrine package was already installed, but the murrine-themes was not. You might avoid some of the inconsequential error output regarding missing Murrine elements by making sure these are installed.

Installation

Download the 12.x series of Workstation Player from the VMware Workstation Player 12.x downloads page. There are two dropdowns on the page that allow selection of versions to download. After downloading, verify the integrity of the downloaded file by comparing its checksum to one of the checksums provided in the details of the download on the VMware page with:

sha1sum VMware-Player-12.1.0-3272444.x86_64.bundle
Be sure to change the file name in the above command as appropriate for the version you downloaded.

The installation process itself is a single command in a terminal and will complete very quickly without errors as long as the requirments are met. To start the installation, in a terminal, change directories to the directory where the downloaded .bundle file has been saved. Then enter the command:

sh ./VMware-Player-12.0.0-2985596.x86_64.bundle
Be sure to change the name of the .bundle file to the one you actually downloaded. This command will open the GUI installer and prompt for input where necessary. To perform the installation completely in a terminal, use the option --console with the above command as in:
sh ./VMware-Player-12.0.0-2985596.x86_64.bundle --console
The available options are listed in Table 3-1 of the Workstation Player for Linux documentation. The VMware Workstation 12 Player for Linux Documentation Center is accessible from the Workstation Player 12.1 Release Notes page. Following the links from there will lead to the document portal with a series of links leading to a downloadable pdf.
Installing VMware Workstation Player on Ubuntu
Beacause of Ubuntu's change to systemd there are new considerations for a successful installation besides ensuring prerequisites are installed.

systemd

For basic desktop use, to have systemd manage VMware's services, two service files need to be created. The first is

/etc/systemd/system/vmware.service
with the contents:

[Unit]
Description=VMware daemon
Requires=vmware-usbarbitrator.service
Before=vmware-usbarbitrator.service
After=network.target

[Service]
ExecStart=/etc/init.d/vmware start
ExecStop=/etc/init.d/vmware stop
PIDFile=/var/lock/subsys/vmware
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
and the second is
/etc/systemd/system/vmware-usbarbitrator.service
with the contents:

[Unit]
Description=VMware USB Arbitrator
Requires=vmware.service
After=vmware.service

[Service]
ExecStart=/usr/bin/vmware-usbarbitrator
ExecStop=/usr/bin/vmware-usbarbitrator --kill
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
Then these systemd services are enabled with
sudo systemctl enable vmware.service
and
sudo systemctl enable vmware-usbarbitrator.service
There are other services that can be created, but are not necessary to have adequate functionality for a desktop, including making all networking options, USB devices (internal and external), and access to the host system's folders from the guest functional.

A good reference for systemd units is at DigitalOcean's Understanding Systemd Units and Unit Files.

References

Documentation Resource URL
Arch wiki page on VMware https://wiki.archlinux.org/index.php/VMware
Ubuntu wiki page on VMware https://help.ubuntu.com/community/VMware/Player" target="_blank
Using VMware Workstation Player for Linux (official documentation) http://pubs.vmware.com/player-12-linux/topic/com.vmware.ICbase/PDF/workstation-player-12-linux-user-guide.pdf

Conclusion

Installing VMware Workstation Player 12 on Ubuntu 15.10 or other recent versions using systemd is a simple and straightforward process provided the prerequisite packages are installed. Even with the additional steps of creating systemd unit files, that were not necessary in previous versions of Ubuntu, it is one of the simpler VMware installations, especially because it uses standard locations for kernel sources that VMware can fing, unlike for example Sabayon.