Jak zmienić nazwę komputera, aby terminal wyświetlał ją w systemie Mac OS X Mountain Lion? [duplikować]

245

Podczas konfigurowania komputera nazwałem go „Scott's MacBook Pro”. I tak, kiedy przechodzę do Preferencji systemowych-> Udostępnianie, mówi tam MacBook Pro Scotta jako nazwa mojego komputera. Jednak otwarcie terminala daje mi następujący monit:

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

Kiedy loguję się do Backblaze, wymieniają mój komputer jako „new-host ‑ 4_2012_10_07”. Czy nie ustawiłem w pełni nazwy mojego komputera? Czy powinienem używać tradycyjnego hostnamepolecenia?

at01
źródło
2
O ile mi wiadomo, właśnie tak informuje DNS. Jeśli twój numer IP nie ma nazwy, używana jest nazwa z Preferencji (być może .localdomena))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - moja domena .local z preferencji udostępniania została scotts-macbook-pro.local
at01

Odpowiedzi:

297

Jeśli użyjesz:

sudo scutil --set HostName name-you-want

będzie działać trochę lepiej. Na stronie podręcznika 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.
Jan
źródło
4
Pracowałem dla mnie po uruchomieniu tego polecenia i ponownym uruchomieniu terminalu.
Johnathan Elmore,
Działa jako urok
Hos Mercury
Działa to dla mnie, ale po ponownym uruchomieniu komputera nazwa hosta w terminalu jest resetowana do stanu sprzed zmiany.
jwir3,
Działa w Mojave. Terminal pokazywał, emulator02mimo że zmieniłem go w ustawieniach - lub próbowałem. Właśnie uruchomiłem wszystkie trzy obsługiwane preferencje i zrestartowałem terminal; teraz mogę poprawnie ustawić nazwę hosta.
Daniel
126

Po podążeniu za wskazówkami Jeffreya J. Hoovera ,

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

Dodałbym te dwa ostatnie kroki.

  • Opróżnij pamięć podręczną DNS, wpisując: dscacheutil -flushcache
  • Uruchom ponownie komputer Mac.

EDYCJA: Nie działało to dla mnie, dopóki nie zrestartowałem mojego Maca.

Niebezpieczeństwo 14
źródło
2
@iconoclast Ostatnio korzystałem z systemu Windows głównie w 2004 r. Ponowne uruchomienie działało dla mnie i 16 innych osób. Nie zaszkodzi
Niebezpieczeństwo
10
Czyli nie działało, dopóki nie uruchomiłeś się ponownie? (Ponowne uruchomienie może zaszkodzić, gdy faktycznie wykonasz poważną pracę na komputerze, a zatem masz wiele aplikacji otwartych. Odzyskanie wszystkiego, co było przed ponownym uruchomieniem, może być *****.) Ponadto fakt, że 16 osób znalazło trochę część twojej odpowiedzi pomocna nie oznacza, że ​​nic nie działało, dopóki się nie zrestartowało.
iconoclast
15
Pracował dla mnie bez ponownego uruchamiania, po prostu całkowicie zamknij Terminal i ponownie otwórz.
Alexander Wigmore,
7
Po raz pierwszy scutil --getto odkryłem ComputerNamei LocalHostNamezostał poprawnie ustawiony za pomocą Preferencji systemowych (udostępnianie). Jednak powiedział mi, że tak HostNamebyło not set. Dlatego właśnie użyłem sudo scutil --setdo ustawienia HostName. Następnie nie musiałem używać dscacheutilani ponownie uruchamiać komputera, ponieważ natychmiastowa kontrola hostnamewykazała, że ​​wszystko zostało naprawione, a otwarcie nowej karty Terminal pokazało, że moje pytanie również zostało naprawione. (OS X 10.9.4)
Quintin Willison
4
Nie powinno być nawet konieczne restartowanie terminala, aby odzwierciedlić zmiany, wystarczy pobrać konfigurację odpowiedzialną za monit.
Steve Buzonas,
43

Dla tych, którzy nie szukają rozwiązania wiersza poleceń, możesz je zmienić pod

System Preferences -> Sharing -> Computer Name: 
jerrylroberts
źródło
13
To mi nie zadziałało. Nazwa w wierszu polecenia terminala nadal pozostała jakolocalhost
timurb
5
Czy zrestartowałeś terminal?
Gon
I defs musiał ponownie uruchomić Terminal, ale była to najłatwiejsza metoda.
skybondsor,
Nie działało to dla mnie, ponieważ Terminal ciągle wyświetlał starą nazwę. Ale odpowiedź Johna to rozwiązała - na Mojave.
Rehmat
21

Możesz zdefiniować, co chcesz zobaczyć przed $terminalem, modyfikując plik ~/.profile.

Na przykład, jeśli dodasz do pliku ~/.profilenastępujący wiersz:

# h is the host name, w the complete path 
export PS1="\h:\w$ "

zobaczysz nazwę hosta i pełną ścieżkę do bieżącego katalogu:

host_name:current_directory_path$

Możesz również zmodyfikować mój przykład, używając następujących opcji w poleceniu eksportu:

\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
źródło
Dlaczego -1? Powiedział, że nie widzi nazwy hosta w terminalu.
Maverik,
4
nie byłem ja z -1 :). Dziękuję za twoją odpowiedź, chyba nie szukam tylko sposobu zmiany nazwy w terminalu, ale najwyraźniej do mojego komputera nadal odwołuje się brzydka nazwa new-host-4, ponieważ korzystają z niej usługi takie jak Backblaze. Mój poprzedni MacBook Pro miał ładniejszą nazwę, którą wybrałem, nie wiem, dlaczego mój lew górski MacBook Pro nie używa nazwy, którą mam w preferencjach udostępniania
01
8

Możesz biegać

sudo hostname Name-Of-My-Computer

w terminalu, aby zmienić nazwę.

Gale
źródło
7
Strona scutil --set HostName name-of-hostpodręcznika dla nazwy hosta mówi, aby uruchomić, jeśli chcesz zachować nazwę hosta podczas restartów
daviewales
Dla mnie działało to bardzo dobrze, nawet restartując komputer. Dziękuję Ci.
Brynner Ferreira
To zadziałało dla mnie po ponownym uruchomieniu komputera Mac (z El Capitan)
Jader Feijo
7

W moim przypadku okazało się, że był to problem z naszym serwerem DNS, ponieważ odwrotne wyszukiwanie DNS nie wykasowało, ponieważ były zduplikowane wpisy DNS dla adresu IP i nazwy hosta.

Chris Opperman
źródło
2

Dodaję tutaj odpowiedź, ponieważ ostatnio również miałem ten problem.

W OSX 10.7.4 i prawdopodobnie wcześniej pojawia się błąd w opcji Edytuj nazwę hosta w panelu preferencji Udostępnianie. Ustawia nazwę hosta na ostatni zestaw rzeczy zamiast bieżącego tego zestawu.

Musiałem uruchomić sudo hostname [preferred hostname], aby ustawić go poprawnie, po ustawieniu go w Udostępnianiu.

JDL
źródło
1

Nie zrobiłem nic na moim komputerze, ale ostatecznie z jakiegoś powodu nazwa hosta i nazwa komputera zostały zarejestrowane jako nazwa, którą początkowo ustawiłem! W rzeczywistości cały czas miałem otwarty następujący terminal i jest to dokładnie wycinanie i wklejanie:

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
at01
źródło