In my previous post, I introduced you to my journey of moving my development from Windows 10 to a Fedora 28 VM running on VMware Workstation 14. Today I’ll be telling you about the most basic of needs any virtual machine user has: copying and pasting between the host- and the guest OS. A feature I’ve enabled on thousands of VMware machines proved non-trivial on this Fedora VM.
For any virtual machine running on top of the VMware virtualization to allow clipboard integration between guest and host, there needs to be an agent running in the guest OS that will expose the guest OS clipboard to vmware-vmx, the underlying virtualization host. In addition to enabling copying and pasting, such an agent allows multiple other guest OS integration features such as graceful Guest OS power operations, balloon memory, seamless cursor mode (the cursor can enter and exit the VM without the need to grab it with a key combo), Unity mode etc. Today there are two solutions available:
- open-vm-tools – an open-source project led by VMware delivering guest OS integration to a number of Linux distros.
- VMware Tools – shipped with Workstation and ESXi (the hypervisor OS for servers managed by vSphere/vCenter), component that can be installed through a virtual CD image mounted to the VM. This is the standard way to do guest integration on Windows and Linux distributions that do not support open-vm-tools.
Fedora 19 and above come with open-vm-tools. This means that a virtual machine will be by default configured with Guest OS integration at the moment of install. Imagine my confusion when – after I got all my issues with Gnome 3 and had the cursor running in smoothly in seamless mode – I still couldn’t copy and paste!
A number of things could go wrong:
- Somebody could have prevented clipboard integration through a Windows group policy in a fit of paranoia.
- open-vm-tools could be buggy.
- Since the machine was exported from vSphere some configuration flag might be off in the resulting .vmx file.
- There might be a bug in Workstation 14.
I ruled out tech support involvement – I could copy / paste between my workstation and the original VM running on vSphere.
Having exhausted the open-vm-tools update options and hand-crafting the .vmx file, I tried the freshly released Workstation 15. To my surprise, it actually crashed trying to run my VM.
One filed bug and one downgrade later, I actually figured it out.
There is a Separate Package!
After a lot of browsing around it turns out that open-vm-tools was at some point split into multiple packages:
$ dnf list open-vm-tools*
Last metadata expiration check: 11 days, 7:02:32 ago on Tue 18 Sep 2018 03:51:39 PM EEST.
open-vm-tools.x86_64 10.3.0-4.fc28 @updates
open-vm-tools.i686 10.3.0-4.fc28 updates
open-vm-tools-desktop.x86_64 10.3.0-4.fc28 updates
open-vm-tools-devel.i686 10.3.0-4.fc28 updates
open-vm-tools-devel.x86_64 10.3.0-4.fc28 updates
open-vm-tools-test.x86_64 10.3.0-4.fc28 updates
Turns out all the UX stuff moved to a package called open-vm-tools-desktop:
$ dnf info open-vm-tools-desktop
Last metadata expiration check: 11 days, 6:59:45 ago on Tue 18 Sep 2018 03:51:39 PM EEST.
Name : open-vm-tools-desktop
Version : 10.3.0
Release : 4.fc28
Arch : x86_64
Size : 473 k
Source : open-vm-tools-10.3.0-4.fc28.src.rpm
Repo : @System
From repo : updates
Summary : User experience components for Open Virtual Machine Tools
URL : https://github.com/vmware/open-vm-tools
License : GPLv2
Description : This package contains only the user-space programs and libraries of
: open-vm-tools that are essential for improved user experience of VMware virtual
There couldn’t be any hesitation. I installed the package and restarted the VM:
$ dnf install -y open-vm-tools-desktop
Voila! Copying and pasting were again a luxury I had access to.
Interestingly enough, the installation example inside open-vm-tools‘s FAQ shows both core and -desktop package installation (a page created this February) but no explanation or further information is available.
Anyway, one more problem went away.