Как изменить имя компьютера, чтобы терминал отображал его в 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команду?


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.


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: 

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)

Почему -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], чтобы установить его правильно, после установки в общий доступ.


1

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

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.