MacOS – How Do I Disable Remote Management and Enable Screen Sharing

macosremote desktopscreen-sharingssh

I am connected to a headless remote Mac Mini. Under Sharing in the System Preferences both Remote Login and Remote Management are checked though Remote Mangement is "grayed out". I would like to disable Remote Management and enable Screen Sharing.

Currently the Screen Sharing checkbox is "grayed out". When I click on it, I get the following message: "Screen Sharing is currently being controlled by the Remote Management service." This warning to not continue makes sense if I would lose my current VNC connection and not be able to turn it back on remotely.

To access the remote server I Connect to Server (command-k) vnc://IPnumber

I would like just Remote Login and Screen Sharing enabled and Remote Management disabled.

Does anyone know the steps for me to accomplish this goal remotely?

Best Answer

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!