Mac OS X remote desktop hangs at login screen - how to resolve

Friday, 4 May 2012 05:34 by Krumelur

Trying to use VNC or ARD client to connect to your Mac running Mac OS X Lion at work and all you get is the login screen, but you cannot type anthing?

If this sounds familiar to you, you're probably facing a dead Apple Remote Desktop (ARD) server on the other end of the line.

There are various ways to fix this problem:

  • Login to the Mac, enable, disable and enable again remote desktop services. This requires you to have access to the Mac - well, you haven't, you sit at home, staring at the blocked login screen.
  • If you're using an iMac, switch it off and back on (no need to hold the button long to make it power cycle, just a quick tap for off and one for on is enough) using the hardware button located bottom right on the back of the iMac. You can do this if your arms are long enough to reach your Mac at work from your home desk.
  • Call somebody at work to perform either one of the two steps above (but then they will probably make jokes on you, saying that Windows remote desktop never has that problem and is much faster too - since they are absolutely right about this fact and we know that VNC sucks compared to RDP, you will refrain from that option too. 

The solution if there is nobody reachable to help you out

So what else can we do then? There is one last chance. It requires you to have remote SSH enabled. To enable it, go to System Preferences -> Sharing -> Remote Login and tick the checkbox (in the German version it is Systemeinstellungen -> Freigaben -> Entfernte Anmeldung).
Yes, this will also require you to have physical access to the remote Mac or remote access - at least once. So next time you log in, just turn that option on! It will make your life easier.
With Remote Login enabled, you'll be able to use SSH against your remote Mac. This will work even if remote desktop is broken.

Fire up a Terminal window and open an SSH connection to your Mac:
  • ssh remoteusername@192.168.111.111 - if you want to specify a specific port, use ssh -p 2222 remoteusername@192.168.111.111
  • Terminal might ask you to confirm that you want to connect. It actually wants you to type "yes". Do it.
  • Now you should have a remote SSH connection and can use the command line to control your Mac at work.
Once you have access to the command prompt, you can try to:
  • Restart ARD server: sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
  • If that does not help, reboot your Mac: sudo /sbin/shutdown -r now
If you need it to reboot, wait patiently until it has come back and then reconnect using VNC or ARD client.