It seems inefficient to run an X/Server (Xming or Cygwin/X) on a Windows host when a more actively maintained X/Server is already running on a VirtualBox Linux guest. I have a setup that mostly works, but I have the feeling that it is a big hack and that there must be a simpler way.
I now run VB in Seamless mode in Virtualbox and I can get most of the behavior you would expect from an X Server. What I still want to be able to do is:
- Be able to ssh -Y from the host and get output on the host screen...
- ... and thus be able to alt-tab between all windows (host and guest) using the host's Window Manager
- Not have to deal with the workaround of re-assigning screens (see below) when I remote desktop into the host
- Be able to move the guest-running and remote-running applications between different screens without having to use window rules in VirtuaWin.
That was the end of the question part. In summary: can I use an X/server on a guest to provide X services from the host?
What follows are instructions to get to the stage I am at now, which does the basics. It is noticeably faster and smoother (for me) than either Xming or Cygwin/X:
- Upgrade to the latest VB (4.2.16 as I write this, August 2013)
- Change the window manager to XFCE
- Run VB in Seamless mode
- Some other stuff related to dual head with differing geometry and using VirtuaWin (yes, I know, I am pushing my luck):
- Follow these instructions (I did the item II, using arandr)
- Make sure that in the VB &View Menu, the mapping between virtual and real screens is correct.
- If you remote-desktop, or your screen geometry changes for whatever reason, you can:
- Use arandr to adjust the geometry, or when that fails...
- ... reassign the screens incorrectly and then correctly in VB.
- Add rules to the VirtualBox windows in VirtuaWin so that they show up on all desktops and are always on top.