VMware Infrastructure Client on Ubuntu … Getting Closer

I’ve been trying to get the VMware Infrastructure Client to run on my Ubuntu laptop via Wine.  I’ve been making progress and getting closer, but it’s still not working.  After playing around with native vs. builtin DLL’s and a couple of other configuration items, I can successfully install and launch the VIC.  I have no issue getting the familiar VIC login prompt. But after entering the IP address of my Virtual Center server, user name and password, I get the error “The client could not validate the server’s SSL certificate,” as you can see here:

vic_on_ubuntu12

I can get farther by putting an http:// in front of the IP address, forcing the VIC to bypass SSL, and it appears the client is attempting to connect to my Virtual Center server.  However, ultimately the application crashes with the following trail of console messages.

fixme:shell:URL_ParseUrl failed to parse L”"
fixme:shell:URL_ParseUrl failed to parse L”VirtualInfrastructure.25u2″
fixme:shell:URL_ParseUrl failed to parse L”System.Windows.Forms”
fixme:shell:URL_ParseUrl failed to parse L”System”
fixme:shell:URL_ParseUrl failed to parse L”VpxClientCommon.25u2″
fixme:shell:URL_ParseUrl failed to parse L”VMware.CustomControls.25u2″
fixme:shell:URL_ParseUrl failed to parse L”System.Drawing”
fixme:shell:URL_ParseUrl failed to parse L”VimSoapService.25u2″
fixme:exec:SHELL_execute flags ignored: 0×00000500
fixme:ole:Context_QueryInterface interface not implemented {000001da-0000-0000-c000-000000000046}
fixme:advapi:RegisterEventSourceW ((null),L”.NET Runtime”): stub
fixme:advapi:ReportEventW (0xcafe4242,0×0001,0×0000,0x000003ff,(nil),0×0001,0×00000000,0x7d94d124,(nil)): stub
err:eventlog:ReportEventW L”.NET Runtime version 2.0.50727.42 – Fatal Execution Engine Error (7A05E2B3) (80131506)”
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
fixme:advapi:CheckTokenMembership (0x27c 0x1cef20 0x7d94c778) stub!
fixme:shell:URL_ParseUrl failed to parse L”System.Web.Services”
fixme:shell:URL_ParseUrl failed to parse L”TransportInterfaces.25u2″
fixme:shell:URL_ParseUrl failed to parse L”System.Xml”
fixme:imm:ImmDisableIME (-1): stub
fixme:thread:NtQueryInformationThread Cannot get kerneltime or usertime of other threads
fixme:thread:NtQueryInformationThread info class 9 not supported yet
(repeated 10 times)
fixme:advapi:RegisterEventSourceW ((null),L”.NET Runtime 2.0 Error Reporting”): stub
fixme:advapi:ReportEventW (0xcafe4242,0×0001,0×0000,0x000003e8,(nil),0×0008,0x000000f6,0x3009a1b4,0x7e1b55e0): stub
err:eventlog:ReportEventW L”vpxclient.exe”err:eventlog:ReportEventW L”2.5.0.64227″
err:eventlog:ReportEventW L”48db0525″
err:eventlog:ReportEventW L”mscorwks.dll”
err:eventlog:ReportEventW L”2.0.50727.42″
err:eventlog:ReportEventW L”4333e7ec”
err:eventlog:ReportEventW L”0″
err:eventlog:ReportEventW L”000b333f”
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
fixme:thread:NtQueryInformationThread info class 9 not supported yet
(repeated 10 times)

As you can see here:

vic_on_ubuntu2

I’ve also tried this with a ThinApp’d version of the VIC and basically get the same results.  I realize I’m probably beating my head against a wall, looking for a solution that probably just doesn’t exist.  But in the off chance someone has figured this out, I want to see if anyone has progressed farther than I.  Here’s my setup …

Version of  OS: Ubuntu 8.10 (kernel 2.6.27-9)
Version of Wine:
wine-1.1.10

Anyone have any ideas?

Project Minty Fresh (Desktop)

The fresh flavor that lasts and lasts……that’s goal behind one of my customer’s latest desktop projects.  This customer has been working the View3 pre-release code for some time now.  Using View Composer, we now have the capability to very easily, and programmatically refresh a user’s desktop back to the original golden master image state.  View Composer supports three primary operations after initial linked clone creation:
1:  Refresh – A Refresh takes a desktop back to the original state of the master
2:  Recompose – A Recompose takes a linked clone and re-homes it if you will, to a new parent image (think instant OS updates or software rollouts)
3:  Rebalance – A rebalance takes all the linked clone VM’s in a pool and re-balances them across a set of LUN’s
For the sake of this conversation, we will focus on the Refresh operation.

