Come cambiare il nome del computer in modo che il terminale lo visualizzi in Mac OS X Mountain Lion? [duplicare]


245

Questa domanda ha già una risposta qui:

Quando ho installato il mio computer l'ho chiamato "Scott's MacBook Pro". E così quando vado in Preferenze di sistema-> Condivisione, dice MacBook Pro di Scott lì come il nome del mio computer. Tuttavia, l'apertura di un terminale mi dà questo messaggio:

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

Quando accedo a Backblaze, elencano il mio computer come "new ‑ host ‑ 4_2012_10_07". Non ho impostato completamente il nome del mio computer? Dovrei usare il hostnamecomando tradizionale ?


2
Per quanto ne so, questo è ciò che il DNS segnala essere. Se il tuo numero IP non ha un nome, viene utilizzato il nome da Preferenze (forse il .localdominio))
Thorbjørn Ravn Andersen

@ ThorbjørnRavnAndersen - il mio dominio .local dalle preferenze di condivisione è stato scotts-macbook-pro.local
at01

Risposte:


297

Se usi:

sudo scutil --set HostName name-you-want

funzionerà un po 'meglio. Dalla pagina man di 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
Ha funzionato per me dopo aver eseguito quel comando e aver riavviato Terminal.
Johnathan Elmore,

Ha funzionato come incanto
Hos Mercury

Questo funziona per me, ma al riavvio, reimposta il nome host nel terminale a quello che era prima che lo cambiassi.
jwir3,

Funziona in Mojave. Il terminale stava mostrando emulator02anche se l'ho modificato nelle impostazioni o provato. Ho appena eseguito tutte e tre le preferenze supportate e riavviato il terminale; ora posso ottenere il nome host giusto.
Daniel,

126

Dopo aver seguito il consiglio di Jeffrey J. Hoover ,

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

Vorrei aggiungere questi ultimi due passaggi.

  • Svuota la cache DNS digitando: dscacheutil -flushcache
  • Riavvia il tuo Mac.

EDIT: Non ha funzionato per me fino a quando non ho riavviato il mio mac.


2
@iconoclast L'ultimo ha usato Windows principalmente nel 2004. Il riavvio ha funzionato per me e altre 16 persone. Non farebbe male.
Danger14,

10
Significa che non ha funzionato fino al riavvio? (Il riavvio può fare male quando in realtà fai un serio lavoro sul tuo computer e quindi hai molte applicazioni aperte. Ripristinare tutto come avevi prima del riavvio può essere un *****.) Inoltre, il fatto che 16 persone abbiano trovato parte della tua risposta utile non significa che nulla ha funzionato fino al loro riavvio.
iconoclasta

15
Ha funzionato per me senza riavviare, basta chiudere Terminale completamente e riaprire.
Alexander Wigmore,

7
Prima lo scutil --getscoprivo ComputerNameed ero LocalHostNamestato impostato correttamente usando Preferenze di Sistema (Condivisione). Tuttavia, mi ha detto che lo HostNameera not set. Quindi, ho usato solo sudo scutil --setper impostare HostName. Quindi, non ho avuto bisogno di usare dscacheutilo fare un riavvio poiché immediatamente un controllo ha hostnamemostrato che le cose erano state riparate per me e l'apertura di una nuova scheda Terminale ha mostrato che anche il mio prompt era stato corretto. (OS X 10.9.4)
Quintin Willison,

4
Non dovresti nemmeno aver bisogno di riavviare il terminale per riflettere le modifiche, devi solo procurarti la configurazione responsabile del tuo prompt.
Steve Buzonas,

43

Per coloro che non sono alla ricerca di una soluzione da riga di comando, è possibile modificarla in

System Preferences -> Sharing -> Computer Name: 

13
Questo non ha funzionato per me. Il nome al prompt dei comandi del terminale rimaneva ancora comelocalhost
timurb

5
Hai riavviato il terminale?
Gon

Ho sicuramente dovuto riavviare Terminal, ma questo era il metodo più semplice.
skybondsor,

Questo non ha funzionato per me perché Terminal ha continuato a mostrare il vecchio nome. Ma la risposta di John l'ha risolta - su Mojave.
Rehmat,

21

Puoi definire ciò che vuoi vedere prima $nel tuo terminale modificando il file ~/.profile.

Ad esempio se aggiungi al file ~/.profilela seguente riga:

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

vedrai il nome host e il percorso completo della directory corrente:

host_name:current_directory_path$

Puoi anche modificare il mio esempio usando le seguenti opzioni nel comando export:

\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)

Perché -1? Ha detto che non può vedere il suo nome host nel Terminal.
Maverik,

4
non ero io con -1 :). Grazie per la tua risposta, suppongo che non stia solo cercando come cambiare il mio nome nel terminale, ma chiaramente il mio computer è ancora referenziato dal brutto nome new-host-4 come lo usano i servizi come Backblaze. Il mio MacBook Pro precedente aveva un nome più bello che avevo scelto, non so perché il mio MacBook Pro del leone di montagna non stia usando il nome che ho nelle preferenze di Condivisione
at01

8

Puoi correre

sudo hostname Name-Of-My-Computer

nel Terminale per cambiare il nome.


7
La pagina man per hostname dice di funzionare scutil --set HostName name-of-hostse vuoi mantenere il nome host al riavvio
daviewales

Per me ha funzionato molto bene, anche riavviando il computer. Grazie.
Brynner Ferreira,

Questo ha funzionato per me dopo aver riavviato il mio Mac (con El Capitan)
Jader Feijo,

7

Nel mio caso, ho scoperto che si trattava di un problema con il nostro server DNS, poiché la ricerca DNS inversa non è stata eliminata perché c'erano voci DNS duplicate per l'indirizzo IP e il nome host.


2

Sto aggiungendo una risposta qui perché recentemente ho riscontrato anche questo problema.

In OSX 10.7.4 e possibilmente prima, sembra esserci un bug nell'opzione Modifica nome host nel pannello delle preferenze di condivisione. Imposta il nome host sull'ultimo set di cose invece dell'attuale set.

Ho dovuto correre sudo hostname [preferred hostname]per impostarlo correttamente, dopo averlo impostato in Condivisione.


1

Non ho fatto nulla al mio computer, ma alla fine per qualche ragione il nome host e il nome del computer sono tutti registrati come il nome che ho impostato inizialmente! In effetti ho avuto il seguente terminale aperto tutto il tempo e questo è esattamente un taglia e incolla:

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.