Options for using Unity on Linux host
When using a Linux desktop, I often run into situations where I need Windows Office applications. While I am a fan of the Wine project, it does not support all the features that I need (for example: OneNote syncing with SharePoint/OneDrive).
As a result, using a Windows Virtual Machine is often unavoidable. The ideal situation is, however, that the virtualized Windows applications are integrated as much as possible within the Linux desktop environment. Recently I have been experimenting with the available options in this area.
|Vmware Workstation 11 Unity (1)||VirtualBox Seamless||Virtual Machine + RDP (2)||Wine (3)|
|HTML (formatted text) copy/paste||No||No||Yes||Yes|
|Guest windows in host taskbar||Yes||No||Yes||Yes|
|Stability||Low (with Office 2016 a lot of glitches; unusable)||High||Low
(A lot of glitches. Also increased CPU load and lag)
(Glitches / crashes are common)
(1) I am listing explicitly Workstation 11 here. The unity feature was removed from VMWare Workstation for Linux per version 12.
(2) For the Virtual Machine + RDP solution I ran a Windows Server 2016 VM and used xfreerdp in my Linux host. The amount of glitches was quite high and every time your suspend/unsuspend your host system the xfreerdp needs to reconnect to your VM.
(3) Office in wine is not feature complete; for example OneNote does not have SharePoint/OneDrive sync.
With regards to performance:
Initially I thought that the VirtualBox approach would be faster than the VM+RDP due to the networking overhead. In reality, the responsiveness on a large screen (UHD resolution) was better with the VM+RDP than the native VirtualBox display. I haven’t compared the CPU loads, but I did get the impression that the VM+RDP is more expensive in CPU load.
Of all the options, the VM+RDP comes the closest to Linux integrated with a Windows desktop, if you can handle the glitches and increased CPU load. There currently is no perfect solution.
P.S.: this post does not cover the other way around: Windows 10 + WSL + X-server.