Mac修改主机名需用scutil分别设置ComputerName(访达显示)、LocalHostName(Bonjour服务,自动加.local)、HostName(SSH登录用),修改后须执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder刷新缓存并验证。
可以直接用 scutil 命令修改,它能分别设置三种名称:共享名称(computername)、本地主机名(localhostname)和网络主机名(hostname)。三者作用不同,改错一个可能影响文件共享、airdrop 或终端远程登录等功能。
共享名称(显示在“访达”侧边栏和“共享”面板顶部)
这是你在局域网中被其他设备直观看到的名字,比如“张三的MacBook”。它支持中文和空格,但建议避免特殊符号。
- 查看当前值:
scutil --get ComputerName - 修改为“Studio-Mac”:
sudo scutil --set ComputerName "Studio-Mac"
本地主机名(Bonjour识别用,用于AirDrop、隔空播放、SMB共享等)
这个名称会自动加 .local 后缀,空格转为连字符,不区分大小写。系统通常根据 ComputerName 自动生成,但可手动覆盖。
- 查看当前值:
scutil --get LocalHostName - 修改为
studio-mac:sudo scutil --set LocalHostName studio-mac - 注意:不能带空格或点号,也不能以数字开头,例如
2studio会被拒绝
网络主机名(用于SSH、远程登录、终端直连等场景)
这个是传统 Unix 风格的主机名,不带 .local,常用于命令行环境或服务器配置。默认与 LocalHostName 一致,但可独立设置。
- 查看当前值:
scutil --get HostName - 设为
studio.local(推荐带 .local 便于 mDNS 解析):sudo scutil --set HostName studio.local - 如果清空该值(恢复为未设状态),运行:
sudo scutil --set HostName ""
改完后要刷新DNS缓存并验证
修改不会立即生效到所有服务,尤其 macOS 的 mDNS 缓存较顽固。
- 刷新本地 DNS 缓存:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - 验证是否生效:
hostname(返回 HostName)、scutil --get ComputerName、ping -c1 studio-mac.local(应能通) - 重启“访达”或登出再登录,确保共享服务重新注册名字











