Terminal OSX que muestra un nombre de host incorrecto

30

Cuando abro la Terminal, espero que muestre en qué está configurada mi PS1 \h:\W \u\$.

Sin embargo, no muestra mi nombre de host Eriks-MacBook, como se muestra en Preferencias del sistema.

En cambio, muestra una cadena aleatoria unknownb88d120cd4b2.

¿Cómo se puede arreglar o restablecer?

Esta máquina es completamente nueva y las preferencias / configuraciones no han cambiado.

Erik W
fuente
Escriba en hostnameel indicador y presione Entrar. ¿Qué obtienes?
Blender
unknownb88d120cd4b2: ~ erik $ hostname unknownb88d120cd4b2 unknownb88d120cd4b2: ~ erik $
Pero ese no es el nombre de mi computadora en System Prefs - Sharing. Lo cambié por defecto a "erik-mba" con la esperanza de que eso ayude, pero no dados.

Respuestas:

25

Gordon da una buena respuesta al origen de su nombre de host.

Si desea que el nombre que configuró en Preferencias del sistema -> Compartir -> Nombre del equipo aparezca en su solicitud, reemplácelo \hcon $(scutil --get ComputerName). Por ejemplo, mi aviso está configurado con

PS1="[\u@:$(scutil --get ComputerName) \W]\\$ "
ajs
fuente
19

Terminal le muestra la primera etiqueta de su nombre de host BSD (suponiendo que su shell sea BASH). Si su nombre de host BSD es, yourhostname.mynetwork.comentonces Terminal mostrará solo yourhostname:

Entonces, ¿de dónde viene el nombre de host BSD? Puede provenir de varios lugares:

• del archivo: /etc/hostconfig

• más del archivo: /Library/Preferences/SystemConfiguration/preferences.plist( Sistema ▸ Sistema ▸ Nombre de host )

• De lo contrario, el resultado de una consulta DNS inversa para su dirección IP principal (por lo que puede notar que aparece un nombre de host totalmente diferente cuando visita un cibercafé que cuando está conectado en casa)

• de lo contrario, su nombre de host "Bonjour" en Preferencias del sistema> Compartir (de preferences.plistnuevo ... Sistema ▸ Red ▸ HostNames ▸ LocalHostName )

• finalmente, si no se ha configurado ninguno de los anteriores, el nombre de host BSD será simplemente localhost

Por cierto, respondí la misma pregunta hace un tiempo aquí: Terminal Mac OS X: ¿de dónde viene el nombre del indicador?

nombre de usuario
fuente
1
¿Es posible que la búsqueda inversa de DNS tenga prioridad sobre todas las demás configuraciones en mi sistema?
caesarsol el
Revisé mi propio sistema: / etc / hostconfig no existe. preferencias.plista ▸ Sistema ▸ Sistema ▸ Nombre de host no está definido (aunque ComputerName sí ) La búsqueda inversa de DNS devuelve el murmullo que estoy viendo en la ventana de mi terminal. Sistema ▸ Red ▸ HostNames ▸ LocalHostName está definido. Entonces, si su sistema muestra lo mismo que el mío, la búsqueda inversa de DNS fue la primera coincidencia, y tiene prioridad sobre LocalHostName .
Edward Falk el
12

OS X intenta varias cosas para encontrar su "nombre de host". Desafortunadamente, no sé la lista exacta (y el orden), pero creo que lo que está sucediendo aquí es que está descubriendo un nombre DNS asociado con su dirección IP, y usando eso en lugar del nombre Bonjour se anuncia por sí mismo (el definido en Compartir preferencias).

Entonces, ¿por qué encontrar un nombre DNS? Supongo que su enrutador local / servidor DHCP / servidor DNS lo asigna dinámicamente a uno, en función de su dirección de hardware de Ethernet (presumiblemente b8: 8d: 12: 0c: d4: b2). Es posible que pueda ajustar la configuración del enrutador para evitar que haga esto, o probablemente podría establecer la ID de cliente DHCP de la computadora (en Preferencias de red, Configuración avanzada) para controlar qué nombre le asigna.

Gordon Davisson
fuente
2
Esto fue de gran ayuda para mí. Mi máquina mostraba este comportamiento, el punto clave era que parecía haber cambiado ESPONTÁNEAMENTE los nombres, ya que nunca antes había visto uno diferente. Así que perdí 90 minutos buscando virus y problemas de disco y demás. Me alegra saber que puedo dejar de perder el tiempo con seguridad.
conspiritech
1

No estoy seguro si todavía tiene problemas o no, esto parece haberse solucionado en algún momento entre Yosemite y Sierra.

Para las computadoras nuevas, comienzo con las Preferencias del sistema para compartir, ingresando el [nuevo nombre] como el Nombre de la computadora deseado. También ingreso el [nuevo nombre] en todos los campos activos de ID de cliente DHCP para cada interfaz de red. Después de hacer eso, abro la Terminal para confirmar que informa un nombre similar, algunos caracteres no están permitidos, por lo que el sistema modificará el nombre si es necesario. Puede cambiar el nombre siguiendo los pasos a continuación, simplemente reemplace el bloque [nuevo nombre] con el nombre de su computadora deseada.

  1. Terminal abierta
  2. En el indicador, ingrese lo siguiente: sudo scutil --set HostName [nuevo nombre]
  3. Abra una nueva ventana de Terminal para confirmar que se aceptó el nuevo nombre.

Si el nombre no es de mi agrado, procedo con lo anterior antes de vincularlo a Active Domain.

Wallace Karraker
fuente