2010/06/23

launchd.db

一般ユーザが

% launchctl unload -w /System/Library/LaunchAgents/com.apple.midiserver.plist

を実行したとするとその記録はどこにあるんだろうか?

/private/var/db/launchd.db/com.apple.launchd.peruser.XXX/overrides.plist
だった。(XXX は userid)

% cat /private/var/db/launchd.db/com.apple.launchd.peruser.XXX/overrides.plist


一般ユーザの launchctl list の中には
% launchctl unload してもなぜかエラーがかえってきてしまって unload させることができないような agent がたまにある。
そんな場合 overrides.plist に書きこむと確実に unload させることができる。
# 再度ログインしなおすことが必要

+++

as general user

% launchctl list | grep UI

# unload ScreenReaderUI agent
% launchctl unload -w /System/Library/LaunchAgents/com.apple.ScreenReaderUIServer.plist
# => returned error message

# user's id 
% id
uid=XXX(foo) ...

# change directory
% cd /private/var/db/launchd.db/com.apple.launchd.peruser.XXX

# files
% ls
overrides.plist

# look
% cat overrides.plist

# add element
% vi overrides.plit

# logout and login as general user.
% launchctl list | grep UI

0 件のコメント: