Mac OS X multi-user thin client server (terminal server)?
Is there any solution out there to turn a Mac into a true multi-user thin client server?
I'd like to set up a few cheap PCs with access to a couple accounts using something like VNC, but it isn't economical to buy a new server for each user or a new license for virtualized OS X Server for each user.
I'm fully aware that OS X Server lets you set up users with "network home folders," and I know there's also VNC built into Mac OS X. Neither of these fit the bill (the former requires a thick client, and the latter is single-user only)
UPDATE: yay, Lion! http://www.9to5mac.com/54102/10-7-lion-allows-multi-user-remote-computing
As of OS X Lion this is supported by the built-in Screen Sharing, if you have set up multiple accounts:
Per-user screen sharing
You can remotely log in to a Mac with any user account on that computer and control it, without interrupting someone else who might be using the computer under a different login.
We're happily using a combination of Vine Server for OSX and JollyFastVNC for the clients.
Vine Server provides for a "personal" VNC server instance on a unique port number for each logged in user. The only trick is that the user needs to be already logged into the Mac with VineServer running under their account to be able to VNC in. The solution for the bootstrap problem this introduces is the Vine Server "System Server" that provides a VNC session for the Mac console - and thus, let's any user with access the console session log themselves into the Mac (and thus, start their own private Vine Server instance)
Configuration is relatively easy:
1/ Turn on Fast User Switching so that multiple users can share the Mac.
2/ Log in on the actual Mac console as an admin user that you also want to grant remote access to. Launch Vine Server as that user, and check the "Open at Login" preference.
3/ Open Vine Server Preferences and note the port number assigned to this VNC server instance. Manually re-enter that number to "pin" this instance to that port for subsequent launches. Also recommend that you set the password here for this unique user session.
4/ Go to the Sharing tab and make sure you check "Allow multiple user sessions"
5/ Go to the Startup tab and check the "System Server..." button. Start the system server instance on the default port (5900). This will be your console VNC server to use. (I recommend that you set a password on this)
6/ Close the preferences window and click Restart Server button.
You should now be able to log into two VNC user sessions: one as the Console on port 5900 and one as the admin user you just logged in as.
Now, for each user, have them log in and add Vine Server to their dock and repeat steps 2, 3 and 4 above.
The only two issues we've noted with this are that, if the Mac is power cycled, the System Server won't start automatically. An initial user needs to log in and start it via the UI.
The second issue is that if a user logs in via the remote VNC Console session, their subsequent use of the Mac will be visible in both the console session and their "personal" VNC session. i.e. the console session remains bound to the last logged in user until someone else logs in either remotely or locally. We work around this by opening the remote console session again after logging in and using fast-user switching to "show login window" which seems to force the console session to dissociate again.
JollyFastVNC enter the picture as a bonjour-aware VNC client with a nice "available servers" browser. This offers up the remote Mac "hostname:port" for each running Vine Server instance and the console instance, allowing easy navigation if you can't recall your port numbers.
Hope this helps.
Take a peek at Aqua Connect Terminal Server. It provides multi-user OSX to clients via RDP, VNC, and X11.
Verveguy,
I just set this up using Vine Server, works well.
Since I'm using this computer solely for terminal purposes, I created a script that automatically does a fast user switch once you log in.
#!/bin/bash
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
I put that in a /opt/fastswitch
then in Terminal did,
sudo chmod +x fastswitch
Then for each user, I made fastswitch one of the start up programs in Accounts, [account name], Login Items.
Now, port 5900 always defaults to user login!
If you do this with a user that also uses the computer physically, they will be put in the fast user switch state, where they will have to just relogin again.
Coderebel makes iRAPP Terminal Server. Unlike Aqua Connect Terminal Server (ACTS), the price is listed on the site which is $298 as of this post. iRAPP currently supports Snow Leopard while ACTS says "a fully compatible version... is not currently available at this time." I haven't tried either but wanted to add the info I found to this question.