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?


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.

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.


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: 

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)

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ę.


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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.