Unattended install of VMware Player 12 on Linux

My approach to boring, repetitive activities is to automate them. One such task is installing software applications on top of a clean OS install. So, when I wanted to install VMware's Workstation Player on my fresh Linux desktop, I decided to automate it, just in case I want Player on some other of my machines too.

We start off with a simple download of the latest version of Player from vmware.com, in the form of a single .bundle file. After that, the correct one-liner at the shell prompt will silently install Player on my machine, right? Easy-peasy, I'm sure.

Not so fast. VMware's documentation for how to install Player from the Linux command line is less than adequate: How to automate the acceptance of the license is not described. And without it, the Player installer croaks back:
 
Extracting VMware Installer...done.
You must accept the VMware Workstation End User License Agreement to continue.  Press Enter to proceed.

If I have to accept the license manually, I may as well do the entire installation manually, This is a show-stopper.

At this point it's tempting to script the entire questions and answers installer dialogue in Perl (e.g. with the help of IO::Pty::Easy), or a shells script using redirections. I gave up on that approach, the installer apparently does not accept input from a redirected STDIN, even when pretending to be a pseudo TTY.

Fortunately, this Archlinux site has a lot of Player information, including my missing piece, the installer option for automatically accepting the VMware Player's license:

--eulas-agreed

Nice, that should solve it. Lets give it a go:

sudo ./VMware-Workstation-.bundle --console --required --eulas-agreed

The installer no longer requires me to manually accept the license, and simply installs Player without any questions. Hurray!


For most cases, that's all you need to silently install a downloaded VMware Player *.bundle file on a Linux machine. However, on my machine Apache's HTTPS port conflicts with Player's default HTTPS port, so instead of a silent installation, the installer asks for my help.

Extracting VMware Installer...done.
Please enter the port to use for https access to Workstation Server.
(HTTPS port:) [443]:
Hm.... Manually entering a port number is out of the question. Surely there must be a way to provide the installer with a different port number, so I can run Apache and Player simultaneously and independantly? Again VMware's documentation for version 12 of Workstation Player falls short, but the documentation for silently installing the old version 9 of Player on Windows hints that is should be possible:

HOSTD_HTTPS_PORT
Specifies the HTTPS port for VMware Workstation Server.

I gave up on googling/guessing the correct name of the Linux command line options to set the https port. If you have a solution to this, feel free to add a comment below. My work-around is to:
  1. Stop Apache
  2. Silently install VMware Workstation Player, as described above
  3. Change Player's HTTPS port in the file /etc/wmware/hostd/proxy.html, as described here:
    https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2030583
  4. Start Apache 

Finally, to start VMware Player simply run /usr/lib/vmware/bin/vmplayer.

On Linux Mint 18 I ran into some harmless warnings about a missing atk-bridge, but this page had the right solution:

export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libatspi.so.0:$LD_LIBRARY_PATH