VMware Tools
Navigation
- VMware
- Documents
- Installing and Configuring
- Using VMware Workstation Player for Linux (Workstation 12 Player)
- Using VMware Workstation Player for Windows (Workstation 12 Player)
- VMware Tools
- Open VM Tools
VMware Tools is a suite of utilities that enhances the performance of a virtual machine. A guest operating system can run without VMware Tools installed. Without VMware Tools installed in your guest operating system, guest performance lacks important functionality. Installing VMware Tools eliminates or improves these issues:
- Low video resolution
- Inadequate color depth
- Incorrect display of network speed
- Restricted movement of the mouse
- Inability to copy and paste and drag-and-drop files
- Missing sound
- Provides the ability to take quiesced (temporary inactive or disabled) snapshots of the guest OS
Reference
The following documents were identified as being part of VMware Tools:
- VMware Tools Configuration Utility User's Guide (VMware Player 3.0)
- Installing and Configuring VMware Tools (September 2012)
- Using VMware Workstation Player for Linux (Workstation Player 12.x) - See Chapter 6
- Using VMware Workstation Player for Windows (Workstation Player 12.x) - See Chapter 6
VMware Tools Service
The VMware Tools service starts when the guest operating system boots.
This program, which runs in the background, is called differently, depending on the guest operating system:
- Windows:
vmtoolsd.exe
- Mac OS X:
vmware-tools-daemon
- Linux, FreeBSD, and Solaris:
vmtoolsd
(found in/usr/sbin/vmtoolsd
)
- Synchronizes the time of the guest operating system with the time in the host operating system.
- Runs scripts in a virtual machine when the power state changes.
- Executes commands in the virtual machine when you shut down or restart a Linux guest operating system.
- Sends a heartbeat to GSX Server so that it knows the guest operating system is running. A gauge for this heartbeat appears in the VMware Management Interface.
- Passes messages from the host operating system to the guest operating system.
- Passes information between the guest operating system and a VMware Scripting API script.
In a Linux guest, the VMware Tools service is called vmware-guestd
. To display help about the service, including a list of all options, use the following command:
/etc/vmware/vmware-guestd --help
VMware Tools Device Drivers
Device drivers smooth mouse operations, make VMware features such as folder sharing available, and improve sound, graphics, and networking performance. If you do a custom VMware Tools installation or reinstallation, you can choose which drivers to install. A set of VMware device drivers, including an SVGA display driver, the vmxnet networking driver for some guest operating systems, the BusLogic SCSI driver for some guest operating systems, the memory control driver for efficient memory allocation between virtual machines, the sync driver to quiesce I/O for Consolidated Backup, and the VMware mouse driver.
VMware User Process
The VMware user process (VMwareUser.exe on Windows guests or vmware-user on Linux and Solaris guests), which enables you to copy and paste text between the guest and managed host operating systems.
On Linux and Solaris guests, this process controls grabbing and releaseing the mouse cursor when the SVGA driver is not installed.
The VMware Tools user process is not installed on NetWare operating systems. Instead, the vmwtool program is installed. It controls the grabbing and releasing of the mouse cursor. It also allows you copy and paste text.
VMware Tools Control Panel
This tool lets you modify settings, shrink virtual disks, and connect and disconnect virtual devices.
Current Version Installed
Linux
From a terminal window, execute the following command:
vmware-toolbox-cmd -v
If it is installed, you should receive output similar to this:
hduser> vmware-toolbox-cmd -v 9.10.2.48224 (build-2822639)
The represents the version number (9.10.2) and build number (2822639).
Is It Running?
To determine if VMware tools is running, try:
/etc/init.d/vmware-tools status
The output may look like this:
vmtoolsd is running
Installing
After your virtual machines starts, a message appears at the bottom of the players window. To install VMware tools onto your image, press the Install Tools button.
After pressing that button, the message is replaced by another message.
After a couple of moments, the virtual VMware Tools DVD shows up on the Desktop.
Mount the CD-ROM
Open a terminal window and switch to su
. Use the
lsblk
command to find the device:
lsblk
The output should look like this:
In this case, the device is sr0. Next, create a mount point.
mkdir -p /mnt/DVD
Mount the device sr0 to the mount point /mnt/DVD
.
mount -t iso9660 -o ro /dev/sr0 /mnt/DVD
Verify that the DVD is mounted and available. This can be done with:
cd /mnt/DVD ls -la
The output should look something like this:
[root@hdcentos DVD]# ls -la total 72064 dr-xr-xr-x. 2 root root 2048 Feb 25 17:23 . drwxr-xr-x. 4 root root 31 Apr 30 22:19 .. -r-xr-xr-x. 1 root root 2003 Feb 25 14:26 manifest.txt -r-xr-xr-x. 1 root root 1850 Feb 25 14:06 run_upgrader.sh -r--r--r--. 1 root root 72340697 Feb 25 14:26 VMwareTools-10.0.6-3595377.tar.gz -r-xr-xr-x. 1 root root 687524 Feb 25 14:08 vmware-tools-upgrader-32 -r-xr-xr-x. 1 root root 757944 Feb 25 14:11 vmware-tools-upgrader-64
Uncompress
Change to a working directory (for example, /tmp
).
cd /tmp
Delete any previous vmware-tools-distrib
directory before
installing VMware Tools. This can be done by using the command:
rm -rf /tmp/vmware-tools-distrib
Uncompress the installer by using the command:
tar -zxpf /mnt/DVD/VMwareTools*.tar.gz
Since the tar
command is executed from the /tmp
directory, this command will create a directory called
/tmp/vmware-tool-distrib
Clean up by unmounting the DVD device. It is not needed any longer.
umount /mnt/DVD
Installation
Prerequisites
The following must be already installed before starting the installation:
- gcc
- valid kernel header path to the 3.10.0-327.10.1.e17.x86_64 kernel
Run the installer and configure VMware Tools. The .pl
file
extension signifies a Perl script. Note the ./
in front of the
script name. The period (.) signifies the current directory. Since we are
running a file in the current directory and that directory is not in the
$PATH
environment variable, the ./
is used to tell
the shell where the executable is.
cd /tmp/vmware-tools-distrib ./vmware-install.pl
You may see output similar to this:
The installer has detected an existing installation of open-vm-tools on this system and will not attempt to remove and replace these user-space applications. It is recommended to use the open-vm-tools packages provided by the operating system. If you do not want to use the existing installation of open-vm-tools and attempt to install VMware Tools, you must uninstall the open-vm-tools packages and re-run this installer. The packages that need to be removed are: open-vm-tools The installer will next check if there are any missing kernel drivers. Type yes if you want to do this, otherwise type no [yes]
If this occurs, type no
.
rpm -qa | grep vm
You may see output similar to this:
open-vm-tools-9.10.2-4.el7.x86_64 open-vm-tools-desktop-9.10.2-4.el7.x86_64 xorg-x11-drv-vmware-13.0.2-7.20150211git8f0cf7c.el7.x86_64 mesa-private-llvm-3.6.2-2.el7.x86_64 abrt-addon-vmcore-2.1.11-36.el7.centos.x86_64 lvm2-libs-2.02.130-5.el7_2.1.x86_64 libXxf86vm-1.1.3-2.1.el7.x86_64 xorg-x11-drv-vmmouse-13.0.0-11.el7.x86_64 lvm2-2.02.130-5.el7_2.1.x86_64 qemu-kvm-common-1.5.3-105.el7_2.3.x86_64 qemu-kvm-1.5.3-105.el7_2.3.x86_64 libvirt-daemon-kvm-1.2.17-13.el7_2.3.x86_64
By examinng this list, there appears to be two packages already installed. The names are:
open-vm-tools-9.10.2-4.el7.x86_64 open-vm-tools-desktop-9.10.2-4.el7.x86_64
These will need to be removed. Note:: Since the package
open-vm-tools-desktop
is dependent on the package open-vm-tools
, any attempt to remove
open-vm-tools
before open-vm-tools-desktop
will
result in an error.
rpm -e open-vm-tools-desktop rpm -e open-vm-tools
The two packages have now been removed. Try the installation again:
cd /tmp/vmware-tools-distrib ./vmware-install.pl
[root@hdcentos vmware-tools-distrib]# ./vmware-install.pl open-vm-tools are available from the OS vendor and VMware recommends using open-vm-tools. See http://kb.vmware.com/kb/2073803 for more information. Do you still want to proceed with this legacy installer? [no] yes Creating a new VMware Tools installer database using the tar4 format. Installing VMware Tools. In which directory do you want to install the binary files? [/usr/bin] What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc/rc.d] What is the directory that contains the init scripts? [/etc/rc.d/init.d] In which directory do you want to install the daemon files? [/usr/sbin] In which directory do you want to install the library files? [/usr/lib/vmware-tools] The path "/usr/lib/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] In which directory do you want to install the common agent library files? [/usr/lib] In which directory do you want to install the common agent transient files? [/var/lib] In which directory do you want to install the documentation files? [/usr/share/doc/vmware-tools] The path "/usr/share/doc/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] The installation of VMware Tools 10.0.6 build-3595377 for Linux completed successfully. You can decide to remove this software from your system at any time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl". Before running VMware Tools for the first time, you need to configure it by invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want this program to invoke the command for you now? [yes] Initializing... Making sure services for VMware Tools are stopped. Stopping Thinprint services in the virtual machine: Stopping Virtual Printing daemon: done Stopping vmware-tools (via systemctl): [ OK ] The module vmci has already been installed on this system by another installer or package and will not be modified by this installer. The module vsock has already been installed on this system by another installer or package and will not be modified by this installer. The module vmxnet3 has already been installed on this system by another installer or package and will not be modified by this installer. The module pvscsi has already been installed on this system by another installer or package and will not be modified by this installer. The module vmmemctl has already been installed on this system by another installer or package and will not be modified by this installer. The VMware Host-Guest Filesystem allows for shared folders between the host OS and the guest OS in a Fusion or Workstation virtual environment. Do you wish to enable this feature? [yes] Before you can compile modules, you need to have the following installed... make gcc kernel headers of the running kernel Searching for GCC... Detected GCC binary at "/bin/gcc". The path "/bin/gcc" appears to be a valid path to the gcc binary. Would you like to change it? [no] Searching for a valid kernel header path... Detected the kernel headers at "/lib/modules/3.10.0-327.13.1.el7.x86_64/build/include". The path "/lib/modules/3.10.0-327.13.1.el7.x86_64/build/include" appears to be a valid path to the 3.10.0-327.13.1.el7.x86_64 kernel headers. Would you like to change it? [no] Using kernel build system. make: Entering directory `/tmp/modconfig-q5AIJv/vmhgfs-only' /bin/make -C /lib/modules/3.10.0-327.13.1.el7.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory `/usr/src/kernels/3.10.0-327.13.1.el7.x86_64' CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/message.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/dir.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/rpcout.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/filesystem.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/cpName.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/link.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/request.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/stubs.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/hgfsUtil.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/file.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/bdhandler.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/transport.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/module.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/super.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/fsutil.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/cpNameLinux.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/hgfsBd.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/page.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/backdoorGcc64.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/backdoor.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/hgfsEscape.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/inode.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/dentry.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/cpNameLite.o CC [M] /tmp/modconfig-q5AIJv/vmhgfs-only/kernelStubsLinux.o LD [M] /tmp/modconfig-q5AIJv/vmhgfs-only/vmhgfs.o Building modules, stage 2. MODPOST 1 modules CC /tmp/modconfig-q5AIJv/vmhgfs-only/vmhgfs.mod.o LD [M] /tmp/modconfig-q5AIJv/vmhgfs-only/vmhgfs.ko make[1]: Leaving directory `/usr/src/kernels/3.10.0-327.13.1.el7.x86_64' /bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory `/tmp/modconfig-q5AIJv/vmhgfs-only' make[1]: `postbuild' is up to date. make[1]: Leaving directory `/tmp/modconfig-q5AIJv/vmhgfs-only' cp -f vmhgfs.ko ./../vmhgfs.o make: Leaving directory `/tmp/modconfig-q5AIJv/vmhgfs-only' The vmxnet driver is no longer supported on kernels 3.3 and greater. Please upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e) The vmblock enables dragging or copying files between host and guest in a Fusion or Workstation virtual environment. Do you wish to enable this feature? [yes] VMware automatic kernel modules enables automatic building and installation of VMware kernel modules at boot that are not already present. This feature can be enabled/disabled by re-running vmware-config-tools.pl. Would you like to enable VMware automatic kernel modules? [no] Thinprint provides driver-free printing. Do you wish to enable this feature? [yes] Disabling timer-based audio scheduling in pulseaudio. Do you want to enable Guest Authentication (vgauth)? Enabling vgauth is needed if you want to enable Common Agent (caf). [yes] Do you want to enable Common Agent (caf)? [yes] Detected X server version 1.17.2 Distribution provided drivers for Xorg X server are used. Skipping X configuration because X drivers are not included. Creating a new initrd boot image for the kernel. Generating the key and certificate files. Successfully generated the key and certificate files. Starting Virtual Printing daemon: done Starting vmware-tools (via systemctl): [ OK ] The configuration of VMware Tools 10.0.6 build-3595377 for Linux for this running kernel completed successfully. You must restart your X session before any mouse or graphics changes take effect. You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the command line. To enable advanced X features (e.g., guest resolution fit, drag and drop, and file and text copy/paste), you will need to do one (or more) of the following: 1. Manually start /usr/bin/vmware-user 2. Log out and log back into your desktop session; and, 3. Restart your X session. Enjoy, --the VMware team
VMware Tools is now installed.
Help
When following command is used:
vmware-toolbox-cmd help
The following output is returned:
hduser> vmware-toolbox-cmd help Usage: vmware-toolbox-cmd[options] [subcommand] Type 'vmware-toolbox-cmd help ' for help on a specific command. Type 'vmware-toolbox-cmd -v' to see the VMware Tools version. Use '-q' option to suppress stdout output. Most commands take a subcommand. Available commands: device disk script stat timesync upgrade (not available on all operating systems)
Debug Logging
To enable debug logging for guests on VMware Workstation 10.x and later,
open a shell window and go to the directory /etc/vmware-tools/
.
/etc/vmware-tools/tools.conf
Next, using a text editor, open the tools.conf
file, or create
the file if it does not exist.
vi tools.conf
Add these lines, depending on the VMware Tools process, logging level, and destination file path chosen:
[logging] log = true vmtoolsd.level = debug vmtoolsd.handler = file vmtoolsd.data = /tmp/vmtoolsd.log
Save and close the file. Restart the VMware Tools service.
/etc/init.d/vmware-tools restart
Uninstalling
It may become necessary to uninstall VMware Tools. This may be because of an incomplete upgrade or there is no need to have it around. Regardless, of the reason, it is relatively easy to uninstall VMware Tools.
Log in as root and open a terminal windows. Locate the script vmware-uninstall-tools.pl
by using the following find
command:
find / -name vmware-uninstall-tools.pl
Once located, execute the script that was located in the previous step. This will initiate the uninstall process.
/usr/bin/vmware-uninstall-tools.pl