Turn off desktop screen/keyboard when connecting via VNC? [duplicate]

OS X Lion added per-user screen sharing: the ability to have multiple remote desktop sessions active on a single Mac at the same time. It's not a perfect solution, but you may find it good enough for your case.

When you connect to your Mac via Screen Sharing make sure the session is in Control Mode, not View Mode. You can switch modes by pressing Cmd+Option+X in the Screen Sharing app.

Once in Control Mode, look under the View menu and you should see an entry that says "Switch to Virtual Display". Select that to change the session to a virtual display, not the current desktop display, and log in as yourself.

The main display on your iMac should go to sleep according to your screen saver and energy settings once you've disconnected your remote session from the physical display and moved it to a virtual display.

The only flaw in this approach is I know of no way to start Screen Sharing on a virtual display from the get go. So the initial connect always wakes up the physical display.

Update for Mavericks

The "Switch to Virtual Display" option in the Screen Sharing app went away in Mavericks. Instead, upon connecting to the other Mac with Screen Sharing:

If someone else is already connected to the Mac as a remote user, a dialog asks if you want to share the display with the other remote user (Share Display), or log in concurrently using a different user name and screen (Log In). Choose the option you want.

If you choose Log In, you will share the Mac with the other remote user, but you won’t share the same screen.

Here's an example. In this case I tried to connect a Screen Sharing session from my iMac to my wife's MacBook Pro where she was already logged in. This is the dialog I get when trying to connect:

Screen Sharing in Mavericks


Here's a dirty way to do this (since the Virtual Desktop option is only available when there's more than 1 person logged in): On the Mac you want to access, create a Guest User account, and log on this account. When you screen share to this Mac, it'll ask you if you want to share the display or connect to a virtual display. Choose the latter. The Guest User account will be the one that's displayed on the Mac screen.


This is not a perfect solution but I believe this is a best solution so far.

My use case is to use iMac remotely from my Windows 7 laptop.

Here is my solution.

You need the following things.

  1. Vine VNC Server from http://www.testplant.com/products/vine/vine-server/. You need another VNC server to make another private display.
  2. Wake Up Me On utility from http://www.nirsoft.net/utils/wake_on_lan.html. This is a windows utility but I think there is a similar one for OS X.
  3. Turn on “Wake for network access” on Energy Saver of System Preferences and set Computer sleep to Never. if this is not never, iMac goes to sleep shortly after VNC connecting.
  4. You may need to activate Fast User Switching.

Here are the steps.

  1. Install Vine VNC server. (actually copy it to somewhere in your Mac)
  2. Launch Vine VNC Server and open preference of the VNC server and go to connection
  3. Select 1 from Display Number and enter 5901 to the port. Do not use 0 as the display number. Display 0 means the main console. i.e. the monitor.
  4. Set the VNC password.
  5. Start Vine VNC server.
  6. Launch VNC client. I am using Real VNC viewer but it does not matter.
  7. Type your mac host name or IP address and :1 (1 means the display number) For example, if your mac host name is iMac or the IP address is 192.168.1.20, this will be iMac:1 or 192.168.1.20:1
  8. Check if everything is working well and then close the VPN client.
  9. Switch to Logon window.
  10. Sleep iMac by clicking Sleep on the bottom <- this is very important. Just turning off the monitor using Ctrl-Shift-Eject does not work.
  11. Wake up the iMac using the Wake Up Me On utility.
  12. Connect to iMac again.
  13. Now you can use iMac and the monitor is still off.

The key to this solution is to sleep iMac when you leave and wake it up through network access (iMac works as normal after waking up but the monitor is still off) so this may not work outside of a local network.

(I have confirmed this works on a iMac 27-inch Late 2012 with Mountain Lion).