4.4. Drag and Drop

Oracle VM VirtualBox enables you to drag and drop content from the host to the guest, and vice versa. For this to work the latest version of the Guest Additions must be installed on the guest.

Drag and drop transparently allows copying or opening files, directories, and even certain clipboard formats from one end to the other. For example, from the host to the guest or from the guest to the host. You then can perform drag and drop operations between the host and a VM, as it would be a native drag and drop operation on the host OS.

At the moment drag and drop is implemented for Windows-based and X-Windows-based systems, both on the host and guest side. As X-Windows supports many different drag and drop protocols only the most common one, XDND, is supported for now. Applications using other protocols, such as Motif or OffiX, will not be recognized by Oracle VM VirtualBox.

In the context of using drag and drop, the origin of the data is called the source. That is, where the actual data comes from and is specified. The target specifies where the data from the source should go to. Transferring data from the source to the target can be done in various ways, such as copying, moving, or linking.

Note

At the moment only copying of data is supported. Moving or linking is not yet implemented.

When transferring data from the host to the guest OS, the host in this case is the source, whereas the guest OS is the target. However, when transferring data from the guest OS to the host, the guest OS this time became the source and the host is the target.

For security reasons drag and drop can be configured at runtime on a per-VM basis either using the Drag and Drop menu item in the Devices menu of the virtual machine, as shown below, or the VBoxManage command.

Figure 4.1 Drag and Drop Menu Options

Drag and Drop Menu Options

The following drag and drop modes are available:

  • Disabled. Disables the drag and drop feature entirely. This is the default when creating a new VM.

  • Host To Guest. Enables drag and drop operations from the host to the guest only.

  • Guest To Host. Enables drag and drop operations from the guest to the host only.

  • Bidirectional. Enables drag and drop operations in both directions: from the host to the guest, and from the guest to the host.

Note

Drag and drop support depends on the frontend being used. At the moment, only the VirtualBox Manager frontend provides this functionality.

To use the VBoxManage command to control the current drag and drop mode, see Chapter 7, VBoxManage. The modifyvm and controlvm commands enable setting of a VM's current drag and drop mode from the command line.

4.4.1. Supported Formats

As Oracle VM VirtualBox can run on a variety of host operating systems and also supports a wide range of guests, certain data formats must be translated after transfer. This is so that the target operating system, which receiving the data, is able to handle them in an appropriate manner.

Note

When dragging files no data conversion is done in any way. For example, when transferring a file from a Linux guest to a Windows host the Linux-specific line endings are not converted to Windows line endings.

The following formats are handled by the Oracle VM VirtualBox drag and drop service:

  • Plain text: From applications such as text editors, internet browsers and terminal windows.

  • Files: From file managers such as Windows Explorer, Nautilus, and Finder.

  • Directories: For directories, the same formats apply as for files.

4.4.2. Known Limitations

The following limitations are known for drag and drop:

On Windows hosts, dragging and dropping content between UAC-elevated (User Account Control) programs and non-UAC-elevated programs is not allowed. If you start Oracle VM VirtualBox with Administrator privileges then drag and drop will not work with Windows Explorer, which runs with regular user privileges by default.