当我打开终端时,我希望它能显示我的PS1设置为\h:\W \u\$
。
但是,它没有显示我的主机名Eriks-MacBook
,如系统偏好设置中所示。
相反,它显示了一个随机字符串unknownb88d120cd4b2
。
如何修复或重置?
这台机器是全新的,首选项/设置未更改。
当我打开终端时,我希望它能显示我的PS1设置为\h:\W \u\$
。
但是,它没有显示我的主机名Eriks-MacBook
,如系统偏好设置中所示。
相反,它显示了一个随机字符串unknownb88d120cd4b2
。
如何修复或重置?
这台机器是全新的,首选项/设置未更改。
Answers:
终端将显示BSD主机名的第一个标签(假设您的shell是BASH)。如果您的BSD主机名是,yourhostname.mynetwork.com
那么终端将仅显示yourhostname
-
那么BSD主机名从何而来?它可以来自几个地方:
•来自文件: /etc/hostconfig
•从其他文件:/Library/Preferences/SystemConfiguration/preferences.plist
(系统▸系统▸主机名)
•否则,对主IP地址进行反向DNS查询的结果(因此,您访问网吧时可能会发现与在家连接时显示的主机名完全不同)
•否则在“ 系统偏好设置”>“共享”中preferences.plist
再次输入“ Bonjour”主机名(再次... 系统▸网络▸主机名▸LocalHostName)
•最后,如果未设置上述任何一项,则BSD主机名将简单地 localhost
顺便说一句,我刚才在这里回答了同样的问题:Mac OS X Terminal-提示名称从何而来
OS X尝试了多种方法来找到其“主机名”。不幸的是,我不知道确切的列表(和顺序),但是我认为这里正在发生的事情是,它发现一个与其IP地址相关联的DNS名称,并使用该名称代替Bonjour名称为其自身做广告(共享首选项)。
那么为什么要查找DNS名称呢?我的猜测是您的本地路由器/ DHCP服务器/ DNS服务器正在根据其以太网硬件地址(大概是b8:8d:12:0c:d4:b2)动态为其分配一个地址。您可能可以调整路由器的设置以停止此操作,或者可以设置计算机的DHCP客户端ID(在“网络偏好设置”中的“高级”设置中)以控制它为您分配的名称。
不知道您是否仍然遇到问题,这似乎在优胜美地和塞拉之间的某个时间已解决。
对于新计算机,我从共享系统偏好设置开始,输入[新名称]作为所需的计算机名称。我还在每个网络接口的所有活动DHCP客户端ID字段中输入[新名称]。完成后,我打开Terminal确认它报告了类似的名称,不允许使用某些字符,因此系统将在必要时修改名称。您可以按照以下步骤更改名称,只需将[新名称]块替换为所需的计算机名称即可。
如果该名称不符合我的喜好,则在将其绑定到Active Domain之前,请继续进行上述操作。
hostname
提示中输入,然后按Enter。你得到了什么?