Имя моего компьютера в «Системных настройках»> «Обмен» установлено на «archos», но на терминале отображается как «iphone». Это только начало делать это после того, как я загрузил Xcode для разработки iPhone.
Last login: Mon Nov 7 14:46:55 on ttys001
iphone:~ travis$
Есть идеи, что может быть причиной этого?
Ответы:
Это совершенно нормально, чтобы это произошло; при удаленном входе в систему терминал bash осуществляет обратный поиск DNS. Это будет то же самое, только если имя хоста не указано в сети, к которой вы подключаетесь, и нет ответа от DHCP-сервера, или обратный поиск на удаленном DNS-сервере не удается разрешить.
Вы можете легко переопределить настройку по умолчанию, используя эту команду в Терминале:
Вы можете проверить это с помощью:
(где nn обозначает IP-адрес вашего Mac)
источник
sudo scutil --set HostName ''
.HostName
не рекомендуется, потому что она создает отдельное значение, которое сохраняется даже при дальнейшей попытке изменить имя хоста с помощьюSystem Preferences > Sharing
. Напротив, настройкаLocalHostName
обновляет то же значение, и обычно также принимается оболочкой иhostname
(ComputerName
значение должно обновляться в тандеме). Или настройкиHostName
ведут себя по-другому, что выгодно здесь?hostname -f
Вы также можете изменить некоторые другие вещи с помощью команды scutil:
источник
scutil
для установкиHostName
, обаComputerName
иLocalHostName
уже были установлены для нового имени для меня (в Mavericks). Приятно знать, что эти другие настройки существуют, хотя.HostName
, потому что это сохранит это значение, даже если вы позже попытаетесь изменить имя хоста через Системные настройки . С другой стороны ,LocalHostName
есть подобрано оболочка иhostname
, поэтомуHostName
никогда не нужно.sudo scutil --set LocalHostName ''
удаленного LocalHostName, и теперь моя подсказка использует ComputerName, который имеет правильное значение.Существует две потенциальные причины, по которым оболочка (
$HOSTNAME
переменная,'\h'
in$PS1
) иhostname
утилита сообщают имя хоста, отличающееся от того, которое показано на рисункеSystem Preferences > Sharing
:sudo scutil --set HostName newName
использовался для постоянного изменения имени хоста - к сожалению, это значение не зависит отLocalHostName
значения, установленного Системными настройками за кулисами, - даже несмотря на то, чтоman hostname
предлагает этот метод, НЕ ИСПОЛЬЗУЙТЕ ЕГО по этой причине; запустить,sudo scutil --set HostName ''
чтобы удалить его , после чегоLocalHostName
следует снова сообщить; для фона, см. этот пост @Lauri Ranta.[ Обновление: следующее не относится к OSX 10.10 ] Если в вашем
/etc/hosts
файле есть запись, которая соответствует IP-адресу вашего компьютера, будет указано имя этой записи.Только если ни одно из вышеперечисленного не соответствует действительности, оболочка будет
hostname
отображать значение, заданное в Системных настройкахЕсли вы хотите изменить имя своего хоста из оболочки , выполните оба следующих действия:
sudo scutil --set LocalHostName <newName>
sudo scutil --set ComputerName <newFriendlyName>
где
<newFriendlyName>
может быть более дружественная версия (пробелы, знаки пунктуации)<newName>
(только буквенно-цифровые и тире).источник
sudo scutil --set HostName ''
первым (дело имеет значение) и убедился, что там нет записи/etc/hosts
?scutil --get HostName
должен сообщитьHostname: not set
.scutil --get HostName HostName: not set
/ etc / hosts кажется доброкачественным ...PS1
переменная не имеет жестко заданного имени хоста, а не использует\h
, не так ли? Как в стороне:/etc/hosts
больше не консультируется с OSX 10.10 (я обновил свой ответ).sudo scutil --set HostName ''
снова позволяет OS X сопоставить имя компьютера с его IP-адресом (например, теперь это работаетping <computername>
).В дополнение к совету Джеффри Дж. Гувера (выше) ,
Я бы добавил эти два последних шага:
dscacheutil -flushcache
источник
Я согласен, что совет Джеффри Гувера был правильным ответом. Очистка кеша DNS и перезагрузка Mac тоже хороший шаг. Это вариант ответа Джеффа Гувера:
источник
-
: это должно быть--set
на работе. Кроме того, как я прокомментировал ответ Джеффа: вероятно, лучше не устанавливатьHostName
.Системные настройки -> Общий доступ -> Имя компьютера -> установить его на что угодно
А затем перезагрузите компьютер. Команды консоли не были необходимы. Работает на OS X 10.10.2
источник
hostname
вернул «MacBook-Pro». Я даже изменил это и все еще имел проблему. Я никогда не видел эту проблему раньше. Этиscutil
команды работали для меня. Мне интересно, где / как вы предполагаете сделать это через интерфейс GUI.Как упоминалось в отдельном ответе, другой вариант - переопределить приглашение PS1 по умолчанию, например, выполнить следующую строку (или добавить ее в файл ~ / .bash_profile):
рефов:
https://superuser.com/a/414903/39364
http://www.cnet.com/news/keep-your-command-prompt-host-name-static-in-os-x-and-other-unix-systems/
источник
Использовать это
источник
У меня была проблема, что только сама оболочка (
zsh
в моем случае) не смогла показать правильное имя компьютера. Просто перезапустив оболочку решил это:источник
В дополнение к предыдущему ответу, помните, что вы можете использовать статический адрес в вашем маршрутизаторе. Вы должны ввести статический IP-адрес и MAC-адрес своей сетевой карты, а затем задать имя для него. Имя хоста будет автоматически обновлено до указанного имени. Вот и все.
источник