web-dev-qa-db-fra.com

Terminal OSX affichant un nom d'hôte incorrect

Lorsque j'ouvre un terminal, je m'attends à ce que ma PS1 affiche \h:\W \u\$.

Cependant, mon nom d’hôte Eriks-MacBook n’a pas été affiché, comme indiqué dans les Préférences Système.

Au lieu de cela, il affiche une chaîne aléatoire unknownb88d120cd4b2.

Comment cela peut-il être corrigé ou réinitialisé?

Cette machine est neuve et les préférences/paramètres n'ont pas été changés.

30
Erik W

Gordon donne une bonne réponse à l'origine de votre nom d'hôte.

Si vous souhaitez que le nom que vous définissez dans Préférences Système -> Partage -> Nom de l'ordinateur apparaisse dans votre invite, remplacez \h par $(scutil --get ComputerName). E.g mon invite est réglé avec

PS1="[\u@:$(scutil --get ComputerName) \W]\\$ "
25
ajs

Terminal vous montre la première étiquette de votre nom d’hôte BSD (en supposant que votre shell est BASH). Si votre nom d’hôte BSD est yourhostname.mynetwork.com, le terminal n’affiche que yourhostname-

Alors d'où vient le nom d'hôte BSD? Cela peut venir de plusieurs endroits:

• à partir du fichier: /etc/hostconfig

• else du fichier: /Library/Preferences/SystemConfiguration/preferences.plist ( Système ▸ Système NomHôte )

• sinon, le résultat d'une requête DNS inversée pour votre adresse IP principale (de sorte que vous remarquerez peut-être un nom d'hôte totalement différent apparaissant lorsque vous visitez un café Internet par rapport à une connexion à la maison).

• sinon votre nom d’hôte "Bonjour" dans Préférences Système> Partage (preferences.plist encore ... Système ▸ Réseau NomsHôte LocalHostName )

• enfin, si aucun des éléments ci-dessus n'a été défini, le nom d'hôte BSD sera simplement localhost

Au fait, j'ai déjà répondu à la même question il y a quelque temps: Terminal Mac OS X - d'où provient le nom de l'invite

19
username

OS X essaie plusieurs choses pour trouver son "nom d'hôte". Malheureusement, je ne connais pas la liste exacte (ni son ordre), mais je pense que ce qui se passe ici, c’est qu’il découvre un nom DNS associé à son adresse IP et qu’il utilise celui-ci au lieu du nom Bonjour (il est défini dans Partage des préférences).

Alors, pourquoi trouve-t-il un nom DNS? Mon hypothèse est que votre routeur/serveur DHCP/serveur DNS local lui attribue un port de manière dynamique, en fonction de son adresse matérielle Ethernet (probablement b8: 8d: 12: 0c: d4: b2). Vous pourrez peut-être ajuster les paramètres du routeur pour que cela ne se produise plus, ou définir l'ID client DHCP de l'ordinateur (dans les préférences Réseau, paramètres avancés) pour contrôler le nom qu'il vous attribue.

12
Gordon Davisson

Je ne sais pas si vous rencontrez toujours des problèmes, cela semble avoir été résolu entre Yosemite et Sierra.

Pour les nouveaux ordinateurs, je commence par les préférences du système de partage, en entrant le [nouveau nom] comme nom d'ordinateur souhaité. J'entre également le [nouveau nom] dans tous les champs d'ID de client DHCP actifs pour chaque interface réseau. Une fois que j’ai fait cela, j’ouvre Terminal pour confirmer qu’il donne un nom similaire, certains caractères ne sont pas autorisés. Le système modifiera donc le nom si nécessaire. Vous pouvez modifier le nom en procédant comme suit: il vous suffit de remplacer le bloc [nouveau nom] par le nom de votre ordinateur souhaité.

  1. Terminal ouvert
  2. À l'invite, entrez ce qui suit - Sudo scutil --set HostName [nouveau nom]
  3. Ouvrez une nouvelle fenêtre de terminal pour confirmer que le nouveau nom a été accepté.

Si le nom ne me convient pas, je procède avec ce qui précède avant de le lier à Active Domain.

1
Wallace Karraker