Basically, I have a windows server and a custom application that I'd like to change to linux for security reasons. There's a few layers to the project, and each one needs to be considered individually. 1, the terminal server itself, 2, a custom desktop kinda kiosk style, 3, the kiosk program itself which is currently in 2008. I did all this myself on windows, and I'm not a linux newb exactly, but I've never delved too deep in anything on it.

1- The terminal server, I've seen at least one free terminal server distro, intended for high schools I think. There was another paid distro, but I'd rather stick with a free one. Are there terminal server packages for any regular server distro? But now that I think about it, based on 2 and 3, this may not actually need to be a terminal server, but I also have another terminal server at work that I support that serves up 20 or so desktops to thin clients, and I'd like to put up something similar but free for another kiosk style app we run at work, so any terminal server info would be great.

2- Assuming I can get Internet users to establish a full screen remote desktop connection to #1 above, it needs to authenticate against something (duh) and then log into kinda like a kiosk. On Windows, I edited the registry to replace the shell program from explorer.exe to an app that I wrote. On exiting the app, it would simply re-launch itself, so when the user logs in, they get my app in full screen and nothing else. I would need similar functionality in Linux.

3- The custom app is the hardest part. Mine is currently in 2008, and it's just a simple looking thing that, if you could imagine, it looks like you could operate it with your finger (but you can't). The app is a front end for VMware ESX and makes extensive use of provided in the vmware cli pack to start, stop, reset virtual machines hosted on the esx machine. It also uses the vmware-vmrc.exe remote console plug-in that you get from browsing /ui on an esx server. I also can't have the end users remote desktop directly into the VM's, because the vm's are on a local-only network, ie, no internet. Instead, we rdp into the ts and run remote console over the lan. The app also uses a remote database, which it accesses by making http calls in the background to a coldfusion server, which spits out csv files, which my app then splits up and uses to drive the kiosk choices. What language should I use, which would be a good fit in the context of 1 and 2 above? Also, can I knock out a beta in a month or so, starting from scratch?

In case you're curious, the product we sell is in the networking between the virtual machines, and this system is for demos and training. I'm just scared to death letting customers remote desktop into a windows box. I think it's locked down, with the shell replacement and whatnot, but...

Finally, my daughter wants to add some smiley faces and have me post them, so enjoy:

Anyway, it's late to proof read.. sorry for the novel