Quando abro o Terminal, espero que ele mostre como está definido meu PS1 \h:\W \u\$
.
No entanto, ele não está exibindo meu nome de host Eriks-MacBook
, como exibido nas Preferências do Sistema.
Em vez disso, está mostrando uma sequência aleatória unknownb88d120cd4b2
.
Como isso pode ser corrigido ou redefinido?
Esta máquina é totalmente nova e as preferências / configurações não foram alteradas.
hostname
o prompt e pressione enter. O que você ganha?Respostas:
Gordon dá uma boa resposta para a origem do seu nome de host.
Se você deseja que o nome que você definiu em Preferências do Sistema -> Compartilhamento -> Nome do Computador seja exibido no prompt, substitua
\h
por$(scutil --get ComputerName)
. Por exemplo, meu prompt é definido comfonte
O Terminal está mostrando o primeiro rótulo do seu nome de host BSD (assumindo que seu shell seja BASH). Se o seu nome de host BSD for
yourhostname.mynetwork.com
, o Terminal exibirá apenasyourhostname
-Então, de onde vem o nome do host BSD? Pode vir de vários lugares:
• do arquivo:
/etc/hostconfig
• mais do arquivo:
/Library/Preferences/SystemConfiguration/preferences.plist
( Sistema ▸ Sistema ▸ HostName )• caso contrário, o resultado de uma consulta DNS reversa para o seu endereço IP principal (para que você observe um nome de host totalmente diferente quando você visita um cibercafé do que quando conectado em casa)
• senão o seu nome de host "Bonjour" em Preferências do sistema> Compartilhamento (
preferences.plist
novamente ... Sistema ▸ Rede ▸ Nomes de host ▸ LocalHostName )• finalmente, se nenhuma das opções acima tiver sido definida, o nome do host BSD será simplesmente
localhost
A propósito, eu respondi à mesma pergunta há algum tempo aqui: Terminal Mac OS X - de onde vem o nome do prompt
fonte
O OS X tenta várias coisas para encontrar seu "nome de host". Infelizmente, eu não sei a lista exata (e a ordem), mas acho que o que está acontecendo aqui é que ele está descobrindo um nome DNS associado ao seu endereço IP e, usando-o em vez do nome Bonjour, está anunciando por si mesmo (o definido em Preferências de compartilhamento).
Então, por que ele está encontrando um nome DNS? Meu palpite é que o seu roteador local / servidor DHCP / servidor DNS está atribuindo-o dinamicamente, com base em seu endereço de hardware Ethernet (presumivelmente b8: 8d: 12: 0c: d4: b2). Você poderá ajustar as configurações do roteador para impedir que isso seja feito ou provavelmente poderá definir o ID do cliente DHCP do computador (nas Preferências de rede, Configurações avançadas) para controlar o nome que ele atribui a você.
fonte
Não tendo certeza se você ainda está tendo problemas ou não, isso parece ter sido corrigido em algum momento entre Yosemite e Sierra.
Para novos computadores, inicio com as Preferências do sistema de compartilhamento, inserindo o [novo nome] como o Nome do computador desejado. Também insiro o [novo nome] em todos os campos de identificação do cliente DHCP ativos para cada interface de rede. Depois de fazer isso, abro o Terminal para confirmar que ele informa um nome semelhante, alguns caracteres não são permitidos e o sistema modifica o nome, se necessário. Você pode alterar o nome seguindo as etapas abaixo. Basta substituir o bloco [novo nome] pelo nome do computador desejado.
Se o nome não é do meu agrado, prossigo com o descrito acima antes de vinculá-lo ao domínio ativo.
fonte