There are many different ways to run something at startup. I got frustrated a while ago with this same problem (trying to run a couple of X programs at startup) so I just decided to throw this into my .bash_profile:
ses=$(printenv | grep DISPLAY)
if [ -n "$ses" ]; then
'proggies and scripts you wanna run'
it was a pretty
workaround at the time, but hey it works, and as the saying goes, if it ain't broke, don't fix it.