Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Solution to booting directly to Virtual Machines using thin clients

Posted on 2012-03-29
12
Medium Priority
?
1,563 Views
Last Modified: 2012-04-19
What is the best way to convert our Thick Clients to Thin Clients.  We would like to boot directly to the VM if at all possible.


We use VMware and connect to the VM's via Citrix Receiver installed on a XP box.  We would like to boot directly to to their personal desktop and not even have a local OS installed.  


Some ideas we had were using some type of PXE booting into the VM's, a Linux distribution on a USB drive or even possibly a bootable CD's.
0
Comment
Question by:peoplesbnk
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 3
12 Comments
 
LVL 123

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE^2) earned 2000 total points
ID: 37784424
A few options for you to consider, that we've implemented:-

1. http://thinstation.org/
Thinstation is a basic and small, yet very powerful, Open Source "thin client" operating system supporting all major connectivity protocols

2. http://www.2x.com/os/
Lightweight OS for Virtual Desktops & Applications, we've used this from CDROMs and USB flash drives.

3. http://www.2x.com/thinclientserver/
Convert PCs to Thin Clients. Save Money and Headaches
Centrally Manage User Connections, Thin Client Devices & Convert PCs to Thin Clients
0
 

Author Comment

by:peoplesbnk
ID: 37784433
Yes, we have tried all 3 of those but we need more details on the subject.  We keep having issues with all 3.  


Currently we are trying a program from citrix called "xendesktop desktop appliance lock" but the issue is when we log into the PC the citrix client acts as if it is logging the virtual desktop but it just says "connecting to desktop" and it never connects.

Any ideas?
0
 
LVL 123
ID: 37784600
"We keep having issues with all 3." could you expand on this?
0
Cloud Training Guides

FREE GUIDES: In-depth and hand-crafted Linux, AWS, OpenStack, DevOps, Azure, and Cloud training guides created by Linux Academy instructors and the community.

 

Author Comment

by:peoplesbnk
ID: 37787032
If your opinion, which solution (2x or Thinstation) would be best?  Cost isnt a big factor in our decision, we just want something that will work.


Thanks!
0
 
LVL 123
ID: 37787683
2x
0
 
LVL 25

Expert Comment

by:Coralon
ID: 37789379
You can also use PVS servers to boot your PC's directly from a static image that autoconnects to the VM's.  

Coralon
0
 

Author Comment

by:peoplesbnk
ID: 37806384
Alright, besides 2x and thinstation... what else is worth a shot?  We simply want to boot directly to our xendesktop VM's via pxe.
0
 
LVL 25

Expert Comment

by:Coralon
ID: 37806545
The only other option I have seen is to install the Receiver (Enterprise) and use PNAgent as your shell in Windows on the terminal.  It will then connect to the first available published desktop that is available.   When I had seen it done, the customer used a vbscript as the default shell, and the script would start explorer, or pnagent based on the logged in user ID.  I know it is more complicated than it sounds to build, but once it was up and running it was pretty slick.

Coralon
0
 

Author Comment

by:peoplesbnk
ID: 37806612
Coralon,

Would I still be able to lock down the Desktop and when I shut down the VM, will the computer shut down as well?  I want this to be a seamless as possible for the client.


Thanks!
0
 
LVL 25

Expert Comment

by:Coralon
ID: 37806878
In theory, if you do the script correctly it will.   Because your shell is pnagent, there is really not much the user can do.

Basically, you launch the script as your default shell.
The script checks the user name and if it is administrator, it runs explorer, otherwise it runs pnagent (which in turn runs the first available desktop).
The script then checks to see if wfcrun32 is running (the citrix client runtime when it is connected) and if it isn't, it issues a logoff.  Typically, the script would check every 5 seconds.  

The other key is making sure that the shell value for the system points at pnagent.exe.  I'm not sure how that will work with future receivers (Receiver 3.x Enterprise is supposed to be the last version that contains pnagent.exe).. but at this point it works.

Now, you can have the script issue a shutdown to the terminal instead of just a logoff.  However - there is no mechanic that is going to shutdown the terminal if the vm is shutdown.. You'd have to have a 1-1 relationship between the terminal and the VM.  

It *might* be possible to use WorkFlow Studio to build something that might do that, but that's just a guess.

Coralon
0
 

Author Comment

by:peoplesbnk
ID: 37806900
Thank you for your advice Coralon, do you know where I could possibly find some pre-made scripts that I can base my environment off of?  Something like a sample script that is doing what you are describing?
0
 
LVL 25

Expert Comment

by:Coralon
ID: 37807049
I wish I had done it myself, so then I would know exactly how.. I just know I have seen it done.  :-\

I remember the script to a point, but it's been a long time..  it was something like:

option explicit

dim wshShell, sUserName, cProcList, oProcess, oService, bIsRunning

set wshShell = CreateObject ("wscript.shell")
sUserName = wshShell.ExpandEnvironmentStrings("%USERNAME%")

if Lower(sUserName) = "user" then
     wshShell.Run "c:\program files\citrix\icaclient\pnagent.exe", 0, vbFalse
    bIsRunning = vbTrue
    wscript.sleep(2000)
     do
          '<.. not sure about the WMI code here, but should be close ..>
          set oService = GetObject ("winmgmts:")

          for each oProcess in Service.InstancesOf ("Win32_Process")
	If oProcess.Name = "pnagent.exe" then
	     'do nothing
                  else
                       bIsRunning = vbTrue

	End If
          next
          wscript.Sleep(5000)  

     until bIsRunning = vbFalse
else
     wshShell.Run "explorer.exe", 1, vbFalse
endif

set wshShell = nothing
set oService = nothing

Open in new window


Coralon
0

Featured Post

Stack Overflow Podcast - Developer Story

Welcome to the Stack Overflow podcast recorded Thursday July 20 at Stack Overflow Headquearters in NYC. Your hosts today are podcast regulars Jay Hanlon, David Fullerton, and Ilana Yitzhaki, plus the quite irregular Matt Sherman (Stack Overflow Engineering Manager extraordinaire)

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Fine Tune your automatic Updates for Ubuntu / Debian
In this article we will learn how to backup a VMware farm using Nakivo Backup & Replication. In this tutorial we will install the software on a Windows 2012 R2 Server.
Teach the user how to edit .vmx files to add advanced configuration options Open vSphere Web Client: Edit Settings for a VM: Choose VM Options -> Advanced: Add Configuration Parameters:
Advanced tutorial on how to run the esxtop command to capture a batch file in csv format in order to export the file and use it for performance analysis. He demonstrates how to download the file using a vSphere web client (or vSphere client) and exp…

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question