# Virtualized Desktop



## drmike (Jun 13, 2013)

Contemplating a solution for a pesky user who lives in a dual monitor environment.  User is in Linux, but has need for some apps that are Windows specific (and having environment that is identical to other colleagues they are working with).

Does anyone here run a virtualized desktop environment with the local PC running OpenVZ/KVM/ProxMox?

Is it possible to use virtualized layer like this and switch on the same computer between running VPS instances and do so with dual monitors?


----------



## jarland (Jun 13, 2013)

First step would be to test it in a well configured wine environment. I suggest crossover for this.


If that fails, I'd question if using Ubuntu because they package a very nice KVM virtualization manager that's GUI based and would be perfect for a dual display environment.


----------



## NodeBytes (Jun 13, 2013)

I have a server sitting in my closet running Proxmox attached to an HP raid array. I'm running windows server 2012 in a kvm machine and it works beautifully.


----------



## drmike (Jun 13, 2013)

Good replies guys!  Glad to see this idea isn't so out of the ordinary around here 

@barclsonmedia, with your setup your monitor, keyboard, etc. are all tethered to the server (i.e. your computer is the very same server)?

Are you able to flip around on your monitor to the other instances on Proxmox?  Like for instance, go from Windows to Debian based desktop... gracefully...?


----------



## HalfEatenPie (Jun 13, 2013)

All I can really think of is VNC/RDP, but I'd honestly be really interested in this.  I personally was more thinking of a switch similar to how Chromebooks work with Crouton (Basically all you have to do is push three keys at the same time and it switches from Chrome OS to a stripped down version of Ubuntu).  

I mean if a similar experience can be met that'd be awesome, but of course I don't really expect this to happen that way.


----------



## jarland (Jun 13, 2013)

buffalooed said:


> Good replies guys!  Glad to see this idea isn't so out of the ordinary around here
> 
> @barclsonmedia, with your setup your monitor, keyboard, etc. are all tethered to the server (i.e. your computer is the very same server)?
> 
> Are you able to flip around on your monitor to the other instances on Proxmox?  Like for instance, go from Windows to Debian based desktop... gracefully...?


I'm not aware of how to force a VM to use a physical monitor. I've no doubt it can be done, but doesn't sound fun. More likely you'd just be opening a RDP session and maximizing it. I'd say that's more than sufficient, personally.


----------



## TheLinuxBug (Jun 13, 2013)

buffalooed said:


> Does anyone here run a virtualized desktop environment with the local PC running OpenVZ/KVM/ProxMox?


 

Now I see here you have been specific to these three types of virtualization, however, in some instances like this, you may find that Oracles VirtualBox will work a lot better for what you are wanting.  You can either switch on one screen to a full screened virtual server directly (using the VirtualBox manager) or you can use the built in RDP in VirtualBox to all you to connect with an RDP client like rdekstop or in Microsoft environments mstsc and still be able to have full audio capabilities (Also I believe you may be able to tweak the video settings using the VirtualBox manager so that the direct console can actually have decent video card pass through for graphics intense things.)

When using KVM/Xen HVM you may have issues if you are wanting to use any high graphics resources and actually get good output locally (Usually need to use VNC.)  If you are not concerned with graphics, this might not be a big deal. 

This may not have been the answer you were looking for, but from my experience it works the best for me.  I actually virtualize my work environment on an external server and use it actively through the RDP display option in VirtualBox and I get full audio both using rdesktop in linux and mstsc in windows.  I do this so if I have to travel I can access my work machine with little issue from almost anywhere.

P.S.  VirtualBox is free for most non-commercial uses, and for the most part the free version does everything you would need.

Cheers!


----------



## drmike (Jun 13, 2013)

@TheLinuxBug,  good write up.

I've used VirtualBox eons ago --- probably 3+ years ago.  Never in this manner though.

Have you tried VirtualBox with dual monitors?

So looking at OS (Debian or Ubuntu)  then running VirtualBox inside of that and doing the Windows install in VirtualBox?  Sound right?   That's what I've done before.


----------



## SPINIKR-RO (Jun 13, 2013)

This may be possible with a physical KVM Switch. Tap a button and monitors/input devices switch to the next environment. Not sure how the logic would work on a single machine running 2 VMs, never used one.

I generally just use Synergy with 2 physical devices


----------



## earl (Jun 13, 2013)

buffalooed said:


> Have you tried VirtualBox with dual monitors?


Have not tried it on debian/ubuntu but Dual monitor works fine using win7, I can full screen a hackintosh from virtualbox no problem.


----------



## TheLinuxBug (Jun 13, 2013)

*@*, 

