我正在开发一个需要在我的系统上运行 VNC 服务器的项目(Mac OS X v10.8)。
VNS 服务器安装在我的 Mac 系统中,现在我需要运行 VNC 服务器,但要运行服务器,需要以编程方式或使用 Apple 脚本提供足够的权限(系统偏好设置 -> 共享 -> 远程管理 -> 启用复选框) .
如何通过目标 c 程序或苹果脚本启用远程管理?或者 Apple 是否提供任何 API 来管理共享选项?
我正在开发一个需要在我的系统上运行 VNC 服务器的项目(Mac OS X v10.8)。
VNS 服务器安装在我的 Mac 系统中,现在我需要运行 VNC 服务器,但要运行服务器,需要以编程方式或使用 Apple 脚本提供足够的权限(系统偏好设置 -> 共享 -> 远程管理 -> 启用复选框) .
如何通过目标 c 程序或苹果脚本启用远程管理?或者 Apple 是否提供任何 API 来管理共享选项?
kickstart
您可以使用该命令启用和配置远程管理服务。它不在通常的 PATH 中,因此您需要指定其完整路径:
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart
它的选项格式有点神秘,但是通过一些实验你应该能够得到你想要的效果(参见Apple 的 KB #HT2370和SS64.com 的“手册页”)。
此外,它必须以 root 身份运行,因此从 AppleScript 中使用do shell script with administrator privileges
. 我认为你需要一些接近这个的东西:
do shell script "/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all" with administrator privileges