初期設定ファイルが初期化されて困る

ちょっと前からおかしかったんですよね。

Script Editor の環境設定でフォーマットを設定しても、いつの間にか初期設定に戻ってしまう。Xcode と Script Editor を使っているとそういうことがちょくちょく起きることがあった。

Script_Editor_Format_Prefs

なので、自分好みの設定をした初期設定ファイルを保管しておき、不具合があればファイルを差し替えるというスクリプトを使っていました。不便は不便だけど、すぐに自分の設定を再現できるので重宝していました。

ところが、初期設定を置き換えても設定が反映されないという不具合が起きるようになりました。

いつの頃からか初期設定の扱いが変わっていたのですね。知りませんでした。もう、てっきり Script Editor のバグだと思っていました。

OS X 10.8?それとも 10.9 辺りから初期設定がキャッシュされるようになり、設定ファイルの変更や削除を行ってもキャッシュされている設定で上書きしてしまうのですね。

セキュリティ?安全性のためなのでしょうが、アプリケーションを作成している時に初期設定をクリアしても新しい設定が反映されないのでちょっと迷惑。

設定のキャッシュは cfprefsd というプロセスが行っているようで、バックグラウンドでずっと起動しています。こいつが動いている限り、設定ファイルを置き換えても元に戻ってしまうようです。

好みの初期設定ファイルで置き換えるには次のような手順でできます。

  1. アプリケーションを一旦終了する
  2. 現在の初期設定ファイルを削除
  3. 保管している初期設定ファイルを ~/Library/Preferences に
  4. cfprefsd を kill する

cfprefsd は kill しても勝手に再起動します。これで自分好みの設定をアプリケーションに反映できます。これらの手順を AppleScript でまとめます。

このような感じですね。仕組みが分かれば、あとは応用ですね。defaults コマンドの初期設定一括削除は覚えておくと便利です。

初期設定を削除したり管理者権限を要求したりしているので、ご利用はご自身の責任で。

結局、Script Editor の初期設定が初期化されてしまうのはナゼだかわからないので根本的な解決になっていません。なにが原因か分からないんですよね...。

0 件のコメント :

コメントを投稿