Kiedy otwieram Terminal, spodziewam się, że pokaże, co jest ustawione na moim PS1 \h:\W \u\$
.
Jednak nie wyświetla mojej nazwy hosta Eriks-MacBook
, jak pokazano w Preferencjach systemowych.
Zamiast tego pokazuje losowy ciąg unknownb88d120cd4b2
.
Jak można to naprawić lub zresetować?
To urządzenie jest fabrycznie nowe, a preferencje / ustawienia nie zostały zmienione.
hostname
znak zachęty i naciśnij klawisz Enter. Co dostajesz?Odpowiedzi:
Gordon daje dobrą odpowiedź na pochodzenie twojej nazwy hosta.
Jeśli chcesz nazwę, która będzie ustawiona w oknie Preferencje systemowe -> Udostępnianie -> Nazwa komputera, aby pokazać się w swoim wierszu, wymienić
\h
się$(scutil --get ComputerName)
. Np. Mój monit jest ustawiony naźródło
Terminal pokazuje pierwszą etykietę twojej nazwy hosta BSD (zakładając, że twoja powłoka to BASH). Jeśli nazwa hosta BSD to:
yourhostname.mynetwork.com
Terminal wyświetli tylkoyourhostname
-Skąd więc pochodzi nazwa hosta BSD? Może pochodzić z kilku miejsc:
• z pliku:
/etc/hostconfig
• else z pliku:
/Library/Preferences/SystemConfiguration/preferences.plist
( System ▸ System ▸ HostName )• w przeciwnym razie wynik zapytania zwrotnego DNS dla twojego podstawowego adresu IP (więc możesz zauważyć zupełnie inną nazwę hosta wyświetlaną podczas wizyty w kawiarence internetowej niż w przypadku połączenia w domu)
• w przeciwnym razie twoja nazwa hosta „Bonjour” w Preferencjach systemowych> Udostępnianie (
preferences.plist
ponownie ... System ▸ Sieć ▸ Nazwy hostów ▸ LocalHostName )• wreszcie, jeśli żadna z powyższych opcji nie została ustawiona, nazwa hosta BSD będzie po prostu
localhost
Nawiasem mówiąc, odpowiedziałem tutaj na to samo pytanie: Terminal Mac OS X - skąd pochodzi nazwa zachęty
źródło
OS X próbuje wielu rzeczy, aby znaleźć swoją „nazwę hosta”. Niestety nie znam dokładnej listy (i kolejności), ale myślę, że dzieje się tutaj to, że odkrywa nazwę DNS powiązaną z jej adresem IP i używa jej zamiast nazwy Bonjour, jest to reklama sama dla siebie (ta zdefiniowana w Udostępnianie preferencji).
Więc dlaczego znajduje nazwę DNS? Domyślam się, że lokalny router / serwer DHCP / serwer DNS dynamicznie przypisuje mu jeden na podstawie adresu sprzętowego Ethernet (prawdopodobnie b8: 8d: 12: 0c: d4: b2). Możliwe, że możesz zmienić ustawienia routera, aby przestał to robić, lub prawdopodobnie możesz ustawić identyfikator klienta DHCP komputera (w Preferencjach sieciowych, Ustawienia zaawansowane), aby kontrolować, jaką nazwę mu przypisuje.
źródło
Nie jestem pewien, czy nadal masz problemy, czy nie, wydaje się, że zostało to naprawione między Yosemite a Sierra.
W przypadku nowych komputerów zaczynam od Preferencji systemu udostępniania, wpisując [nową nazwę] zgodnie z żądaną nazwą komputera. Wprowadzam również [nowa nazwa] we wszystkich aktywnych polach identyfikatora klienta DHCP dla każdego interfejsu sieciowego. Po tym, jak otworzę Terminal, aby potwierdzić, że zgłasza podobną nazwę, niektóre znaki są niedozwolone, więc system zmodyfikuje nazwę w razie potrzeby. Możesz zmienić nazwę, wykonując poniższe czynności, po prostu zastąp blok [nowa nazwa] żądaną nazwą komputera.
Jeśli nazwa mi się nie podoba, kontynuuję powyższe, zanim powiążę ją z domeną aktywną.
źródło