前にMacのホスト名の設定 の所で ローカルネットワークでない場合のホスト名 の設定をしてましたが、使っているファイルがYosemiteでは完全に消去されて 同じ設定方法ができなくなったのでそれのアップデート。
Yosemiteでの、としてますが、Mavericks以前でも恐らくこの方法の方が 正しかったんでは、と思います。
ローカルネットワークでない場合のホスト名@Yosemite
Mavericks以前では/etc/hostconfigというファイルがあって、その中に
HOSTNAME=myMac.local
とか書いておけば、グローバルネットワーク上でもmyMac.localという ホスト名を指定することが出来ましたが、Yosemiteでは/etc/hostconfig自体が もう使われなくなりました。 (もともと以前から# This file is going awayみたいな事が書かれてました。)
ではどうするかというと、実は環境設定の共有から 設定されるLocalHostNameやコンピューター名同様、
- /Library/Preferences/SystemConfiguration/preferences.plist
の中で設定出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Systemの中のさらにもう一つのSystemの中の項目の中で、 HostNameという値がありますが、 これはデフォルトではありませんが、このkeyを加えて myMac.local等と上の様にして指定する事が出来ます。
LocalHostNameやComputerNameは共有のコンピューター名の 所で設定されているものです。
ホスト名として使われるときにはLocalHostNameに.localが付いたもの 使われるので最後のHostNameのところではそれに合わせるために myMac.localとしています。
これで、ローカルネットワーク中でもグローバルなIPを貰うようなところでも (少なくとも手元では)同じ名前で使う事が出来ます。
またこれらの値は
$ sudo scutil --set ComputerName myMac
$ sudo scutil --set LocalHostName myMac
$ sudo scutil --set HostName myMac.local
のように、scutil
コマンドを使ってターミナルから設定することも可能です。
この辺、下のスクリプトを見つけて参考にしました。
scutil
以外にもdefaults
コマンドを使って色々と対話的に設定していく
スクリプトですが、
こんな感じのスクリプトを自分用にも作って、
homebrew-file
の中でも使えるようにしたりして
一発でアプリも設定も自分用に初期化したり後のために記録しておいたり
出来るようにしたい所。