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.

  • 2
    is the client available for pc or only from mac os? Mar 9 '12 at 3:53
  • Good question, @Ricardo. I think I tested access from Windows (VNC client) once, but I don't recall the results. I will test again, soon. To be continued...
    – Arjan
    Mar 9 '12 at 10:57
  • 1
    No luck using an old XP box, @Ricardo, see Can a Mac be used by multiple users at same time? I do recall testing earlier with Windows running in a VM on a Mac, (sometimes) getting some Droste effect/endless loops. I think those tests were more successful (like: I think some of those tests really gave me a separate session, then not giving me any Droste effect either), but my memory fails me... See the links in the post I linked to.
    – Arjan
    Mar 11 '12 at 14:03
  • How do you accomplish this when the client is running a pre-Lion version of OS X? (Server running Mountain Lion)
    – Michael
    Apr 28 '13 at 18:13

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.

  • 2
    Nice! As the creators of Vine Server only talk about Tiger at testplant.com/multidesktop.html, can you tell which version of Mac OS you used for this?
    – Arjan
    Mar 30 '10 at 10:08
  • 1
    Wow!! Lion-like sharing with Leopard/Snow Leopard computers! I can't tell you how excited I am about this!
    – daviesgeek
    Sep 7 '11 at 18:08
  • Worked like a charm in os x 10.6... except that the Spanish keyboard of my Windows box wouldn't sent letter "i" to the Mac. Known old issue sourceforge.net/tracker/… Sad me
    – xverges
    Feb 16 '13 at 8:04

Take a peek at Aqua Connect Terminal Server. It provides multi-user OSX to clients via RDP, VNC, and X11.

  • Looks like it costs a bit (around $250 per concurrent user last time I checked), though they are said to be releasing a cheaper "non concurrent" version sometime soon...
    – rogerdpack
    Feb 2 '11 at 18:08


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.

/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.

  • It's now $358.00 for 2 users. Sounds like a miserable price to me. You could almost buy a second Mini for that, and you'd have less contention for computer resources.
    – iconoclast
    Nov 24 '14 at 16:15

You can probably run several instances of VNC server, too, which I guess is similar to vine, suggested above. Appears you may have to aquire a license to be able to do this with realVNC in mac OS X, though the Linux "multiple instance" version is free.

Using built in remote sharing with a tightvnc client may require setting the encoding to "hextile" as well: http://blandname.com/2006/11/03/how-to-connect-to-a-mac-remote-desktop-using-vnc

Also note that some people have reported "more" success by using remotix as their client from windows to OS X lion: https://discussions.apple.com/thread/3190260?start=180&tstart=0

Not the answer you're looking for? Browse other questions tagged or ask your own question.