必须用终端命令scutil --set localhostname重设bonjour局域网主机名(全小写、无空格、不以数字开头),再执行dscacheutil -flushcache和sudo killall -hup mdnsresponder刷新缓存,否则airdrop等服务仍显示旧名。

要让其他Mac或iOS设备在AirDrop、文件共享、打印机发现列表里准确显示你的Mac新名字,必须用终端命令重设Bonjour局域网主机名(LocalHostName),仅改图形界面名称无效,系统仍会广播旧名。
确认当前LocalHostName
打开终端,执行命令查看当前Bonjour局域网名:
scutil --get LocalHostName
这一步不能跳过。如果返回的是“Macintosh”,说明你从未手动设置过,后续修改后需特别注意缓存刷新是否到位。
用sudo scutil强制设置LocalHostName
LocalHostName是Bonjour服务唯一识别你的依据,必须满足三项硬性要求:【全部小写字母、无空格、无中文、不以数字开头】,例如“mydeskmac”合法,“MyDeskMac”“my desk mac”“1deskmac”均会失败且不报错,导致AirDrop列表仍显示旧名。
输入以下命令(将“mydeskmac”替换成你选定的合规名称):
sudo scutil --set LocalHostName mydeskmac
输入管理员密码时屏幕完全不显示字符,包括星号——这是正常现象,输完直接按回车即可。
刷新mDNS缓存使新名立即生效
修改后不会自动广播,必须手动刷新本地多播DNS缓存:
第一步:清空系统DNS缓存
dscacheutil -flushcache
第二步:重启mDNSResponder服务,确保Bonjour重新注册新名
sudo killall -HUP mDNSResponder
这两步缺一不可。只执行第一步,其他设备可能仍ping不通;只执行第二步,旧缓存残留会导致部分服务(如隔空投送)延迟数分钟才更新。
验证新LocalHostName是否被局域网识别
方法一:本地测试是否解析成功
ping -c1 mydeskmac.local(把mydeskmac换成你设的名称)
方法二:跨设备验证真实可见性
在另一台Mac或iPhone的“隔空投送”接收选项里查看是否出现新名称;若仍显示“Macintosh”,说明LocalHostName未生效或缓存未刷新干净。
方法三:命令行查服务广播状态
dns-sd -G v4 mydeskmac.local(返回IP地址即表示Bonjour已正确广播)











