Como alterar o nome do computador para que o terminal o exiba no Mac OS X Mountain Lion? [duplicado]

245

Esta pergunta já tem uma resposta aqui:

Quando configurei meu computador, chamei-o de "Scott's MacBook Pro". E assim, quando vou para Preferências do sistema-> Compartilhamento, diz o MacBook Pro de Scott como o nome do meu computador. No entanto, abrir um terminal me dá esse prompt:

Last login: Sun Oct  7 11:02:49 on ttys003
new-host-4:~ scott$ 

Quando eu faço login no Backblaze, eles listam meu computador como "novo-host-4_2012_10_07". Não defini completamente o nome do meu computador? Devo usar o hostnamecomando tradicional ?

at01
fonte
2
Que eu saiba, é isso que o DNS relata. Se o seu número de IP não tiver um nome, o nome das Preferências será usado (talvez o .localdomínio))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - meu domínio .local das preferências de compartilhamento foi scotts-macbook-pro.local
at01:

Respostas:

297

Se você usar:

sudo scutil --set HostName name-you-want

funcionará um pouco melhor. Na página do manual scutil (8):

--get pref
    Retrieves the specified preference.  The current value will be
    reported on standard output.

    Supported preferences include:
          ComputerName   The user-friendly name for the system.
          LocalHostName  The local (Bonjour) host name.
          HostName       The name associated with hostname(1) and gethostname(3).

--set pref [newval]
    Updates the specified preference with the new value.  If the new value is not
    specified on the command line then it will be read from standard input.

    Supported preferences include: ComputerName LocalHostName HostName

    The --set option requires super-user access.
John
fonte
4
Funcionou para mim depois de executar esse comando e reiniciar o Terminal.
Johnathan Elmore
Trabalhou como charme
Hos Mercury
Isso funciona para mim, mas após a reinicialização, ele redefine o nome do host no terminal para o que era antes de eu alterá-lo.
jwir3
Trabalha em Mojave. O terminal estava aparecendo emulator02, embora eu o tenha alterado nas configurações - ou tentei. Acabei de executar todas as três preferências suportadas e reiniciei o terminal; agora posso acertar o nome do host.
Daniel
126

Depois de seguir a dica de Jeffrey J. Hoover ,

sudo scutil --set ComputerName "newname"
sudo scutil --set LocalHostName "newname"
sudo scutil --set HostName "newname"

Eu adicionaria esses dois últimos passos.

  • Limpe o cache do DNS digitando: dscacheutil -flushcache
  • Reinicie o seu Mac.

Edição: Não funcionou para mim até que eu reiniciei o meu mac.

Perigo14
fonte
2
@iconoclast Utilizou o Windows pela última vez principalmente em 2004. Reiniciar funcionou para mim e para outras 16 pessoas. Não machucaria.
Danger14
10
Significando que não funcionou até você reiniciar? (Reiniciar pode prejudicar quando você realmente faz um trabalho sério no seu computador e, portanto, tem muitos aplicativos abertos. Recuperar tudo como você o tinha antes da reinicialização pode ser uma merda.) Além disso, o fato de 16 pessoas terem encontrado algum parte da sua resposta útil não significa que nada funcionou até serem reiniciados.
Iconoclast
15
Trabalhou para mim sem reiniciar, basta sair do Terminal completamente e reabrir.
Alexander Wigmore
7
I usado pela primeira vez scutil --getpara descobrir que ComputerNamee LocalHostNametinha sido correctamente definida usando Preferências do Sistema (Sharing). No entanto, ele me disse que HostNameera not set. Assim, eu apenas usei sudo scutil --setpara definir HostName. Então, eu não precisei usar dscacheutilou fazer uma reinicialização, pois imediatamente uma verificação hostnamemostrou que as coisas estavam corrigidas para mim e a abertura de uma nova guia Terminal mostrava que meu prompt também estava corrigido. (OS X 10.9.4)
Quintin Willison
4
Você nem precisa reiniciar o terminal para refletir as alterações, apenas forneça a configuração responsável pelo seu prompt.
Steve Buzonas
43

Para aqueles que não estão procurando uma solução de linha de comando, você pode alterá-la em

System Preferences -> Sharing -> Computer Name: 
jerrylroberts
fonte
13
Isso não funcionou para mim. O nome no prompt de comando do terminal ainda permaneceu comolocalhost
timurb
5
Você reiniciou o terminal?
30716 Gon
Defs tive que reiniciar o Terminal, mas este foi o método mais fácil.
skybondsor
Isso não funcionou para mim porque o Terminal continuava mostrando o nome antigo. Mas, a resposta de John resolveu - no Mojave.
Rehmat
21

Você pode definir o que deseja ver antes $no terminal modificando o arquivo ~/.profile.

Por exemplo, se você adicionar ao arquivo ~/.profilea seguinte linha:

# h is the host name, w the complete path 
export PS1="\h:\w$ "

você verá o nome do host e o caminho completo do diretório atual:

host_name:current_directory_path$

Você também pode modificar meu exemplo usando as seguintes opções no comando de exportação:

\d – Current date
\t – Current time
\h – Host name
\# – Command number
\u – User name
\W – Current working directory (i.e: Desktop/)
\w – Current working directory, full path (i.e: /Users/Admin/Desktop)
Maverik
fonte
Por que -1? Ele disse que não pode ver seu nome de host no terminal.
Maverik
4
Não fui eu com o -1 :). Obrigado pela sua resposta, acho que não estou apenas procurando como alterar meu nome no terminal, mas claramente meu computador ainda é referenciado pelo nome feio new-host-4, como serviços como o Backblaze o utilizam. Meu MacBook Pro anterior tinha um nome melhor que eu escolhi, não sei por que meu MacBook Pro não está usando o nome que eu tenho nas preferências de compartilhamento
at01:
8

Você pode correr

sudo hostname Name-Of-My-Computer

no Terminal para alterar o nome.

Galas
fonte
7
A página man para hostname diz a correr scutil --set HostName name-of-hostse você quiser manter o nome da máquina entre as reinicializações
daviewales
Para mim, funcionou muito bem, mesmo reiniciando o computador. Obrigado.
Brynner Ferreira
Isso funcionou para mim depois que eu reiniciei meu Mac (executando El Capitan)
Jader Feijo
7

No meu caso, descobri que havia um problema com o servidor DNS, pois a pesquisa reversa do DNS não eliminava porque havia entradas DNS duplicadas para o endereço IP e o nome do host.

Chris Opperman
fonte
2

Estou adicionando uma resposta aqui porque também recentemente encontrei esse problema.

No OSX 10.7.4 e possivelmente anterior, parece haver um erro na opção Editar nome do host no painel de preferências de compartilhamento. Ele define o nome do host como o último conjunto de coisas, em vez do conjunto atual.

Eu tive que executar sudo hostname [preferred hostname]para configurá-lo corretamente, depois de configurá-lo no compartilhamento.

JDL
fonte
1

Não fiz nada no meu computador, mas eventualmente, por algum motivo, o nome do host e o nome do computador foram todos registrados como o nome que defini inicialmente! Na verdade, eu tive o seguinte terminal aberto o tempo todo e isso é exatamente um recorte e colagem:

new-host-4:~ scott$ hostname
new-host-4.home
new-host-4:~ scott$ hostname
Scotts-MacBook-Pro.local
at01
fonte