Wenn ich Terminal öffne, erwarte ich, dass es zeigt, auf was meine PS1 eingestellt ist \h:\W \u\$
.
Es zeigt jedoch nicht meinen Hostnamen an Eriks-MacBook
, wie in den Systemeinstellungen angezeigt.
Stattdessen wird eine zufällige Zeichenfolge angezeigt unknownb88d120cd4b2
.
Wie kann dies behoben oder zurückgesetzt werden?
Dieses Gerät ist brandneu und die Einstellungen wurden nicht geändert.
hostname
die Eingabeaufforderung ein und drücken Sie die Eingabetaste. Was bekommst du?Antworten:
Gordon gibt eine gute Antwort auf die Herkunft Ihres Hostnamens.
Wenn der in den Systemeinstellungen -> Freigabe -> Computername festgelegte Name in Ihrer Eingabeaufforderung angezeigt werden soll, ersetzen Sie ihn
\h
durch$(scutil --get ComputerName)
. ZB wird meine Eingabeaufforderung mit gesetztquelle
Das Terminal zeigt Ihnen die erste Bezeichnung Ihres BSD-Hostnamens an (vorausgesetzt, Ihre Shell ist BASH). Wenn Ihr BSD-Hostname lautet,
yourhostname.mynetwork.com
wird im Terminal nur Folgendes angezeigtyourhostname
:Woher kommt also der BSD-Hostname? Es kann von mehreren Orten kommen:
• aus der Akte:
/etc/hostconfig
• sonst aus der Datei:
/Library/Preferences/SystemConfiguration/preferences.plist
( System ▸ System ▸ Hostname )• ansonsten das Ergebnis einer umgekehrten DNS-Abfrage nach Ihrer primären IP-Adresse (sodass möglicherweise ein völlig anderer Hostname angezeigt wird, wenn Sie ein Internetcafé besuchen, als wenn Sie zu Hause verbunden sind)
• ansonsten Ihren "Bonjour" -Hostnamen in den Systemeinstellungen> Freigabe (
preferences.plist
erneut ... System ▸ Netzwerk ▸ Hostnamen ▸ LocalHostName )• Wenn keine der oben genannten Optionen festgelegt wurde, lautet der BSD-Hostname einfach
localhost
Übrigens habe ich die gleiche Frage vor einiger Zeit hier beantwortet: Mac OS X Terminal - Woher kommt der Name der Eingabeaufforderung?
quelle
OS X versucht eine Reihe von Dingen, um seinen "Hostnamen" zu finden. Leider kenne ich die genaue Liste (und Reihenfolge) nicht, aber ich denke, dass hier ein DNS-Name gefunden wird, der mit seiner IP-Adresse verknüpft ist, und der anstelle des Bonjour-Namens verwendet wird, der für sich selbst geworben wird (der in definierte) Einstellungen teilen).
Warum findet es einen DNS-Namen? Ich vermute, Ihr lokaler Router / DHCP-Server / DNS-Server weist ihm dynamisch eine zu, basierend auf seiner Ethernet-Hardwareadresse (vermutlich b8: 8d: 12: 0c: d4: b2). Möglicherweise können Sie die Einstellungen des Routers anpassen, um dies zu verhindern, oder Sie können die DHCP-Client-ID des Computers (in den Netzwerkeinstellungen unter Erweiterte Einstellungen) festlegen, um zu steuern, welchen Namen er Ihnen zuweist.
quelle
Sie sind sich nicht sicher, ob Sie immer noch Probleme haben oder nicht. Dies scheint irgendwann zwischen Yosemite und Sierra behoben worden zu sein.
Bei neuen Computern beginne ich mit den Systemeinstellungen für die gemeinsame Nutzung und gebe den [neuen Namen] als gewünschten Computernamen ein. Ich gebe auch den [neuen Namen] in alle aktiven DHCP-Client-ID-Felder für jede Netzwerkschnittstelle ein. Nachdem ich das Terminal geöffnet habe, um zu bestätigen, dass ein ähnlicher Name angezeigt wird, sind einige Zeichen nicht zulässig, sodass das System den Namen gegebenenfalls ändert. Sie können den Namen mithilfe der folgenden Schritte ändern. Ersetzen Sie einfach den Block [Neuer Name] durch den gewünschten Computernamen.
Wenn mir der Name nicht gefällt, gehe ich wie oben beschrieben vor, bevor ich ihn an Active Domain binde.
quelle