MacOS の ComputerName/LocalHostName/HostName 備忘録

Apple
Photo by hyt.

MacOS の ComputerName/LocalHostName/HostName についての備忘録です.探した中で,最も分かり易い解説は,

「El Capitan」のココが気になる ~ホスト名編~ - 新・OS X ハッキング!(147)
いつか書こうと思っているうちに1年以上経過したが、Yosemiteで"あのファイル"が姿を消した。もうすぐ消えるぞ、サポートされなくなるぞ、とメッセージが記述されていたファイル……といえばピンとくる向きもあるだろう。そう、「/etc/hos...

でしたが,いまいちよくわからない部分もあったので,以下メモしておきます.

ComputerName

Apple による説明は,man scutil としてみると,

The user-friendly name for the system.

で,「システム環境設定 → 共有 → コンピュータ名」から参照できるものみたい.もともとは,AppleTalk とか,SLP/DP(サービスロケーションプロトコル)とかで使われたもののようですね.

変更は,上記の通り,「システム環境設定 → 共有 → コンピュータ名」からGUI で変更するか,ターミナルから,

$ scutil --get ComputerName
# 現在の ComputerName を参照する

$ sudo scutil --set ComputerName *******
# ComputerName を ****** に書き換える

とすれば良いみたい.

LocalHostName

これは上のものよりも分かり易い.

The local (Bonjour) host name.

だそうです.「システム環境設定 → 共有 → コンピュータ名」を変更すると,この値も同じものになるみたいですが,ターミナルから,

$ scutil --get LocalHostName
# 現在の LocalHostName を参照する

$ sudo scutil --set LocalHostName *******
# LocalHostName を ****** に書き換える

とすることで,ComputerName と別のものをつけることも可能のよう.

AppleTalk とか SLP/DP の後継が Bonjour だとするなら,実質的に ComputerName と LocalHostName は同じだと思って良いみたいですね.

HostName

Apple による公式な説明は,

The name associated with hostname (1) and gethostname (3).

で,ターミナルから問い合わせた場合の名前だと考えれば良さそう.従って変更もターミナルから,

$ scutil --get HostName
# 現在の LocalHostName を参照する

$ sudo scutil --set HostName *******
# LocalHostName を ****** に書き換える

とするしかないようです.何も設定されていない場合,上のコマンドで問い合わせると,「Hostname: not set」となりますが,何故だか hostname コマンドだと,LocalHostName に設定されたものが返されてしまいます.Apple の説明と違いますし,そもそも何のためのものなのかがさっぱり分からないんですよね……

まとめ

と言うことで,疑問は残っているのですが,とりあえず,Bonjour で広告する名前と,見た目ん名前は別にできるということだけはわかったというのが今回の結論ですね.

以上

タイトルとURLをコピーしました