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

245

На этот вопрос уже есть ответ здесь:

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

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

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

AT01
источник
2
Насколько мне известно, DNS сообщает об этом. Если ваш IP-номер не имеет имени, используется имя из Предпочтения (возможно, .localдомена)
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - мой домен .local из настроек «Общий доступ» был scotts-macbook-pro.local
01

Ответы:

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

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

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

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

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

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

Danger14
источник
2
@iconoclast Последний раз использовал Windows в 2004 году. Перезапуск работал на меня и еще 16 человек. Не повредит.
Danger14
10
То есть это не сработало, пока ты не перезапустил? (Перезапуск может повредить, когда вы действительно выполняете серьезную работу на своем компьютере, и, следовательно, у вас открыто множество приложений. Возвращение всего того, что было до перезагрузки, может быть *****.) Кроме того, тот факт, что 16 человек нашли Часть вашего ответа полезна не означает, что ничего не сработало, пока они не перезапустились.
иконоборчество
15
Сработало у меня без перезапуска, просто выйди из Терминала полностью и заново открой.
Александр Вигмор
7
Сначала я scutil --getобнаружил это ComputerNameи LocalHostNameбыл правильно настроен с помощью Системных настроек (Общий доступ). Тем не менее, он сказал мне, что HostNameбыло not set. Таким образом, я просто использовал sudo scutil --setдля того, чтобы установить HostName. Затем мне не нужно было использовать dscacheutilили делать перезагрузку, поскольку немедленная проверка hostnameпоказала, что все было исправлено, и открытие новой вкладки «Терминал» показало, что мое приглашение теперь тоже исправлено. (OS X 10.9.4)
Квинтин Виллисон,
4
Вам даже не нужно перезапускать терминал, чтобы отразить изменения, просто поставьте конфигурацию, отвечающую за ваше приглашение.
Стив Бузонас
43

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

System Preferences -> Sharing -> Computer Name: 
jerrylroberts
источник
13
Это не сработало для меня. Имя в командной строке терминала все еще оставалось какlocalhost
timurb
5
Вы перезапустили терминал?
Гон
Я определенно должен был перезапустить Терминал, но это был самый простой способ.
skybondsor
Это не сработало для меня, потому что Терминал продолжал показывать старое имя. Но ответ Джона все же решил - на Мохаве.
Рехмат
21

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

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

sudo hostname Name-Of-My-Computer

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

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

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

Крис Опперман
источник
2

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

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

Я должен был бежать sudo hostname [preferred hostname], чтобы установить его правильно, после установки в общий доступ.

JDL
источник
1

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

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
AT01
источник