Problem:
My customer’s goal is to maintain the integrity of their corporate desktop image deployed to users.  Over time, their user’s have a particular habit of destroying their desktops.  So much so, that they had to put in place a mandatory, ongoing re-imaging program so that all desktops never go more than six months without a re-image.  This policy has had some very positive results in terms of reduced help desk calls and time spent just sustaining a rotting OS.  That said, the effort required to sustain an perpetual, semi-manual re-imaging program is substantial.

Solution?:
Enter VMware View Refresh.  Right now, they have rolled out a program for a set of 50 users to see how well it would work to refresh a user’s desktop much more aggressively (every 5 days to start).  This means that after a linked clone is created and the user begins to use the VM, the VM will automatically refresh every 5 days back to it’s original state (configured in the desktop pool settings…screenshot to come).  The goal is to make this a highly seamless event for the users.  With View Composer’s User Identity Disk, C:\Documents and Settings\ is redirected to another, persistent (thin provisioned) .vmdk that is presented as the D: drive.  This is configured when you create the pool as shown below:

Based upon our initial tests, this is working really well.  We can refresh a user’s desktop without them ever knowing, as the next time they log on their profile is completely intact.  Currently we are testing all of their applications to ensure this will work across the board.  I am sure we will find some applications that do not, gasp!, save their preferences in the user’s profile (something TS/Citrix admins deal with constantly).  For those applications, our plan is to ThinApp the application and set the User Sandbox to live in the proper, user’s profile directory.  We have also found that we need to re-register each VM with the anti-virus console after a refresh operation which we are now achieving through a post-sync script.

I’ll be sure to keep everyone posted on our progress and experiences.  It’s certainly something to consider and explore.  Let me know what you think!  Until then, I wish you a very minty fresh desktop experience!  :-)

A New “View” of Virtual Desktop Computing

Today is a very exciting day for those working in and around desktop computing. VMware has released a major new version of it’s end-to-end virtualized desktop solution, View3 (yes that’s a new name. VDI as a product name has fallen to the way-side). I have had the privilege of working with the product since it’s early beta days and with some customers who had early beta access. I’ve been impressed with the amount of customer feedback that was incorporated into the product between beta cycles. It’s a real testament to VMware’s desktop solutions group’s willingness to listen and to truly mold this into something that customers not only want to use, but are already deploying. SO, congratulations to all those who worked so hard to get this product out the door!

Rather than just reprint the marketing press releases, I thought I would highlight some of the key new features of View3, give a short explanation, and add some initial thoughts. As the (borrowed) graphic below shows, “View3” really is the umbrella name that covers all the components of the total solution. View Manager 3 is the desktop broker that sets up and manages connections between end users and back-end desktop virtual machines. Let’s dig into some of these features.

  • Unified Access View Manager now brokers connections to physical PCs, terminal servers, and blade PCs in addition to virtual desktops hosted on VI3. This allows you to make the View client or web portal a true, one-stop-shop for user computing. For example, I have a customer that is a hospital that has blade pc’s in use for a very specific radiology application. Since users connect to the blade PC’s over RDP, their connections can now be seamlessly be brokered through the same interface as their virtual desktops. There is also an interesting application here for MS Terminal Servers as View now can not only broker connections to Terminal Servers, but also easily add a load balancing mechanism.

Below: A screenshot of the various choices you have for types of desktop connection you can create for brokering:

  • Virtual Printing Provides end users the ability to print to any local or network printer. Virtual Printing includes a universal print driver, compression for print jobs, and auto detection of local printers from the View Client. Printing has always been a thorn in the desktop administrator’s side. The issue is magnified when we are talking about hundreds or thousands of virtual desktops. How do we ensure that the printer driver the user needs for their local printer will be available on the desktop that they land on. Either I have to do that work ahead of time and pin a user to a desktop (not very flexible and a bunch of work), or I have to install all the possible drivers across all the desktops in the pool (scary!). VMware did a great thing here, in my opinion, they partnered with ThinPrint to license the best of breed solution on the market (again my opinion J). The universal printer driver is installed with the View agent on the virtual desktop side and with the View client on the client side so there’s no extra work for the administrator. It’s just there and it works! Oh, and it works VERY well! The universal print driver is smart enough to pick up many of the unique features of the user’s printer, supporting all the bell’s and whistles your user’s require. The last key feature of Virtual Printing is the incredible print job compression it provides. The universal driver does adaptive compression of the print job on the VM side for a much lower impact on the network for print jobs. This is very important for those deploying virtual desktops to remote locations or even home users. That said, ThinPrint still provides some fantastic add-on’s to this technology. It’s worth checking out their website for a full comparison of what they can do, in addition to the technology VMware licensed from them! http://dotprint.thinprint.com/euen/Features/tabid/93/language/en-US/Default.aspx
  • Enhanced User ExperienceExtends MMR (multi-media redirection) to all Win XP and Win XPe based clients. Provides increased support for critical codecs- MPEG1, MPEG2, MPEG4 part2, WMV 7/8/9, WMA, AC3, MP3. Provides granular policies for USB redirection. What can I say about multimedia over RDP? Well it usually sucks. With MMR, the world becomes a much brighter place for the modern desktop user trying to work over RDP. MMR makes the playback of all the codecs above extremely usable over RDP. I’ve even tested this over a WAN connection with some fairly high latency numbers. The content just took a little bit longer to queue up but then the playback was seamless. A key change here is that MMR is now available to all WinXP and WinXPe fat and thin clients. Before, it was limited to only WinXP devices and Wyse XP/XPe thin clients. In regards to USB redirection, it works great! View3 adds the ability to enable/disable USB redirection at the pool or even desktop level.
  • Offline Desktop (Experimental) — Provides the flexibility to intelligently and securely move virtual desktops between the datacenter and local resources. Users can check out their virtual desktops onto physical clients, use the virtual desktop locally, and then check it back in. Offline Desktop is one of those new, game changing type of features everyone has been asking about for years. There always will be a segment of your user population that will need to be able to work in a mobile, disconnected fashion. Offline Desktop solves some problems for this user segment. With View3, the administrator can configure a desktop for a user and then the user can “check-out” their desktop. The desktop is then block-level streamed down to the endpoint and then can be run the encapsulated desktop locally….without a network connection. Obviously only applications that reside within the VM and local data will be accessible. But still, a user could be very productive offline. The beauty is, that the next time the View client is signed into and can connect back to corporate, it will allow a block-level sync of all changes back to the corporate datacenter. And what happens if your user looses their laptop or it is stolen? Not to fear, strong encryption is always applied. The VM can “self-destruct/mothball” itself after x days of not checking into the View Manager (the administrator can configure this), or it can even be remotely disabled if it’s still accessible.
  • Fully Internationalized product
  • View Composer is a new product fully integrated with View Manager 3.  View Composer provides significant benefits to VDI solutions including:

