Comment changer le nom de l'ordinateur pour que le terminal l'affiche sous Mac OS X Mountain Lion? [dupliquer]

245

Lorsque j'ai installé mon ordinateur, je l'ai nommé "Scott's MacBook Pro". Et donc, lorsque je vais dans Préférences Système-> Partage, le MacBook Pro de Scott y est indiqué sous le nom de mon ordinateur. Cependant, l’ouverture d’un terminal me donne cette invite:

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

Lorsque je me connecte à Backblaze, mon ordinateur est répertorié comme "new ‑ host ‑ 4_2012_10_07". N’ai-je pas entièrement défini le nom de mon ordinateur? Devrais-je utiliser la hostnamecommande traditionnelle ?

at01
la source
2
À ma connaissance, c'est ce que le DNS rapporte. Si votre numéro IP n'a pas de nom, le nom de Préférences est utilisé (peut-être le .localdomaine))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen - Mon domaine .local parmi les préférences de partage a été scotts-macbook-pro.local
at01

Réponses:

298

Si tu utilises:

sudo scutil --set HostName name-you-want

cela fonctionnera un peu mieux. Dans la page de manuel 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
la source
4
Travaillé pour moi après avoir exécuté cette commande et redémarré Terminal.
Johnathan Elmore
Travaillé comme un charme
Hos Mercury
Cela fonctionne pour moi, mais lors du redémarrage, il réinitialise le nom d'hôte du terminal sur ce qu'il était avant que je ne le modifie.
jwir3
Fonctionne à Mojave. Le terminal était affiché emulator02même si je l'ai modifié dans les paramètres - ou essayé. Je viens d'exécuter les trois préférences prises en charge et de redémarrer le terminal; maintenant je peux obtenir le bon nom d'hôte.
Daniel
126

Après avoir suivi le conseil de Jeffrey J. Hoover ,

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

J'ajouterais ces deux dernières étapes.

  • Videz le cache DNS en tapant: dscacheutil -flushcache
  • Redémarrez votre Mac.

EDIT: Cela n'a pas fonctionné pour moi jusqu'à ce que je redémarre mon mac.

Danger14
la source
2
@iconoclast Dernière utilisation de Windows principalement en 2004. Le redémarrage a fonctionné pour moi et 16 autres personnes. Ça ne ferait pas de mal.
Danger14
10
Cela signifie-t-il que vous n'avez pas redémarré? (Le redémarrage peut faire mal lorsque vous effectuez un travail sérieux sur votre ordinateur et que vous avez donc de nombreuses applications ouvertes. Retrouver tout ce que vous aviez avant de redémarrer peut être un *****.) De plus, le fait que 16 personnes aient trouvé une partie de votre réponse utile ne signifie pas que rien n'a fonctionné jusqu'à ce qu'ils aient redémarré.
iconoclast
15
Travaillé pour moi sans redémarrer, il suffit de quitter Terminal complètement et de le rouvrir.
Alexander Wigmore
7
J’avais d’abord scutil --getdécouvert cela ComputerNameet LocalHostNamej’avais été correctement défini à l’aide des préférences système (partage). Cependant, il m'a dit que HostNamec'était not set. Ainsi, je viens d'utiliser sudo scutil --setafin de définir HostName. Ensuite, je n'ai pas eu besoin d'utiliser dscacheutilou de redémarrer, car une vérification a immédiatement hostnamemontré que tout était réglé pour moi et que l'ouverture d'un nouvel onglet Terminal montrait que mon invite était maintenant aussi corrigé. (OS X 10.9.4)
Quintin Willison Le
4
Vous ne devriez même pas avoir besoin de redémarrer le terminal pour refléter les changements, il vous suffit de choisir la configuration responsable de votre invite.
Steve Buzonas
43

Pour ceux qui ne recherchent pas une solution en ligne de commande, vous pouvez la changer sous

System Preferences -> Sharing -> Computer Name: 
Jerrylroberts
la source
13
Cela n'a pas fonctionné pour moi. Le nom à l’invite de commande du terminal n’a pas localhost
changé
5
Avez-vous redémarré le terminal?
Gon
Je devais redémarrer Terminal, mais c'était la méthode la plus simple.
skybondsor
Cela n'a pas fonctionné pour moi car Terminal affiche régulièrement l'ancien nom. Mais, la réponse de John l'a résolu - sur Mojave.
Rehmat
21

Vous pouvez définir ce que vous voulez voir avant $dans votre terminal en modifiant le fichier ~/.profile.

Par exemple, si vous ajoutez au fichier ~/.profilela ligne suivante:

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

vous verrez le nom d'hôte et le chemin complet du répertoire actuel:

host_name:current_directory_path$

Vous pouvez également modifier mon exemple en utilisant les options suivantes dans la commande d'exportation:

\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
la source
Pourquoi -1? Il a dit qu'il ne pouvait pas voir son nom d'hôte dans le terminal.
Maverik
4
Ce n'était pas moi avec le -1 :). Merci pour votre réponse. Je suppose que je ne cherche pas seulement comment changer mon nom dans le terminal, mais il est clair que mon ordinateur est toujours référencé par le nouveau nom moche de new-host-4, car des services comme Backblaze l'utilisent. Mon précédent MacBook Pro avait un nom plus sympathique que celui que j’avais choisi. Je ne sais pas pourquoi mon lion de montagne, MacBook Pro, n’utilise pas le nom que j’ai dans les préférences de partage
at01
8

Tu peux courir

sudo hostname Name-Of-My-Computer

dans Terminal pour changer le nom.

Galas
la source
7
La page de manuel relative à hostname indique de s’exécuter scutil --set HostName name-of-hostsi vous souhaitez conserver le nom d’hôte lors des redémarrages
daviewales
Pour moi, cela a très bien fonctionné, même en redémarrant l'ordinateur. Merci.
Brynner Ferreira
Cela a fonctionné pour moi après avoir redémarré mon Mac (sous El Capitan)
Jader Feijo
7

Dans mon cas, j’ai trouvé que c’était un problème avec notre serveur DNS, car la recherche DNS inversée n’a pas permis de récupérer des entrées, car il y avait des entrées DNS en double pour l’adresse IP et le nom d’hôte.

Chris Opperman
la source
2

J'ajoute une réponse ici parce que j'ai récemment rencontré ce problème également.

Sous OSX 10.7.4 et éventuellement antérieur, il semble y avoir un bogue dans l'option Modifier le nom d'hôte du panneau des préférences de partage. Il définit le nom d'hôte sur le dernier élément défini au lieu de l'élément actuel de cet ensemble.

Je devais courir sudo hostname [preferred hostname]afin de le définir correctement, après l'avoir défini dans le partage.

JDL
la source
1

Je n'ai rien fait sur mon ordinateur, mais finalement, pour une raison quelconque, le nom d'hôte et le nom de l'ordinateur sont tous enregistrés comme nom initial. En fait, j'ai eu le terminal suivant ouvert tout le temps et c'est exactement un copier / coller:

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