需用scutil命令统一设置ComputerName、LocalHostName和HostName三类名称,确保一致且符合格式要求,再刷新缓存验证生效。

当你在Mac终端里看到提示符显示为“user@unknown”或一串乱码主机名,说明系统没能正确读取或保存设备名,此时必须通过终端命令直接写入配置,否则每次新开终端都会复现这个问题。
先确认当前三类名称状态
打开终端,依次执行以下三条命令,查看ComputerName、LocalHostName、HostName各自当前值:
scutil --get ComputerName → scutil --get LocalHostName → scutil --get HostName
这一步不能跳过。如果三者不一致,后续修改可能只生效一部分,导致隔空投送显示一个名、SSH登录用另一个名、Finder侧边栏又显示第三个名。尤其注意LocalHostName必须是纯小写字母+数字+连字符,否则Bonjour服务会拒绝广播。
用scutil一次性设齐三个名称
执行以下三条命令(顺序不可颠倒),把引号内的示例名替换成你想要的名称:
sudo scutil --set ComputerName "创意工坊"
sudo scutil --set LocalHostName "chuangyigongfang"
sudo scutil --set HostName "chuangyigongfang.local"
【ComputerName可含中文和空格,但LocalHostName和HostName必须用小写字母、数字、连字符,且不能以连字符开头或结尾】。输入每条命令后需键入管理员密码(输入时无光标反馈,输完直接回车)。
刷新系统缓存并验证
第一步:运行 dscacheutil -flushcache 强制清空DNS缓存,让新LocalHostName立即在网络中可见;
第二步:关闭当前终端窗口,重新打开一个终端;
第三步:执行 hostname 命令,输出应为你刚设的HostName(如 chuangyigongfang.local);
第四步:在访达侧边栏→“网络”下查看本机图标名称,应同步更新为“创意工坊”。

















