苹果笔记本无图形界面下安装.dmg需全程终端操作:先检查hdiutil存在性,创建~/Applications目录,用curl下载.dmg,hdiutil attach挂载,cp -R复制.app到目标目录,hdiutil detach卸载,最后绕过Gatekeeper首次运行。

苹果笔记本需要在无图形界面(如SSH远程登录、恢复模式或自动化部署)下安装.dmg软件包,必须跳过双击挂载的图形操作,全程使用终端命令完成下载、挂载、复制、卸载全流程。
准备与前提检查
打开“终端”,执行which hdiutil确认系统已内置该工具——macOS 10.15及以上版本均自带,无需额外安装。若返回空行,请先检查系统是否为完整版macOS(精简版或某些虚拟机镜像可能缺失)。
确保当前用户对目标安装目录有写入权限:【若要安装到/Applications需管理员密码;安装到~/Applications则无需sudo】。后者更安全,适合非系统级用户或CI环境。
创建用户级应用目录(如尚未存在):mkdir -p ~/Applications。这一步不可跳过,否则后续cp会报“no such file or directory”错误。
下载并挂载DMG文件
进入下载目录:cd ~/Downloads。
方法一:已知URL时直接下载
执行curl -LO https://example.com/app.dmg(将URL替换为真实地址)。注意:部分网站会重定向,建议加-L参数跟随跳转;若下载中断,可加-C -续传。
方法二:已有.dmg文件在本地
跳过下载,直接进入挂载步骤。
挂载镜像:hdiutil attach app.dmg。成功后终端会输出类似/dev/disk2s1 /Volumes/AppName的路径——【务必记下/Volumes/后的卷名,后续所有操作都依赖它】。若提示“resource busy”,说明同名卷已挂载,先执行hdiutil detach /Volumes/AppName再重试。
复制应用到指定位置
第一步:确认挂载卷中.app文件名
执行ls /Volumes/AppName/,找到以“.app”结尾的文件夹(如MyApp.app)。注意:有些DMG内含子目录(如“Install”文件夹),需先进入该目录再找.app。
第二步:复制到用户应用目录(推荐)cp -R "/Volumes/AppName/MyApp.app" ~/Applications/。这里用-R确保递归复制整个程序包;引号防止路径含空格时报错。
第三步:若坚持安装到系统级/Applications
执行sudo cp -R "/Volumes/AppName/MyApp.app" /Applications/,随后输入管理员密码(输入时无显示,输完直接回车)。
⚠️ 注意:复制完成后不要立刻卸载卷——先验证文件是否完整。可执行ls -l ~/Applications/MyApp.app,确认大小不为0且有Contents子目录。
卸载DMG并清理
卸载挂载卷:hdiutil detach /Volumes/AppName(AppName替换成实际卷名)。成功后终端显示“detached”。
删除下载的.dmg文件(可选):rm app.dmg。这一步不是必须,但能释放磁盘空间,尤其批量安装时建议执行。
首次运行应用前,需绕过Gatekeeper限制:打开“系统设置”→“隐私与安全性”→下滑到“安全性”板块,在“已阻止”的条目旁点击“仍要打开”。


















