ssh 远程启用 macos 屏幕共享
一、启用屏幕共享的核心命令
- 停用远程管理服务
远程管理服务与屏幕共享服务互斥,需要关闭:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate
Bash
- 加载屏幕共享服务shell在终端执行以下命令,加载 macOS 内置的屏幕共享守护进程:
bashsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
Bash
- 作用:启动屏幕共享服务并确保其开机自启( -w 参数写入配置)。
- 权限要求:需管理员密码( sudo )。
- 启用远程登录(可选但推荐) 若需通过 VNC 协议连接,需同时启用远程登录:
bashsudo systemsetup -setremotelogin on
Bash
- 作用:允许远程访问(包括屏幕共享和 SSH)。
- 验证状态:执行 sudo systemsetup - getremotelogin 检查是否返回 Remote Login: On 。
⚙️ 二、配置屏幕共享权限(可选)
启用服务后,可通过命令行进一步配置访问权限:
- 设置 VNC 访问密码
bashsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -specifiedUserssudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -clientopts -setvncpw -vncpw 你的密码
Bash
- 说明:第一行限制仅指定用户可访问,第二行为 VNC 连接设置密码(替换 你的密码 )。
- 安全建议:密码需包含大小写字母、数字及符号。
- 允许所有用户访问(简化权限)
bashsudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers
Bash
🔍 三、验证屏幕共享状态
- 检查服务是否运行:
bashsudo launchctl list | grep com.apple.screensharing
Bash
若返回 PID 数字且无错误提示,表示服务已启动。