Il nome del computer OS X non corrisponde a ciò che mostra sul terminale

106

Nome del mio computer in Preferenze di Sistema > la condivisione è impostata su "archos" ma viene visualizzata come "iphone" sul terminale. Ha appena iniziato a farlo dopo aver caricato Xcode per lo sviluppo di iPhone.

Last login: Mon Nov  7 14:46:55 on ttys001
iphone:~ travis$ 

Qualche idea su cosa potrebbe causare questo?

    
posta Travis Nelson 08.11.2011 - 06:58
fonte

10 risposte

83

È perfettamente normale che ciò accada; quando si effettua il login da remoto, bash esegue una ricerca DNS inversa. Sarà lo stesso se il nome host non è specificato sulla rete dalla quale ci si connette e non c'è risposta dal server DHCP, oppure la ricerca inversa contro il server DNS remoto non riesce a risolverlo.

Puoi facilmente scavalcare l'impostazione predefinita usando questo comando in Terminale:

# sudo scutil --set HostName archos

Puoi controllarlo usando:

# nslookup nn.nn.nn.nn
( or )
# host nn.nn.nn.nn

(dove nn indica l'indirizzo IP del tuo Mac)

    
risposta data 08.11.2011 - 11:49
fonte
42

Potresti anche voler cambiare alcune altre cose usando il comando scutil:

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"
    
risposta data 06.06.2012 - 19:23
fonte
13

Ci sono due potenziali ragioni per la shell ( $HOSTNAME variabile, '\h' in $PS1 ) e l'utilità hostname per segnalare un nome host diverso da quello mostrato in System Preferences > Sharing :

  • sudo scutil --set HostName newName è stato utilizzato per modificare in modo persistente il nome host - sfortunatamente, questo valore è indipendente del valore LocalHostName impostato dalle preferenze di sistema dietro le quinte - anche se man hostname suggerisce questo metodo, NON USARE IT per tale motivo; Esegui sudo scutil --set HostName '' per rimuoverlo , a quel punto dovrebbe essere segnalato nuovamente LocalHostName ; per lo sfondo, vedi questo post di @Lauri Ranta.

  • [ Aggiornamento: Quanto segue non è più vero a partire da OSX 10.10 ] Se il tuo file /etc/hosts ha una voce che corrisponde all'indirizzo IP della tua macchina, che verrà indicato il nome della voce.

Solo se nessuna delle due precedenti è vera, la shell e hostname riflettono il valore impostato tramite Preferenze di Sistema.

Se vuoi modificare il tuo nome host dalla shell , esegui entrambi di quanto segue:

  • sudo scutil --set LocalHostName <newName>
  • sudo scutil --set ComputerName <newFriendlyName>

dove <newFriendlyName> può essere una versione più amichevole (spazi, punteggiatura) di <newName> (solo caratteri alfanumerici e trattini).

    
risposta data 05.05.2014 - 06:47
fonte
5

Oltre a consiglio di Jeffrey J. Hoover (sopra) ,

Vorrei aggiungere questi ultimi due passaggi:

  • Svuota la cache DNS digitando: %codice%
  • Riavvia il tuo Mac.
risposta data 09.05.2013 - 06:32
fonte
5

Sono d'accordo sul fatto che la punta di Jeffrey Hoover sia stata la risposta corretta. Anche il lavaggio della cache DNS e il riavvio del Mac sono un buon passo. Questa è una variante della risposta di Jeff Hoover:

sudo -i
Password:

for n in HostName ComputerName LocalHostName; do
    scutil --set $n new_hostname
done

exit
    
risposta data 17.01.2014 - 23:49
fonte
3

Come menzionato in una risposta separata, un'altra opzione è quella di sovrascrivere il prompt PS1 predefinito, come eseguire la seguente riga (o aggiungerla al tuo file ~ / .bash_profile):

 $ PS1="$(scutil --get ComputerName):\W \u\$ "

refs:

link

link

    
risposta data 19.12.2014 - 20:53
fonte
3

Preferenze di sistema - > Condivisione - > Nome computer - > impostalo su qualsiasi

E quindi riavvia il tuo computer. Non erano necessari comandi da console. Funziona per OS X 10.10.2

    
risposta data 17.02.2015 - 20:29
fonte
3

Usa questo

sudo systemsetup -setcomputername $name
    
risposta data 03.12.2015 - 05:47
fonte
2

Ho avuto il problema che solo la shell stessa ( zsh nel mio caso) non è riuscita a mostrare il nome corretto del computer. Il semplice riavvio della shell l'ha risolto:

exec /bin/zsh
    
risposta data 17.03.2015 - 12:21
fonte
2

Oltre alla risposta precedente, ricorda che puoi usare un indirizzo statico nel tuo router. È necessario inserire l'indirizzo IP statico e l'indirizzo MAC della scheda di rete, quindi impostare un nome per esso. Il nome host verrà automaticamente aggiornato al nome specificato. Questo è tutto.

    
risposta data 12.12.2015 - 02:15
fonte

Leggi altre domande sui tag