14

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.

  • You should check out /usr/share/xsessions. You should also look into gnome-session, kde-session, etc. config files. Also, I know GNOME has a system for starting stuff when you login. Search for Startup Applications (although this hides some stuff by default). I think the binary is called gnome-session-config, or something. Try seeing what programs begin with "gnome-session-". – strugee Jun 5 '13 at 2:17
  • I think running bootchart displays every process ever called during boot. After boot, perhaps you can run ps aux or something similar. Let the experts correct me on this last command or your research. – Severo Raz Jun 5 '13 at 2:19
  • There is also ".profile" file in users home folder that I have used to run a command line command every time I log in. So its one more way for you to autostart something with certain user profile. Just add a command to the end of that file. – Tanel Mae Jun 6 '13 at 14:10
4

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.