Ubuntu – What are all the autostart locations in Ubuntu

autostartstartupupstart

I'm a Ubuntu newbie in need of some advice from anyone very familiar with the different Ubuntu startup methodologies.

I'm interested in enumerating all the applications that are triggered at startup on any given install of Ubuntu 13.04 or higher. I know there is a wide variety of ways that a script or application can be launched at boot time, but I would like to be sure that I have a comprehensive list for all autostart config locations.

The end goal is to write a script that iterates through all the config locations, then spits out a list of all things triggered between power on and when the desktop is ready to use.

So far I know about:

  • upstart, example config file: /etc/init.d/foo

  • autostart (system), example config file: /etc/xdg/autostart/foo.desktop

  • autostart (profile), example config file: ~/.config/autostart/foo.desktop

  • cron's @reboot, example config file: /var/spool/cron/crontabs

Is there any other way that an application can inject itself into the overall system startup sequence or are the possibilities endless?
Examples of apps that you might consider when answering, that I imagine could have a nonstandard startup:

Antivirus software, malware, daemon, custom script, production software – free / nonfree, binaries, indicators, dropbox, etc.

Is there an application already available that will enumerate iterally everything that runs at boot?

Thanks, any help is appreciated.

Best Answer

The possibilities are (essentially) endless. Scripts and applications can trigger other scripts and applications that don't live any of the places listed.

The 'bootchart' package is one good way to list (and display) all applications, what started them, and when in the boot cycle they started. It is also handy for discovering the cause of an unusually-long boot. It works for the system it is installed on, not for the hypothetical any-given-install.

Related Question