There is a specification for this purpose, and it works with any desktop environment that supports the specification (eg. KDE, GNOME2, GNOME3, …).
You should put a Desktop Entry file (with .desktop extension) inside of ~/.config/autostart
(for a user) or /etc/xdg/autostart
(for the whole system). In the file you set the script to run (see the option Exec). For more information, check the Desktop Application Autostart Specification.
For example, you can put a file with the following content:
[Desktop Entry]
Name=MyScript
GenericName=A descriptive name
Comment=Some description about your script
Exec=/path/to/my/script.sh
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
You can also use the graphical user interface to create one entry or Add a new entry:
- in GNOME 2 is
System/Preferences/Startup Applications
. - in GNOME 3, press Alt+R and look for
Startup
(typing the first letters of the name will filter it quickly) or run
Applications Preferencesgnome-session-properties
from there or a terminal.