如何更改计算机名称,以便终端在Mac OS X Mountain Lion中显示它?[重复]


245

这个问题已经在这里有了答案:

设置计算机时,我将其命名为“ Scott的MacBook Pro”。因此,当我转到“系统偏好设置”->“共享”时,它说斯科特的MacBook Pro是我的计算机名。但是,打开终端会提示我:

Last login: Sun Oct  7 11:02:49 on ttys003
new-host-4:~ scott$ 

当我登录Backblaze时,他们将我的计算机列为“ new‑host‑4_2012_10_07”。我没有完全设置计算机名称吗?我应该使用传统hostname命令吗?


2
据我所知,这就是DNS报告的内容。如果您的IP号码没有名字,从首名被使用(也许是.local域))
托尔比约恩Ravn的安徒生

@ThorbjørnRavnAndersen-我的“共享”首选项中的.local域是scotts-macbook-pro.local
2012年

Answers:


297

如果您使用:

sudo scutil --set HostName name-you-want

它将工作得更好。在scutil(8)手册页中:

--get pref
    Retrieves the specified preference.  The current value will be
    reported on standard output.

    Supported preferences include:
          ComputerName   The user-friendly name for the system.
          LocalHostName  The local (Bonjour) host name.
          HostName       The name associated with hostname(1) and gethostname(3).

--set pref [newval]
    Updates the specified preference with the new value.  If the new value is not
    specified on the command line then it will be read from standard input.

    Supported preferences include: ComputerName LocalHostName HostName

    The --set option requires super-user access.

4
在运行该命令并重新启动终端后为我工作。
Johnathan Elmore 2014年

发挥魅力
Hos Mercury

这对我有用,但是在重新启动后,它将终端中的主机名重置为更改之前的主机名。
jwir3

在莫哈韦沙漠工作。emulator02即使我在设置中进行了更改或尝试,该终端仍在显示。我只运行了所有三个受支持的首选项并重新启动了终端;现在我可以正确获取主机名了。
丹尼尔

126

在遵循Jeffrey J. Hoover的提示后

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"

我将添加最后两个步骤。

  • 通过键入以下内容刷新DNS缓存: dscacheutil -flushcache
  • 重新启动Mac。

编辑:在我重新启动Mac之前,它对我不起作用。


2
@iconoclast Last在2004年主要使用Windows。Restarting对我和其他16个人有用。不会受伤。
Danger14,2014年

10
意味着直到重新启动它才起作用?(当您实际上在计算机上进行认真的工作时,重新启动可能会很受伤,因此会打开许多​​应用程序。将所有内容恢复为重新启动之前的状态可能是一个*****。)此外,有16个人发现了一些事实对您的回答有所帮助的部分并不意味着在重新启动之前没有任何作用。
iconoclast

15
为我工作而无需重新启动,只需完全退出终端并重新打开即可。
亚历山大·威格莫

7
我首先scutil --get发现这一点,ComputerName并且LocalHostName已经使用“系统偏好设置”(共享)进行了正确设置。但是,它告诉我那HostNamenot set。因此,我只是sudo scutil --set为了设置HostName。然后,我不需要使用dscacheutil或重新启动,因为立即检查hostname发现事情已经为我解决了,打开一个新的终端标签显示我的提示现在也已修复。(OS X 10.9.4)
Quintin Willison 2014年

4
您甚至不需要重新启动终端即可反映所做的更改,只需提供负责您的提示的配置即可。
Steve Buzonas 2015年

43

对于那些不希望使用命令行解决方案的用户,可以在以下位置进行更改

System Preferences -> Sharing -> Computer Name: 

13
这对我不起作用。终端命令提示符下的名称仍为localhost
timurb 2014年

5
您是否重启了终端?
2013年

我不得不重启终端,但这是最简单的方法。
skybondsor

这对我不起作用,因为Terminal始终显示旧名称。但是,约翰的回答确实解决了-在莫哈韦沙漠上。
Rehmat

21

您可以$通过修改文件来定义要在终端中看到的内容~/.profile

例如,如果~/.profile将以下行添加到文件中:

# h is the host name, w the complete path 
export PS1="\h:\w$ "

您将看到主机名和当前目录的完整路径:

host_name:current_directory_path$

您还可以通过在export命令中使用以下选项来修改我的示例:

\d – Current date
\t – Current time
\h – Host name
\# – Command number
\u – User name
\W – Current working directory (i.e: Desktop/)
\w – Current working directory, full path (i.e: /Users/Admin/Desktop)

为什么是-1?他说他在终端中看不到它的主机名。
Maverik

4
我不是-1 :)。谢谢您的回答,我想我不仅在寻找如何在终端中更改我的名字的方法,而且很显然,新主机4的丑陋名称仍引用了我的计算机,因为Backblaze之类的服务正在使用它。我以前的MacBook Pro具有一个更好的名称,我不知道为什么我的山狮MacBook Pro没有使用我在“共享”首选项中使用的名称
2012年

8

你可以跑

sudo hostname Name-Of-My-Computer

在终端更改名称。


7
主机名的手册页说scutil --set HostName name-of-host如果您希望在重新引导期间保留主机名,则可以运行
daviewales

对我来说,它工作得很好,甚至重新启动计算机也是如此。谢谢。
Brynner Ferreira 2014年

这为我工作,我重新启动我的Mac(运行埃尔卡皮坦)之后
的Jader费若

7

以我为例,我发现这是我们的DNS服务器的问题,因为反向DNS查找没有进行清除,因为IP地址和主机名存在重复的DNS条目。


2

我在这里添加一个答案,因为我最近也遇到了这个问题。

在OSX 10.7.4甚至更早的版本中,“共享”首选项面板中的“编辑主机名”选项中似乎存在一个错误。它将主机名设置为最后一个设置,而不是当前的设置。

sudo hostname [preferred hostname]在“共享”中对其进行设置后,我必须先运行才能正确设置它。


1

我没有对计算机执行任何操作,但是由于某种原因,最终主机名和计算机名全部注册为我最初设置的名称!实际上,我一直在打开以下终端,这完全是剪切和粘贴:

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.