一般ユーザが
% 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 件のコメント:
コメントを投稿