簡単に言うと:
私が知る限り、hostname
コマンドにはオプションがあります-f
。マニュアルページから:
-f
精子の名前にドメイン情報を含めます。これがデフォルトの動作です。
これがデフォルトの動作であるため、印刷された名前にドメイン情報が含まれていませんMY-COMPUTER-NAME
。
追加情報:
共有設定で「コンピュータ名」を変更することはできません(図のように灰色で表示されます)。
最初に私の「localhostname」も「Hippotigris」に設定されていましたが、この問題を発見したときに次のコマンドで得られた名前に変更しましたhostname
。
私が見つけたこの記事タイトルは「ターミナルでMacホスト名またはコンピュータ名を設定する」ですが、これは問題が解決するのか悪化するのかわかりません。
私が達成したいこと:
私はNodeJSの組み込みdns.lookup
機能をos.hostname
組み込み機能と一緒に使用します。私の考えでは、この関数hostname
はコマンドが印刷するのと同じものを返すと思いますhostname
(現在実行中の作業はまさにそれです)。私が実行したとき:
node -e "require('dns').lookup(require('os').hostname() + '.local', console.log)"
うまく動作し、ローカルネットワーク上のマイコンピュータのIPアドレスを印刷しますが、実行すると
node -e "require('dns').lookup(require('os').hostname(), console.log)"
エラーを記録します。getaddrinfo ENOTFOUND LM-SJN-21001464
周りに尋ねたらこのスクリプトはほとんどの人には機能しないようです.local
。したがって、私のコンピュータの構成に関連していると推測されます。
ベストアンサー1
ありがとうTwitterのヘルプDNS設定の検索ドメインに「.local」を追加することで重要な問題を解決しましたがhostname
(およびos.hostname
)は、まだ「.local」が追加されていないホスト名を返します。
したがって、私が経験した問題に対する答えは次のとおりです。しかし、私が投稿した質問ではありません。何が起こっているのか、心配すべきかを理解したいと思います。