2007年 10月 01日

OS X のネットワーク設定

ずっと ~/Library 以下を探してたけど、ない。 /Library/Preferences/SystemConfiguration/preferences.plist に書いてある。

  • Sets/* 以下に各ネットワーク設定が入ってる。
  • Sets/*/Network/Service/* は NetworkServices/* へのリンク
  • NetworkServices/* 以下に各サービスの情報
  • NetworkServices/*/Proxies/* にプロキシ設定
  • サービス情報は (各ネットワーク環境 * 各インターフェイス)

これ、この plist を直接いぢくる以外の方法でプロキシ設定って変更できないのかなぁ。なんか API とかないのかな。だいぶ探したけどないっぽくて困る。osascript で SendKey っぽいことしながら書きかえるのはちょっとみかけたけど、ださすぎる……
直接いぢるっていっても、root:admin 0644 だから sudo 必須で、結局あぷりけーそんがわから自動設定ってのはめんどいんだよなぁ。

あと疑問なのは、admin 権限もってないユーザってプロキシ設定の変更ってできないのかな。やってみろって話だけど余計なユーザつくりたくないなぁとおもってやる気なくしぎみ。というかもしそうだとしたらプロキシ設定必要なときどうするんだろ。Safari 使わない、とかになるのかな。まさかそんなわけないよなぁ……


もし直接変えるとすると、

  1. /CurrentSet を読む (/Set/0 だとしよう)
  2. /Set/0/Service のリンクをたどって /NetworkServices を列挙
  3. アクティブなインターフェイスのサービスを取得
  4. プロキシ設定

なんかでも、NotificationCenter とかになんか投げないと反映されなそうだなぁ。それに直接いぢるのはやっぱこわいしやりたくない。