· View Composer uses VMware Linked Clone technology to rapidly create desktop images that share virtual disks with a master image to conserve disk space and streamline management.

· User data and settings are separated from the desktop image, so they can be administered independently.

· All desktops that are linked to a master image can be patched or updated simply by updating the master image, without affecting users’ settings, data.

· This reduces storage needs and costs by up to 70% while simplifying desktop management.

View Composer is what I consider to be one of the most exciting new features of this release (even though it’s really a separate product). The storage cost associated with deploying virtual desktops has been up to now, one of the largest barriers of adoption. Many organizations I deal with loved VDI and what it represented in terms of data security and lowered management costs, but they just couldn’t get over putting all their desktop storage on expensive, SAN-based storage. That said, there have been a large number of customers who have moved forward with VDI because of all it’s great benefits. Many have leveraged features of their storage arrays to do things like thin provisioning, writable snap-shots, or even single instancing to significantly cut the storage costs. View Composer solves this problem for the rest of the world as it allows you to significantly reduce the amount of storage used by employing linked clones. Composer allows you to identify a “gold image” from which you desktop pool will be created. You then tell Composer what LUN’s to store the VM’s on and then the fun begins. Composer creates a replica on each of the LUN’s you provided and then there, the small linked clones are built. The provisioning is extremely fast and as you can imagine, highly space efficient. For a more detailed look at the guts, take a look at Rod Haywood’s excellent examination of the process: http://rodos.haywood.org/2008/12/storage-analysis-of-vmware-view.html

Composer isn’t just a storage savings tool. It’s also a game changer for desktop management. Now that you have all these linked clones for your desktop pool, you have the option to now manage the lifecycle of these desktops from the image. That’s in contrast to how thing normally work where once a desktop is created you have to continually patch it and upgrade it to maintain it (applications, windows updates, virus updates, and security updates). With the linked clones, we can now simply update the image at the top of the tree and re-home all the downstream desktops to the new version of the image. This is called a “Re-Compose” operation Think about the ramifications of that! You could roll out a new application to 1000’s of users with a few clicks, with a high degree of certainty by simply Re-Composing your users to a new version of the master image. Good stuff!! With the addition of the User Data Drive option which employs Windows Profile Folder Redirection technology, you can ensure that your user’s personal settings persist even after refreshing their desktop or even moving them to a completely new version of their desktop. Heck, you can even schedule a refresh of your user’s desktops every x days to ensure that your user’s never experience “Windows Rot” through the “Refresh” function. I could go on and on. I plan to do a follow-up post just on Composer but I hope this get’s your creative juices flowing in terms of the possibilities here!

There was a lot to cover here, but I think I covered most of the salient points. I hope you found it useful! I would encourage you to read more about it, play with it and try it out!

Here are some key links for the product:

Product Landing Page:   http://www.vmware.com/products/view/

Release Notes:              http://www.vmware.com/support/viewmanager/doc/releasenotes_viewmanager3.html

Documentation Page: http://www.vmware.com/support/pubs/view_pubs.html

Download Trial Link: https://www.vmware.com/tryvmware/?p=view&lp=1