When using VitualBox and its RDP module that is built in, you can actually specify your screen resolution using one of the tools with VirtualBox and I believe rdesktop (I would have to look at the options for it again) and I know mstsc has the ability to stretch the desktop across both screens.  

Once you have a server started in VirtualBox you can go to the command line and adjust screen resolution as follows:

[email protected]:~# VBoxManage controlvm <vmname> setvideomodehint 1920 1080 24  (resoultion) (how many bit, 16,24,32)

I am able to stretch my virtualized box on my windows laptop so it will appear on my laptop screen and my additional attached screen as one large screen.

As far as actually specifying separate desktops for each screen, I am not sure this is possible as the virtual instance only sees it as having 1 video output installed. 

I hope this helps.

Cheers!


----------



## NodeBytes (Jun 13, 2013)

@buffalooed - I'm using RDP. It hums along quite well, it's as if I were attached directly to the machine with a physical cable.


----------



## drmike (Jun 13, 2013)

So @bcarlsonmedia  @TheLinuxBug thanks to both of you 

Going to try exactly this - VirtualBox when I get a new workstation in for the user.  Been wavering on what to get and virtualization requirements.  VirtualBox should make those requirements less costly.


----------



## NodeBytes (Jun 13, 2013)

Well, if you need to expand to more than one windows workstation in the future I would suggest VMWare ESXi.

Btw, Windows XP actually works better in VirtualBox than it does natively. Has to do with the way that type 2 hypervisors handle memory compared to running XP bare metal.


----------



## drmike (Jun 13, 2013)

bcarlsonmedia said:


> Well, if you need to expand to more than one windows workstation in the future I would suggest VMWare ESXi.


 

So why do you recommend this?  Never dealt with VMWare before.


----------



## NodeBytes (Jun 13, 2013)

It's a bare metal type 1 hypervisor. It's resources allocate (in my opinion) much better than KVM does.


----------



## wlanboy (Jun 13, 2013)

If you want to use your vps for GUI things I would recommend VirtualBox too.

After installing the VirtualBox guest drivers you can resize your vm window like your browser. You can move/size it to fill both monitors. Mouse is transparently moving into/out of the VM. Mouse selection is also setting the target for your keyboard input.


----------



## jarland (Jun 14, 2013)

wlanboy said:


> If you want to use your vps for GUI things I would recommend VirtualBox too.
> 
> 
> After installing the VirtualBox guest drivers you can resize your vm window like your browser. You can move/size it to fill both monitors. Mouse is transparently moving into/out of the VM. Mouse selection is also setting the target for your keyboard input.


Truth be told my mind just doesn't gravitate toward simple solutions sometimes. Over thinking I guess. I would replace my recommendations with this. It's one of those "don't fix it if it ain't broke" scenarios. VirtualBox is good old "tried and true" here.


----------



## drmike (Jun 14, 2013)

wlanboy said:


> If you want to use your vps for GUI things I would recommend VirtualBox too.


 

Explain this   You mean if I want to use a remote VPS for GUI things I take it?

So run VirtualBox inside the VPS?  That would require the VPS + Debian + GUI + VirtualBox, right?  Sounds interesting.  Imagine it's laggy as can be though, especially when dual monitor rendering and remote... right?


----------



## TheLinuxBug (Jun 14, 2013)

I believe he meant for graphical applications. As I understood from your first post this sounded like something you wanted to run locally, if this is the case the actual console provided by VirtualBox provides you pretty good graphical response as opposed to using remote tools to access the instances (Read: VNC & RDP).  You can run VirtualBox locally on your windows workstation or Linux workstation, there are version available for both.  Using it locally will allow you better graphical access to your virtualizations than with other methods.

I hope that helps clarify.  @wlanboy please correct me if I made the wrong assumption.

Cheers!


----------



## wlanboy (Jun 14, 2013)

buffalooed said:


> Explain this   You mean if I want to use a remote VPS for GUI things I take it?


Nope. Just run VirtualBox locally. No VNC, no RDP. After installing the guest drivers the vms are fast and very responsive.

KVM/OpenVZ is perfect for headless vms, but VirtualBox beats everything if you need a virtual Desktop too.


----------



## acd (Jun 14, 2013)

jarland said:


> I'm not aware of how to force a VM to use a physical monitor. I've no doubt it can be done, but doesn't sound fun.


I had an interest in making this work before but the rough answer is for xen hvm, kvm and esxi, it's not possible to share a physical display with the host node (or whatever is relevant based on hypervisor). KVM, I think, comes closest with some fbdev patches, but these corrupt the framebuffers of all VTs if you switch away from the VM and it continues to write. All three allow attaching a video device to a guest via pci-passthrough (vt-d) so you can put video through but that doesn't qualify as sharing. I couldn't find a way to re-init the device with the HN after the guest had finished either.


----------

