Since the Screen Sharing feature seems to be the only one unable to connect, the best way to diagnose its behavior is by using the application directly.
Please, launch screen sharing located in:
/System/Library/CoreServices/ScreenSharing.app
The application has no visible "UI" so don't expect a fancy Cocoa interface. Instead, once you have loaded it, all you'll see is this "poor" icon in the Dock:
Click on it and then go to Preferences in the Mac menu bar. You should be presented with:
Notice the second option to only encrypt passwords and keystrokes. That's fine, but as you can see, there's no option to skip encryption altogether. Some VNC versions have incompatibilities with encryption, but this would be rather shocking since you're talking about OS X vs OS X.
In any case, once you have the settings like that, try connecting, again, in the menu bar: Connection -> New (or ⌘cmd + N).
A simple dialog appears asking you to enter the Host's name. Following your screenshots, try: 192.168.1.99 and hit enter.
We'll see what happens from here. Also, have the Console.app open on both computers, to see if there are any System messages going on (or anything related).
I found the following code in a file I didn't open for a long time. It enables Remote Login on a remote device. Save the script somewhere (from now on referred to as /path/to/script/
). Copy the script to the other device.
tell application "System Preferences" to set current pane to pane "com.apple.preferences.sharing"
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of row 6 of table 1 of scroll area 1 of group 1 of window "Sharing"
end tell
This enables remote login. Now, to disable remote management and enable screen sharing, use the same script, but remove the 3rd line and add these 2 lines:
tell application "System Preferences" to set current pane to pane "com.apple.preferences.sharing"
tell application "System Events" to tell process "System Preferences"
click checkbox 1 of row 7 of table 1 of scroll area 1 of group 1 of window "Sharing"
click checkbox 1 of row 2 of table 1 of scroll area 1 of group 1 of window "Sharing"
end tell
To copy this script on the remote device, use scp
(secure copy). To use scp
type
scp /path/to/script username@IP.of.other.device:/some/path
OR
scp username@hostnameOfDevice:/some/path/
The second option (using the device hostname) requires that the devices are on a computer-to-computer network, so it will not work on a normal wifi network. You will see a prompt requesting the password of username
. When you type the password, you will not see any text appear (obviously to prevent people from seeing the password).
Once it is copied, remotely log into the device:
ssh username@IP.of.other.device
OR
ssh username@hostnameOfDevice
Again, the use of the hostname requires computer-to-computer network. Once logged in, run the script using osascript /some/path/theScript.scpt
(remember that using scp
we copied the script to /some/path
, this will be different on your device). This will disable remote management and enable screen sharing.
Good luck!
Best Answer
Be sure to add the non-admin user/group (depending on if multiple users) to the Remote Management section of Sharing in System Preferences to allow access.
(Thanks Guy!)