O nome do meu computador em Preferências do Sistema> compartilhamento está definido como "archos", mas é exibido como "iphone" no terminal. Ele começou a fazer isso depois que eu carreguei o Xcode para desenvolver o iPhone.
Last login: Mon Nov 7 14:46:55 on ttys001
iphone:~ travis$
Alguma ideia sobre o que poderia estar causando isso?
Respostas:
É perfeitamente normal que isso ocorra; quando você acessa o Terminal remotamente, o bash faz uma pesquisa DNS reversa. Será o mesmo se o nome do host não estiver especificado na rede da qual você está se conectando e não houver resposta do servidor DHCP ou a pesquisa inversa no servidor DNS remoto não conseguir resolver.
Você pode facilmente substituir a configuração padrão usando este comando no Terminal:
Você pode verificá-lo usando:
(em que nn significa o endereço IP do seu Mac)
fonte
sudo scutil --set HostName ''
.HostName
não é aconselhável, pois cria um valor separado que persiste mesmo quando você tenta alterar o nome do host posteriormenteSystem Preferences > Sharing
. Por outro lado, a configuraçãoLocalHostName
atualiza o mesmo valor e, normalmente, também é captada pelo shell ehostname
(oComputerName
valor deve ser atualizado em conjunto). Ou a configuraçãoHostName
se comporta de maneira diferente de uma maneira que é vantajosa aqui?hostname -f
Você também pode querer alterar algumas outras coisas usando o comando scutil:
fonte
scutil
para definirHostName
, ambosComputerName
eLocalHostName
já foram definidos para o novo nome para mim (no Mavericks). É bom saber que essas outras configurações existem.HostName
, porque isso fará com que esse valor persista mesmo quando você tentar alterar seu nome de host posteriormente através das Preferências do Sistema . Por outro lado, oLocalHostName
é captado pelo shell ehostname
, portanto,HostName
nunca é necessário.sudo scutil --set LocalHostName ''
LocalHostName excluído e agora meu prompt está usando o ComputerName, que tem o valor correto.Há duas razões possíveis para o shell (
$HOSTNAME
variável,'\h'
in$PS1
) e ohostname
utilitário relatar um nome de host diferente do mostrado emSystem Preferences > Sharing
:sudo scutil --set HostName newName
foi usado para alterar persistentemente o nome do host - infelizmente, esse valor é independente doLocalHostName
valor definido pelas Preferências do sistema nos bastidores - mesmo queman hostname
sugira esse método, NÃO O USE por esse motivo; executesudo scutil --set HostName ''
para removê-lo , quando nesse pontoLocalHostName
deve ser relatado novamente; para obter mais informações, consulte este post de @Lauri Ranta.[ Atualização: o seguinte não é mais verdadeiro a partir do OSX 10.10 ] Se o seu
/etc/hosts
arquivo tiver uma entrada que corresponda ao endereço IP da sua máquina, o nome dessa entrada será relatado.Somente se nenhuma das opções acima for verdadeira, o shell e
hostname
refletirá o valor definido nas Preferências do Sistema.Se você quiser mudar o seu hostname do shell , execute ambos dos seguintes:
sudo scutil --set LocalHostName <newName>
sudo scutil --set ComputerName <newFriendlyName>
onde
<newFriendlyName>
pode haver uma versão mais amigável (espaços, pontuação) de<newName>
(apenas alfanuméricos e traços).fonte
sudo scutil --set HostName ''
primeiro (importa o caso) e certificou-se de que não há entrada/etc/hosts
?scutil --get HostName
deve relatarHostname: not set
.scutil --get HostName HostName: not set
/ etc / hosts parece benigno ...PS1
variável não possui um nome de host codificado em vez de usá-\h
lo, pois não? Como um aparte:/etc/hosts
não é mais consultado a partir do OSX 10.10 (atualizei minha resposta).sudo scutil --set HostName ''
novamente permite que o OS X mapeie o nome do computador para seu endereço IP (por exemplo, isso agora funcionaping <computername>
).Além da dica de Jeffrey J. Hoover (acima) ,
Eu adicionaria estes dois últimos passos:
dscacheutil -flushcache
fonte
Concordo que a dica de Jeffrey Hoover foi a resposta correta. Limpar o cache do DNS e reiniciar o Mac também é um bom passo. Esta é uma variante da resposta de Jeff Hoover:
fonte
-
: deve ser--set
trabalhar. Além disso, como comentei na resposta de Jeff: provavelmente é melhor não definirHostName
.Preferências do Sistema -> Compartilhamento -> Nome do Computador -> defina-o como preferir
E, em seguida, reinicie o seu computador. Nenhum comando do console foi necessário. Funciona para OS X 10.10.2
fonte
hostname
retornava "MacBook-Pro". Eu até mudei e ainda tinha o problema. Eu nunca vi esse problema antes. Osscutil
comandos funcionaram para mim. Eu estou querendo saber onde / como você deve fazer isso através da interface GUI.Como mencionado em uma resposta separada, outra opção é substituir o prompt PS1 padrão, como executar a seguinte linha (ou adicioná-la ao seu arquivo ~ / .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/
fonte
Usa isto
fonte
Eu tive o problema de que apenas o próprio shell (
zsh
no meu caso) falhou ao mostrar o nome correto do computador. Simplesmente reiniciar o shell resolveu:fonte
Além da resposta anterior, lembre-se de que você pode usar um endereço estático no seu roteador. Você deve inserir o IP estático e o endereço MAC da sua placa de rede e definir um nome para ela. O nome do host será atualizado automaticamente para o nome especificado. É isso aí.
fonte