sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
The commands in this article work with Apple Remote Desktop 3.2 and later.
Restart the ARD Agent and helper:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
Turn on Remote Desktop Sharing, allow access for all users, and enable the menu extra:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -allUsers -privs -all -clientopts -setmenuextra -menuextra yes
Turn on Remote Desktop Sharing, allow access for specified users:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -allowAccessFor -specifiedUsers
You must use the -configure, -access, and -privs options in a separate command to specify the set of users and their access privileges. For example, this command is for users with the short names "teacher" and “student." It gives them access to observe (but not control) the computer, and to send text messages:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -users teacher,student -access -on -privs -ControlObserve -ObserveOnly -TextMessages
Unlike other kickstart options, you can’t combine the allowAccessFor options with other kickstart options. You must use it as in the last two samples above. You might have to call kickstart more than once to finish a computer’s setup. Remove access privileges for specified users ("student" in this example):
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -users student -access -off
Disable ARD Agent and remove access privileges for all users:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off
So the commands about didn't help me right away post updating to macOS 13/14 (would probably break with 12 too). VNC was working but streaming a black screen over network.
This was happening on the boxes hosted via MacStadium and when they toggled it via the local keyboard, it started working again.
I think the problem was with
Full Disk Access
(it's underPrivacy & Security
in modern OS versions).I was using Ansible to run the update scripts, which relies on the presence of Python. macOS 12.3 removed Python (2.7) from their distribution, with no replacement offered. So I provision it first, also via Ansible (
ansible-playbook samdoran.macos.bootstrap -e target_hosts=macstadium-hostname
).Once it's there, Ansible is usable. But the Python binary is not the same as the one provided earlier. It's Python 3, for one. It's also in a different location.
The gotcha was that adding
/usr/bin/python3
toFull Disk Access
allowed Ansible modules that are executed by that interpreter to actually influence the system settings, including allowing screenshare.That's my theory, at least. Posting it here for people landing on this page from Google search.