スクリプトから Computer Name を変更


外付けポータブルディスクから Mac OS X を起動していて、ひとつ困ったことがあります。環境がほぼ完全に同じになるために、どの Mac で起動しているのかを区別しにくいことです。どうなるかというと、自宅の iMac でも、職場の MacBook Air でも、留学中の学生が使っている iMac でも、ポータブルディスクから起動すると、どれも同じ ”dasher” になってしまいます。

まぁ、深刻に困ることもないんですけれど、ファイル共有サービスで、どの機械を使っても同じ共有名で見えるというのは気持ち悪かったりします。ということで、機械の名前をスクリプトを使って自動的に設定する方法について探していました。

でやってみれば簡単。”/usr/sbin/networksetup” というコマンドが見つかりました。

$ sudo networksetup -setcomputername dancer

$ networksetup -getcomputername
dancer

あとは、OS の起動時に HDD の UUID とか、ネットワークカードの MAC アドレスでも見ながら、機械を識別して、上のコマンドを使うだけみたい。

ちなみに Tiger のころは /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Support/networksetup というコマンドを使っていたみたいです。Snow Leopard には ”networksetup-tiger” が残っています。これは Leopard 時代の残骸でしょうか。