Restart Screen Sharing Service on Mac mini Server

I'm running Mac OS X (think it's Snow Leopard - 10.6.7) on a Mac mini. I'm trying to connect remotely from an iMac (this has been working fine in the past, for some time). When I click "Share Screen..." in finder on the iMac, I (eventually) see the server's desktop, but it appears to be frozen. However, I've managed to determine (from closing the window and sharing screen again, on repeat) that it IS actually receiving input, just not updating the display.

I can ssh into the server, but how can I restart the screen sharing service?


Solution 1:

I had the same trouble, and to a headless Mini also. This is what I found that worked…

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.screensharing.plist  
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist

I had the opportunity to install an SSD in my Mini, and did a clean install of Lion at that time, and the issue persisted.

I made an alias

alias fixscreen='sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.screensharing.plist &&  sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist'

Solution 2:

OK, managed to find the answer (or, at least, an answer; I'm not quite sure on all the details of this command):

$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users admin -privs -all -restart -agent -menu

As always - be careful when you paste something into terminal - best to inspect the command before running it. Doubly so when sudo is involved.

Solution 3:

Using launchctl unload and launchctl load still works but the commands are now "legacy commands".

Here's a more recent approach that also works with a single command:

sudo launchctl kill KILL system/com.apple.screensharing

This instructs launchctl to kill the screensharing service and then launchctl automatically restarts it after it has exited.