As per the Desktop Application Autostart Specification, which Ubuntu and all major desktop environments like Gnome, LXDE, XFCE follow, the Startup Applications are .desktop
files stored per-user in
~/.config/autostart
And also globally, for all users, in
/etc/xdg/autostart
(this is a simplification, the real directories are determined by XDG Base Directory Specification)
The enable/disable feature is provided by this attribute in each .desktop
file:
X-GNOME-Autostart-enabled=true (or false)
If a user toggles enable/disable status of a given application (without deleting it) that was in the system folder, it is copied to the user directory and then the attribute X-GNOME-Autostart-enabled
is changed. If a user deletes a given application from the list, the .desktop is copied to user folder with the Hidden=true
attribute (or the file is simply deleted if it was present just in the user directory)
Files in both user and system folder does not need to be marked as executable. Default permission is 644 (rw-r--r--). Executable permission for .desktop
files are only useful for launchers in your desktop area (the workspace), so they show their icon and allow double-click to start the application. For Dash, Launcher, Autostart and menus in general the executable bit is irrelevant.