El nombre de mi computadora en Preferencias del sistema> compartir está configurado en "archos" pero se muestra como "iphone" en el terminal. Simplemente comenzó a hacer esto después de cargar Xcode para hacer el desarrollo de iPhone.
Last login: Mon Nov 7 14:46:55 on ttys001
iphone:~ travis$
¿Alguna idea de que puede estar causando esto?
Respuestas:
Es perfectamente normal que esto ocurra; cuando inicia sesión en Terminal de forma remota, bash realiza una búsqueda inversa de DNS. Solo será lo mismo si el nombre de host no se especifica en la red desde la que se está conectando y no hay respuesta del servidor DHCP, o si la búsqueda inversa en el servidor DNS remoto no se resuelve.
Puede anular fácilmente la configuración predeterminada utilizando este comando en la Terminal:
Puede verificarlo usando:
(donde nn significa la dirección IP de su Mac)
fuente
sudo scutil --set HostName ''
.HostName
no es recomendable, ya que crea un valor separado que luego persiste incluso cuando más tarde intente cambiar el nombre de host a través deSystem Preferences > Sharing
. Por el contrario, la configuraciónLocalHostName
actualiza el mismo valor, y normalmente también lo recoge el shell yhostname
(elComputerName
valor debe actualizarse en tándem). ¿O la configuración seHostName
comporta de manera diferente de una manera que es ventajosa aquí?hostname -f
También es posible que desee cambiar algunas otras cosas usando el comando scutil:
fuente
scutil
para configurarHostName
, ambosComputerName
yaLocalHostName
estaban configurados con el nuevo nombre para mí (en Mavericks). Sin embargo, es bueno saber que estas otras configuraciones existen.HostName
, porque hacerlo hará que ese valor persista incluso cuando luego intente cambiar su nombre de host a través de Preferencias del Sistema . A la inversa, losLocalHostName
es recogido por la carcasa yhostname
, por loHostName
que nunca se necesita.sudo scutil --set LocalHostName ''
LocalHostName eliminado y ahora mi solicitud está usando ComputerName, que tiene el valor correcto.Hay dos posibles razones para que el shell (
$HOSTNAME
variable,'\h'
in$PS1
) y lahostname
utilidad informen un nombre de host que difiere del que se muestra enSystem Preferences > Sharing
:sudo scutil --set HostName newName
se usó para cambiar persistentemente el nombre de host; desafortunadamente, este valor es independiente delLocalHostName
valor establecido por las Preferencias del sistema detrás de escena, aunqueman hostname
sugiere este método, NO LO USE por ese motivo; ejecutarsudo scutil --set HostName ''
para eliminarlo , en cuyo punto seLocalHostName
debe informar nuevamente; para el fondo, vea esta publicación de @Lauri Ranta.[ Actualización: lo siguiente ya no es cierto a partir de OSX 10.10 ] Si su
/etc/hosts
archivo tiene una entrada que coincide con la dirección IP de su máquina, se informará el nombre de esa entrada.Solo si ninguno de los anteriores es verdadero, el shell y
hostname
reflejará el valor establecido a través de Preferencias del sistema.Si desea cambiar su nombre de host desde el shell , ejecute los dos siguientes:
sudo scutil --set LocalHostName <newName>
sudo scutil --set ComputerName <newFriendlyName>
donde
<newFriendlyName>
puede ser una versión más amigable (espacios, puntuación) de<newName>
(alfanuméricos y guiones solamente).fuente
sudo scutil --set HostName ''
primero (el caso importa) y te has asegurado de que no haya entrada/etc/hosts
?scutil --get HostName
Debería informarHostname: not set
.scutil --get HostName HostName: not set
/ etc / hosts parece benigno ...PS1
variable no tiene un nombre de host codificado en lugar de usar\h
, ¿verdad? Como comentario:/etc/hosts
ya no se consulta a partir de OSX 10.10 (he actualizado mi respuesta).sudo scutil --set HostName ''
), nuevamente, OS X puede asignar el nombre de la computadora a su dirección IP (por ejemplo, esto ahora funcionaping <computername>
).Además del consejo de Jeffrey J. Hoover (arriba) ,
Yo agregaría estos dos últimos pasos:
dscacheutil -flushcache
fuente
Estoy de acuerdo en que el consejo de Jeffrey Hoover fue la respuesta correcta. Vaciar el caché DNS y reiniciar la Mac también es un buen paso. Esta es una variante de la respuesta de Jeff Hoover:
fuente
-
: debe ser--set
para trabajar. Además, como comenté en la respuesta de Jeff: probablemente sea mejor no configurarHostName
.Preferencias del sistema -> Compartir -> Nombre del equipo -> configúrelo en lo que sea
Y luego reinicie su computadora. No se necesitaban comandos de consola. Funciona para OS X 10.10.2
fuente
Como se menciona en una respuesta por separado, otra opción es anular la solicitud predeterminada de PS1, como ejecutar la siguiente línea (o agregarla a su archivo ~ / .bash_profile):
refs:
https://superuser.com/a/414903/39364
http://www.cnet.com/news/keep-your-command-prompt-host-name-static-in-os-x-and-other-unix-systems/
fuente
Utilizar esta
fuente
Tuve el problema de que solo el shell (
zsh
en mi caso) no pudo mostrar el nombre correcto de la computadora. Simplemente reiniciando el shell lo resolvió:fuente
Además de la respuesta anterior, recuerde que puede usar una dirección estática en su enrutador. Debe ingresar la dirección IP estática y la dirección MAC de su tarjeta de red, luego establecer un nombre para ella. El nombre de host se actualizará automáticamente al nombre especificado. Eso es.
fuente