ターミナルを開くと、PS1が\h:\W \u\$
に設定されているものが表示されるはずです。
ただし、システム環境設定に表示されるように、ホスト名Eriks-MacBook
が表示されません。
代わりに、ランダムな文字列unknownb88d120cd4b2
が表示されます。
これをどのように修正またはリセットできますか?
このマシンは新品であり、設定/設定は変更されていません。
ゴードンはあなたのホスト名の起源に良い answer を与えます。
システム環境設定->共有->コンピュータ名で設定した名前をプロンプトに表示したい場合は、_\h
_を$(scutil --get ComputerName)
に置き換えます。たとえば、私のプロンプトは次のように設定されています
_PS1="[\u@:$(scutil --get ComputerName) \W]\\$ "
_
ターミナルには、BSDホスト名の最初のラベルが表示されます(シェルがBASHであると想定)。 BSDホスト名がyourhostname.mynetwork.com
の場合、ターミナルにはyourhostname
-のみが表示されます
では、BSDホスト名はどこから来るのでしょうか?それはいくつかの場所から来ることができます:
•ファイルから:/etc/hostconfig
•それ以外の場合:/Library/Preferences/SystemConfiguration/preferences.plist
(システム▸システム▸ホスト名)
•それ以外の場合、プライマリIPアドレスの逆DNSクエリの結果(インターネットカフェにアクセスしたときと、自宅で接続したときとでは、まったく異なるホスト名が表示される場合があります)
•それ以外の「Bonjour」ホスト名はシステム環境設定>共有(preferences.plist
もう一度...システム▸ネットワーク▸ホスト名▸LocalHostName)
•最後に、上記のいずれも設定されていない場合、BSDホスト名は単にlocalhost
になります。
ちなみに、私は少し前にここで同じ質問に答えました: Mac OS Xターミナル-プロンプト名はどこから来たのですか
OS Xは「ホスト名」を見つけるためにいくつかのことを試みます。残念ながら、正確なリスト(および順序)はわかりませんが、ここで起こっているのは、そのIPアドレスに関連付けられたDNS名が検出され、それ自体が宣伝しているBonjour名の代わりにそれを使用していることです(で定義されているもの)共有設定)。
では、なぜDNS名を見つけるのでしょうか。私の推測では、ローカルのルーター/ DHCPサーバー/ DNSサーバーが、イーサネットハードウェアアドレス(おそらくb8:8d:12:0c:d4:b2)に基づいて動的に割り当てています。ルーターの設定を調整してこれを停止することもできますが、コンピューターのDHCPクライアントIDを設定して(ネットワーク設定、詳細設定で)、割り当てた名前を制御することもできます。
それでも問題が解決しないかどうかはわかりませんが、ヨセミテとシエラの間で修正されているようです。
新しいコンピューターの場合は、[共有システム設定]から始め、希望するコンピューター名として[新しい名前]を入力します。また、各ネットワークインターフェイスのすべてのアクティブなDHCPクライアントIDフィールドに[新しい名前]を入力します。ターミナルを開いて同様の名前を報告していることを確認した後、一部の文字は許可されないため、システムは必要に応じて名前を変更します。以下の手順を使用して名前を変更できます。[新しい名前]ブロックを目的のコンピューター名に置き換えるだけです。
名前が私の好みに合わない場合は、アクティブドメインにバインドする前に上記の手順に進みます。