Когда я открываю терминал, я ожидаю, что он покажет, на что настроен мой PS1 \h:\W \u\$
.
Однако это не отображает мое имя хоста Eriks-MacBook
, как показано в Системных настройках.
Вместо этого он показывает случайную строку unknownb88d120cd4b2
.
Как это можно исправить или сбросить?
Эта машина совершенно новая, и настройки / настройки не изменились.
hostname
приглашение и нажмите клавишу ввода. Что вы получаете?Ответы:
Гордон дает хороший ответ на происхождение вашего имени хоста.
Если вы хотите, чтобы имя, которое вы установили в Системных настройках -> Общий доступ -> Имя компьютера, отображалось в вашем приглашении, замените его
\h
на$(scutil --get ComputerName)
. Например, моя подсказка установлена систочник
Терминал показывает первую метку вашего имени хоста BSD (при условии, что ваша оболочка BASH). Если ваше имя хоста BSD,
yourhostname.mynetwork.com
то терминал будет отображать толькоyourhostname
-Так откуда берется имя хоста BSD? Это может прийти из нескольких мест:
• из файла:
/etc/hostconfig
• остальное из файла:
/Library/Preferences/SystemConfiguration/preferences.plist
( Система ▸ Система ▸ Имя хоста )• в противном случае результат обратного DNS-запроса вашего основного IP-адреса (поэтому вы можете заметить, что при посещении интернет-кафе вы видите совершенно другое имя хоста, чем при подключении дома)
• иначе ваше имя хоста "Bonjour" в Системных настройках> Общий доступ (
preferences.plist
снова ... Система again Сеть ▸ HostNames ▸ LocalHostName )• наконец, если ничего из вышеперечисленного не было установлено, имя хоста BSD будет просто
localhost
Кстати, я недавно ответил на тот же вопрос здесь: Mac OS X Terminal - откуда берется имя приглашения
источник
OS X пытается сделать несколько вещей, чтобы найти свое «имя хоста». К сожалению, я не знаю точного списка (и порядка), но я думаю, что здесь происходит то, что он обнаруживает DNS-имя, связанное с его IP-адресом, и использует его вместо имени Bonjour, которое он рекламирует для себя (тот, который определен в Совместное использование предпочтений).
Так почему он находит имя DNS? Я предполагаю, что ваш локальный маршрутизатор / DHCP-сервер / DNS-сервер динамически назначает его один, основываясь на его аппаратном IP-адресе (предположительно, b8: 8d: 12: 0c: d4: b2). Вы можете настроить параметры маршрутизатора, чтобы он не делал этого, или установить идентификатор клиента DHCP компьютера (в разделе «Сетевые настройки», «Дополнительные параметры»), чтобы указать, какое имя ему назначается.
источник
Не уверенный, если у вас все еще есть проблемы или нет, это, кажется, было исправлено когда-то между Йосемити и Сьеррой.
Для новых компьютеров я начинаю с «Системных настроек общего доступа», вводя [новое имя] в качестве желаемого имени компьютера. Я также ввожу [новое имя] во все поля активного идентификатора клиента DHCP для каждого сетевого интерфейса. После того, как я это сделал, я открываю Терминал, чтобы подтвердить, что он сообщает похожее имя, некоторые символы не допускаются, поэтому система при необходимости изменит имя. Вы можете изменить имя, используя шаги ниже, просто замените блок [новое имя] на желаемое имя компьютера.
Если имя мне не нравится, я перехожу к описанному выше, прежде чем связать его с Active Domain.
источник