慕雪的小助手正在绞尽脑汁···
慕雪小助手的总结
DeepSeek & LongCat

Mac的hostname在初始化的时候没改,结果Mac的初始化策略神必操作,把我当时的局域网IP设成了hostname,在访达和隔空投送里面看着实在是太丑了,顺手改掉。

1. 起因

Mac 第一次开机配置的时候,如果没手动改电脑名,系统会自作主张把当前连接的局域网 IP 设成 hostname。

然后在访达侧边栏、隔空投送的设备名、终端提示符里,全是那个 IP 地址,属实不雅观。

2. 解决

Mac 的 hostname 其实分三个不同的名字,对应的修改命令也不一样:

名字类型 作用 能不能中文
ComputerName 访达/隔空投送显示的名字 可以中文
LocalHostName 局域网 Bonjour 本地名 不能中文,只能 ASCII
HostName 终端提示符显示的名字(关键!) 建议用 .local 结尾

三条命令一次性搞定:

1
2
3
4
5
6
7
8
9
10
11
# 1. 访达/隔空投送显示的电脑名(可中文)
sudo scutil --set ComputerName "My-MacBook"

# 2. 局域网Bonjour本地名(不能中文)
sudo scutil --set LocalHostName "mymac"

# 3. 终端提示符HostName(关键!缺这个就会变IP)
sudo scutil --set HostName "mymac.local"

# 刷新DNS缓存立刻生效
dscacheutil -flushcache

改完之后用这三条命令确认一下:

1
2
3
scutil --get ComputerName
scutil --get LocalHostName
scutil --get HostName

输出和你设的一样就搞定了。

3. 注意事项

LocalHostNameHostName 不要设成中文,否则局域网发现会出问题,终端提示符也可能显示乱码。

HostName 建议加上 .local 后缀,这是 macOS 的惯例,不加也有可能正常工作,但加了更稳。


The end

有遇到同样问题的同学欢迎评论区交流!