Enabling Drag-and-Drop and Copy-and-Paste functionality on Fusion or Workstation hosted Linux VMs for open-vm-tools
search cancel

Enabling Drag-and-Drop and Copy-and-Paste functionality on Fusion or Workstation hosted Linux VMs for open-vm-tools

book

Article ID: 320995

calendar_today

Updated On:

Products

VMware Desktop Hypervisor

Issue/Introduction

This article provides information on enabling Drag-and-Drop and Copy-and-Paste functionality on Fusion or Workstation hosted Linux VMs for open-vm-tools.

Resolution

Prerequisites

  • The OS supports fuse
  • The OS supports systemd >= 128 (this excludes for example SLE < 12sp2)
  • Note that Drag-and-Drop and Copy-and-Paste is currently not working with Wayland. Log in with an X11 session instead.
For Drag-and-Drop and Copy-and-Paste functionality, open-vm-tools needs to mount a special filesystem (vmblock-fuse). Check if this is already enabled. On OSes other than SuSE Enterprise Linux or OpenSuSE:

sudo systemctl status run-vmblock\\x2dfuse.mount

On SuSE Enterprise Linux or OpenSuSE:

sudo systemctl status vmblock-fuse.service

If the output looks similar to this:

Unit run-vmblock\x2dfuse.mount could not be found.

Then the functionality is not implemented by the OS vendor package. Make sure you have the latest version that is available installed. Otherwise ,you need to add it yourself. See the instructions below:

If this looks similar to:

run-vmblock\x2dfuse.mount - VMware vmblock fuse mount
   Loaded: loaded (/usr/lib/systemd/system/run-vmblock\x2dfuse.mount; enabled; vendor preset: disabled)
   Active: active (mounted) since Tue 2019-08-13 08:40:31 PDT; 2 days ago
    Where: /run/vmblock-fuse
     What: vmware-vmblock
     Docs: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt
    Tasks: 3 (limit: 11366)
   Memory: 1.1M
   CGroup: /system.slice/run-vmblock\x2dfuse.mount
           └─777 vmware-vmblock-fuse /run/vmblock-fuse -o rw,subtype=vmware-vmblock,default_permissions,allow_other,dev,suid

           
If the location of the systemd file is in /usr/lib, then functionality has been implemented by the vendor. If it is not enabled, enable it with this command:

sudo systemctl enable run-vmblock\\x2dfuse.mount

and start with

sudo systemctl start run-vmblock\\x2dfuse.mount

Replace "run-vmblock\\x2dfuse.mount" with "vmblock-fuse.service" for SuSE Enterprise Linux or OpenSuSE.

If already logged into a GUI session, log out and then in again or reboot. Drag-and-Drop and Copy-and-Paste should be working.

If the functionality is not implemented by the OS vendor package:
  1. Create the file /etc/systemd/system/run-vmblock\x2dfuse.mount with this content.

    [Unit]
    Description=VMware vmblock fuse mount
    Documentation=https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt
    DefaultDependencies=no
    Before=umount.target vmtoolsd.service
    ConditionVirtualization=vmware
    After=sys-fs-fuse-connections.mount
    Wants=vmtoolsd.service

    [Mount]
    What=vmware-vmblock-fuse
    Where=/run/vmblock-fuse
    Type=fuse
    Options=subtype=vmware-vmblock,default_permissions,allow_other

    [Install]
    WantedBy=multi-user.target


    Note: be careful with that the filename is correct, because escaping of the backslash can be confusing. Use single quotes if in doubt, for example:

    vi '/etc/systemd/system/run-vmblock\x2dfuse.mount'
     
  2. Create the file /etc/modules-load.d/open-vm-tools-local.conf with this content:

    fuse

    If the file already exists, add that line to the file.
     
  3. Make sure vmware-user-suid-wrapper has the suid bit set by running this command:

    sudo chmod u+s /usr/bin/vmware-user-suid-wrapper
     
  4. Enable the systemd service with this command:

    sudo systemctl enable run-vmblock\\x2dfuse.mount

    This ensures the vmblock directory will be mounted after a reboot.
     
  5. Make sure the 'fuse' module is loaded with this command:

    sudo modprobe -v fuse
     
  6. Start the service with this command:

    sudo systemctl start run-vmblock\\x2dfuse.mount
     
  7. If you are already logged into a GUI session, log out and then in again, or reboot. Drag-and-Drop and Copy-and-Paste should be working.