在Mavericks及更早版本中,将LimitLoadToSessionType设置为LoginWindow的LaunchAgent plist将始终在LoginWindow中运行代理并将其持久保存到登录帐户会话中。 现在在Yosemite中,如果您已将LoginWindow指定为plist中唯一的会话类型,则代理将运行并仅在LoginWindow期间运行。
如何在OSX Yosemite登录后保留LoginWindow代理?
我尝试修复:
- 除了LoginWindow之外还添加了Aqua,但这不可行,因为我无法停止并再次启动代理。
-tweaking其他键,如KeepAlive等,但没有任何帮助。好像Apple认为"哦只持久登录WindowWindow以外的代理是一个bug,让我们解决它!"。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
这不是我理解的行为。如果您希望它在注销并登录时运行,则需要在阵列中包含LoginWindow和Aqua。但是,您应该知道它将终止可执行文件并在登录时重新启动。这就是我记得它在10.9上的表现。我听说10.10完全重写了launchd,它不再为每个用户执行多个启动进程,但只有一个并使用xpc(跨进程通信)。
请参阅此链接:http://docs.macsysadmin.se/2014/pdf/Launchd_-_At_your_service.pdf