OSXターミナルに誤ったホスト名が表示される


30

ターミナルを開くと、PS1の設定が表示され\h:\W \u\$ます。

ただしEriks-MacBook、システム環境設定に表示されるように、ホスト名は表示されません。

代わりに、ランダムな文字列を表示していますunknownb88d120cd4b2

これはどのように修正またはリセットできますか?

このマシンは真新しく、設定/設定は変更されていません。


hostnameプロンプトに入力して、Enterキーを押します。あなたは何を得ますか?
ブレンダー

unknownb88d120cd4b2:〜erik $ホスト名unknownb88d120cd4b2 unknownb88d120cd4b2:〜erik $

しかし、それは私のコンピューターの名前がシステム設定-共有にあるものではありません。私はそれをデフォルトから「erik-mba」に変更しました。

回答:


25

Gordonは、ホスト名の起源について適切な回答を提供します。

>共有- -あなたはシステム環境設定で設定した名前たい場合は、あなたのプロンプトに表示する>コンピュータ名を、交換してください\h$(scutil --get ComputerName)。たとえば、私のプロンプトは

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

19

ターミナルには、BSDホスト名の最初のラベルが表示されます(シェルがBASHであると仮定)。BSDホスト名が「yourhostname.mynetwork.comTerminal」の場合のみ表示されますyourhostname-

それでは、BSDホスト名はどこから来たのでしょうか?それはいくつかの場所から来ることができます:

•ファイルから: /etc/hostconfig

•他のファイルから:/Library/Preferences/SystemConfiguration/preferences.plistシステム▸システム▸ホスト名

•それ以外の場合、プライマリIPアドレスの逆DNSクエリの結果(したがって、インターネットカフェにアクセスしたときと自宅で接続したときとではまったく異なるホスト名が表示される場合があります)

•それ以外の場合は、[システム環境設定]> [共有]で「Bonjour」ホスト名(preferences.plistもう一度... システム▸ネットワーク▸ホスト名▸LocalHostName

•最後に、上記のいずれも設定されていない場合、BSDホスト名は単に localhost

ところで、私はしばらく前に同じ質問に答えました:Mac OS X Terminal-プロンプト名はどこから来たのですか


1
DNS逆引きがシステム上の他のすべての構成よりも優先される可能性はありますか?
caesarsol 14年

自分のシステムをチェックしました:/ etc / hostconfigは存在しません。preferences.plist▸ システム▸システム▸ホスト名(が定義されていないコンピューターがあります)。逆引きDNSルックアップは、ターミナルウィンドウに表示される不正を返します。システム▸ネットワーク▸ホスト名▸LocalHostNameが定義されています。したがって、システムが私のシステムと同じものを表示している場合、逆DNSルックアップが最初に一致し、LocalHostNameよりも優先されます
エドワードフォーク

12

OS Xは、「ホスト名」を見つけるために多くのことを試みます。残念ながら正確なリスト(および順序)はわかりませんが、ここで起こっているのは、IPアドレスに関連付けられたDNS名を発見し、Bonjour名の代わりにそれを使用していることです(共有設定)。

では、なぜDNS名を見つけるのでしょうか?私の推測では、ローカルルーター/ DHCPサーバー/ DNSサーバーは、イーサネットハードウェアアドレス(おそらくb8:8d:12:0c:d4:b2)に基づいて動的に割り当てています。ルーターの設定を調整してこれを停止したり、コンピューターのDHCPクライアントID([ネットワーク設定]の[詳細設定])を設定して割り当てられる名前を制御したりできます。


2
これは私にとって最も役に立ちました。私のマシンはこの振る舞いを表示していましたが、重要なことは、以前に別の名前を見たことがないので、名前が自然に変わったように思われました。そのため、ウイルスやディスクの問題などをチェックするのに90分も無駄にしました。時間の無駄を安全に止めることができることを知ってうれしい。
conspiritech

1

まだ問題があるかどうかはわかりませんが、これはYosemiteとSierraの間で修正されたようです。

新しいコンピューターの場合は、[共有システム設定]から開始し、目的のコンピューター名として[新しい名前]を入力します。また、各ネットワークインターフェイスのすべてのアクティブなDHCPクライアントIDフィールドに[新しい名前]を入力します。ターミナルを開いて同様の名前を報告することを確認した後、一部の文字は許可されないため、システムは必要に応じて名前を変更します。以下の手順を使用して名前を変更できます。[新しい名前]ブロックを目的のコンピューター名に置き換えるだけです。

  1. ターミナルを開く
  2. プロンプトで次を入力します -sudo scutil --set HostName [new name]
  3. 新しいターミナルウィンドウを開いて、新しい名前が受け入れられたことを確認します。

名前が自分の好みに合わない場合は、上記を続行してからActive Domainにバインドします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.