たくさんの Mac を使っている。 デスクトップ型のものは基本的に常時電源ONで、 リモートログインとかして利用するので、 「ここはどこ?」にならないために、名前をつけて区別したい。
hostname コマンドで表示される名前がどうやって決まるのか疑問に思った。 大抵は FDQN が返ってくるのだけれど、 “コンピュータ名” らしきもの (実は LocalHostName) が表示されることもある。 うーん。
実は3つの「名前」があるとか。
scutil --get HostName scutil --get ComputerName scutil --get LocalHostName |
あろうことか、WWWサーバーの HostName が設定されていなかった! それでも動くんだね、という感想もあるけれど、なんでそうなったんだろう。
HostName には普通は FDQN を設定しておく。HostName が設定されていれば、 hostname コマンドはそれを表示する。 HostName が設定されていなければ、hostname コマンドは LocalHostName を表示する。 LocalHostName は (設定されていなければ) ComputerName から自動的に決定される。
ComputerName も自動的に設定されたりするが (インストール時のユーザーの名前からとか?)、 システム設定で表示して、簡単に変更できるので (実際変更することが多い)、 “自分が決めている” 感が結構ある。
HostName は一度設定しておけばよい (それが記憶される)、というので、 設定されていないということは一度もやらなかった、ということなんだろう。 どうしてそうなったかはさておき、やっておこう。
sudo scutil --set HostName nalab.mind.meiji.ac.jp |
ComputerName, LocalHostName も同じように設定できる。
自分なりのまとめ
表示するには scutil --get 名前の種類 とする。
設定するには scutil --set 名前の種類 つけたい名前 とする。