Как изменить имя компьютера, чтобы терминал отображал его в Mac OS X Mountain Lion? [дубликат]

Когда я настраивал свой компьютер, я назвал его «MacBook Pro Скотта». И поэтому, когда я захожу в «Системные настройки» -> «Общий доступ», в качестве имени моего компьютера там написано «MacBook Pro Скотта». Однако открытие терминала дает мне это приглашение:

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

Когда я вхожу в Backblaze, мой компьютер отображается как «новый хост‑4_2012_10_07». Я не полностью установил имя своего компьютера? Должен ли я использовать традиционную hostnameкоманду?

Насколько мне известно, это то, о чем сообщает DNS. Если у вашего IP-номера нет имени, используется имя из настроек (возможно, .localдомен))
@ ThorbjørnRavnAndersen - мой домен .local в настройках общего доступа был scotts-macbook-pro.local

Ответы (8)

Если вы используете:

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.
У меня сработало после запуска этой команды и перезагрузки терминала.
Работал как шарм
Это работает для меня, но после перезагрузки он сбрасывает имя хоста в терминале до того, что было до того, как я его изменил.
Работает в Мохаве. Терминал показывался emulator02, хотя я изменил его в настройках или пытался. Я просто запустил все три поддерживаемых параметра и перезапустил терминал; теперь я могу получить правильное имя хоста.

Следуя совету Джеффри Дж. Гувера ,

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

Я бы добавил эти последние два шага.

  • Очистите кеш DNS, набрав:dscacheutil -flushcache
  • Перезагрузите Mac.

РЕДАКТИРОВАТЬ: у меня это не сработало, пока я не перезапустил свой Mac.

Вы бывший пользователь Windows, продолжающий практику перезагрузки после каждого небольшого изменения, или у вас действительно есть доказательства того, что перезагрузка необходима?
@iconoclast В последний раз Windows использовалась в основном в 2004 году. Перезагрузка помогла мне и еще 16 людям. Не повредит.
Это значит, что он не работал, пока вы не перезапустили? (Перезапуск может причинить боль, когда вы на самом деле выполняете серьезную работу на своем компьютере и, следовательно, у вас открыто множество приложений. Вернуть все, что было до перезагрузки, может быть *****.) Кроме того, тот факт, что 16 человек нашли некоторые часть вашего ответа полезна, это не значит, что ничего не работало, пока они не перезапустились.
Да, не работало, пока я не перезапустил. Спасибо за информацию; не знала, что это может быть вредно.
У меня работало без перезагрузки, просто полностью выйдите из терминала и снова откройте.
Я впервые scutil --getобнаружил это ComputerNameи LocalHostNameбыл правильно настроен с помощью Системных настроек (Общий доступ). Однако мне сказали, что HostNameэто так not set. Таким образом, я просто использовал sudo scutil --setдля того, чтобы установить HostName. Затем мне не нужно было использовать dscacheutilили выполнять перезагрузку, так как сразу же проверка hostnameпоказала, что для меня все было исправлено, а открытие новой вкладки «Терминал» показало, что мое приглашение теперь тоже исправлено. (ОС Х 10.9.4)
Вам даже не нужно перезапускать терминал, чтобы отразить изменения, просто укажите конфигурацию, отвечающую за ваше приглашение.
Зачем нам очищать кеш DNS?

Для тех, кто не ищет решение командной строки, вы можете изменить его в разделе

System Preferences -> Sharing -> Computer Name: 
Это не сработало для меня. Имя в командной строке терминала по-прежнему оставалось какlocalhost
Вы перезапустили терминал?
Мне пришлось перезапустить Терминал, но это был самый простой способ.
У меня это не сработало, потому что Терминал продолжал показывать старое имя. Но ответ Джона решил это - в Мохаве.
Catalina требует перезагрузки после следующей процедуры. Переименование хоста успешно
Это самое простое и лучшее решение. Это просто требует перезагрузки, как только вы закончите
Да, это лучше всего, потребовалось 10 секунд, снова открылось новое окно терминала.

Вы можете определить, что вы хотите видеть перед $в вашем терминале, изменив файл ~/.profile.

Например, если вы добавите в файл ~/.profileследующую строку:

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

вы увидите имя хоста и полный путь к текущему каталогу:

host_name:current_directory_path$

Вы также можете изменить мой пример, используя следующие параметры в команде экспорта:

\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? Он сказал, что не может видеть имя хоста в Терминале.
не был ли я с -1 :). Спасибо за ваш ответ, я думаю, я не просто ищу, как изменить свое имя в терминале, но, очевидно, на мой компьютер все еще ссылается уродливое имя new-host-4, поскольку его используют такие службы, как Backblaze. У моего предыдущего MacBook Pro было более красивое имя, которое я выбрал, я не знаю, почему мой MacBook Pro с горным львом не использует имя, которое у меня есть в настройках общего доступа.

Вы можете запустить

sudo hostname Name-Of-My-Computer

в Терминале, чтобы изменить имя.

На справочной странице для имени хоста написано, что нужно запустить scutil --set HostName name-of-host, если вы хотите сохранить имя хоста при перезагрузке.
Для меня это работало очень хорошо, даже перезагружая компьютер. Спасибо.
Это сработало для меня после того, как я перезапустил свой Mac (запустив El Capitan)

В моем случае я обнаружил, что это была проблема с нашим DNS-сервером, поскольку обратный поиск DNS не очищал, потому что были дублированные записи DNS для IP-адреса и имени хоста.

Я ничего не делал со своим компьютером, но в конце концов по какой-то причине имя хоста и имя компьютера были зарегистрированы как имя, которое я изначально установил! На самом деле у меня все время был открыт следующий терминал, и это именно вырезка и вставка:

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local

Я добавляю ответ здесь, потому что недавно столкнулся с этой проблемой.

В OSX 10.7.4 и, возможно, более ранних версиях появляется ошибка в параметре «Редактировать имя хоста» на панели настроек «Общий доступ». Он устанавливает имя хоста в последний набор вместо текущего этого набора.

Пришлось бегать sudo hostname [preferred hostname], чтобы правильно настроить, предварительно выставив в Sharing.