Mein Computername in den Systemeinstellungen> Freigabe ist auf "archos" eingestellt, wird jedoch auf dem Terminal als "iphone" angezeigt. Nachdem ich Xcode für die iPhone-Entwicklung geladen hatte, begann ich gerade damit.
Last login: Mon Nov 7 14:46:55 on ttys001
iphone:~ travis$
Irgendwelche Ideen, was das verursachen könnte?
Antworten:
Es ist völlig normal, dass dies auftritt. Wenn Sie sich remote anmelden, führt Terminal Bash eine umgekehrte DNS-Suche durch. Dies ist nur dann der Fall, wenn der Hostname in dem Netzwerk, über das Sie eine Verbindung herstellen, nicht angegeben ist und keine Antwort vom DHCP-Server eingeht oder die umgekehrte Suche nach dem Remote-DNS-Server nicht aufgelöst werden kann.
Sie können die Standardeinstellung leicht überschreiben, indem Sie diesen Befehl in Terminal verwenden:
Sie können dies überprüfen, indem Sie Folgendes verwenden:
(wobei nn die IP-Adresse Ihres Mac angibt)
quelle
sudo scutil --set HostName ''
.HostName
ist nicht ratsam, da dadurch ein separater Wert erstellt wird, der auch dann erhalten bleibt, wenn Sie später versuchen, den Hostnamen über zu ändernSystem Preferences > Sharing
. Im Gegensatz dazuLocalHostName
aktualisiert die Einstellung denselben Wert und wird normalerweise auch von der Shell und übernommenhostname
(derComputerName
Wert sollte gleichzeitig aktualisiert werden). Oder verhält sich das SetzenHostName
anders, als es hier vorteilhaft ist?hostname -f
Möglicherweise möchten Sie auch einige andere Dinge mit dem Befehl scutil ändern:
quelle
scutil
zum Festlegen verwendenHostName
, wurden beideComputerName
undLocalHostName
für mich bereits auf den neuen Namen festgelegt (in Mavericks). Schön zu wissen, dass es diese anderen Einstellungen gibt.HostName
, da dieser Wert auch dann bestehen bleibt, wenn Sie später versuchen, Ihren Hostnamen über die Systemeinstellungen zu ändern . Umgekehrt sind dieLocalHostName
heißt gepflückt durch die Schale undhostname
, soHostName
wird nie gebraucht.sudo scutil --set LocalHostName ''
gelöscht Local und jetzt meine Aufforderung wird mit Computer, die den richtigen Wert hat.Es gibt zwei mögliche Gründe, warum die Shell (
$HOSTNAME
Variable,'\h'
in$PS1
) und dashostname
Dienstprogramm einen Hostnamen melden, der sich von dem in gezeigten unterscheidetSystem Preferences > Sharing
:sudo scutil --set HostName newName
wurde verwendet, um den Hostnamen dauerhaft zu ändern - dieser Wert ist leider unabhängig von demLocalHostName
Wert, der in den Systemeinstellungen hinter den Kulissen festgelegt wurde - auch wennman hostname
diese Methode empfohlen wird, verwenden Sie sie aus diesem Grund NICHT . Führen Siesudo scutil --set HostName ''
den Befehl aus , um es zu entfernen . An diesem PunktLocalHostName
sollte erneut gemeldet werden. Hintergrundinformationen finden Sie in diesem Beitrag von @Lauri Ranta.[ Update: Ab OSX 10.10 gilt Folgendes nicht mehr ] Wenn Ihre
/etc/hosts
Datei einen Eintrag enthält, der mit der IP-Adresse Ihres Computers übereinstimmt , wird der Name dieses Eintrags gemeldet.Nur wenn keine der oben genannten Bedingungen zutrifft, wird die Shell
hostname
den in den Systemeinstellungen festgelegten Wert wiedergeben.Wenn Sie Ihren Hostnamen in der Shell ändern möchten , führen Sie beide der folgenden Aktionen aus :
sudo scutil --set LocalHostName <newName>
sudo scutil --set ComputerName <newFriendlyName>
wo
<newFriendlyName>
kann eine freundlichere Version sein (Leerzeichen, Interpunktion) von<newName>
(nur alphanumerische Zeichen und Bindestriche).quelle
sudo scutil --set HostName ''
zuerst gelaufen (case matters) und hast sichergestellt, dass kein Eintrag in ist/etc/hosts
?scutil --get HostName
sollte berichtenHostname: not set
.scutil --get HostName HostName: not set
/ etc / hosts scheint gütig ...PS1
Variable hat nicht zufällig einen fest codierten Hostnamen, anstatt ihn zu verwenden\h
, oder? Übrigens:/etc/hosts
wird ab OSX 10.10 nicht mehr konsultiert (ich habe meine Antwort aktualisiert).sudo scutil --set HostName ''
kann OS X den Computernamen wieder seiner IP-Adresse zuordnen (z. B. funktioniert dies jetztping <computername>
).Zusätzlich zu Jeffrey J. Hoovers Tipp (oben) ,
Ich würde diese letzten beiden Schritte hinzufügen:
dscacheutil -flushcache
quelle
Ich stimme zu, dass Jeffrey Hoovers Tipp die richtige Antwort war. Das Leeren des DNS-Cache und das Neustarten des Mac ist ebenfalls ein netter Schritt. Dies ist eine Variante von Jeff Hoovers Antwort:
quelle
-
: Es muss--set
funktionieren. Wie ich auch bei Jeffs Antwort bemerkte: Es ist wahrscheinlich besser, nicht zu setzenHostName
.Systemeinstellungen -> Freigabe -> Computername -> Beliebig einstellen
Starten Sie anschließend Ihren Computer neu. Es waren keine Konsolenbefehle erforderlich. Kompatibel mit OS X 10.10.2
quelle
hostname
"MacBook-Pro" zurückgab. Ich habe es sogar geändert und hatte immer noch das Problem. Ich habe dieses Problem noch nie gesehen. Diescutil
Befehle funktionierten für mich. Ich frage mich, wo / wie Sie das über die GUI-Schnittstelle tun sollen.Wie in einer separaten Antwort erwähnt, besteht eine weitere Möglichkeit darin, die Standard-PS1-Eingabeaufforderung zu überschreiben, z. B. die folgende Zeile auszuführen (oder der Datei ~ / .bash_profile hinzuzufügen):
refs:
https://superuser.com/a/414903/39364
http://www.cnet.com/news/keep-your-command-prompt-host-name-static-in-os-x-and-other-unix-systems/
quelle
Benutze das
quelle
Ich hatte das Problem, dass nur die Shell selbst (
zsh
in meinem Fall) nicht den richtigen Computernamen zeigte. Ein einfacher Neustart der Shell löste das Problem:quelle
Denken Sie zusätzlich zur vorherigen Antwort daran, dass Sie in Ihrem Router eine statische Adresse verwenden können. Sie müssen die statische IP-Adresse und die MAC-Adresse Ihrer Netzwerkkarte eingeben und dann einen Namen dafür festlegen. Der Hostname wird automatisch auf den angegebenen Namen aktualisiert. Das ist es.
quelle