What are the differences between LaunchAgents and LaunchDaemons?
Yes, LaunchAgents are only invoked when the user logs into a graphical session.

LaunchDaemons are typically launched when the system boots and are run outside of a specific user session.

The launchd manual page lists these folders with short descriptions:


  Files
  
  
  ~/Library/LaunchAgents Per-user agents provided by the user.
  /Library/LaunchAgents Per-user agents provided by the administrator.
  /Library/LaunchDaemons System-wide daemons provided by the administrator.
  /System/Library/LaunchAgents Per-user agents provided by Mac OS X.
  /System/Library/LaunchDaemons System-wide daemons provided by Mac OS X.