17 juli 2015 kl. 22:03 skrev Damien Sorresso <dsorre...@apple.com>:
> 
> Per,
> 
> You should be able to use `launchctl asuser` for this purpose, eg.
> 
> $ launchctl asuser launchctl unload /Path/to/plist
> $ launchctl asuser launchctl load /Path/to/plist

Thanks, I got some replies off list as well, and asuser is pretty much a 
drop-in replacement. It wasn't documented until 10.10, but opensource.apple.com 
(yay!) confirms that it appeared in 10.7, so I guess it should be safe to use 
even if you need to support older releases?

> On El Capitan, you can use `launchctl bootstrap` and `launchctl bootout`, eg.
> 
> $ launchctl bootout user/$uid /path/to/plist
> $ launchctl bootstrap user/$uid /path/to/plist
> 
> Note that both of these will load your job into the user's background session 
> and *not* the user's GUI session. This means that your job must have a 
> LimitLoadToSessionType value of "Background".
> 
> If you want to load your agent into the user's GUI session, your approach 
> below will work just fine, though I'm not sure why you're chroot(2)ing.

We're basically cargo culting Quinn's reply here:

  https://lists.macosforge.org/pipermail/launchd-dev/2011-January/000890.html

chroot -u just executes a command though, and you don't have to deal with the 
shell as you have to if you use su, and as a bonus there's no quoting involved.

> On El Capitan, you can modify the above commands to be
> 
> $ launchctl bootout gui/$uid /path/to/plist
> $ launchctl bootstrap gui/$uid /path/to/plist
> 
> if you want to load the job into the user's GUI session, and you won't have 
> to go through any weird tricks like below.

It'll be a few years before we can target 10.11+, but that's excellent!

> Before you ask, yes, we know it's a mess. Unfortunately, we're very 
> constrained by 10+ years of legacy behavior.

Don't I know it, but heck, it's cleaner and more explicit now than it's ever 
been.

-- 
Per Olofsson, IT-service, University of Gothenburg      

_______________________________________________
launchd-dev mailing list
launchd-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/launchd-dev

Reply via email to