I could be wrong on this, but .xinitrc is probably not read by various desktop environments, right? It's read only if you use xinit/startx, right?
So if you have a display/login manager (e.g. kdm) and you are logging into a session such as KDE or GNOME, or even into a window manager such as icewm or WindowMaker, you probably don't get that read.
I would suspect you'll want to do this:
"By placing an application's .desktop file in one of the Autostart directories the application will be automatically launched during startup of the user's desktop environment after the user has logged in."
Quoting:
If the same filename is located under multiple Autostart Directories only the file under the most important directory should be used.
Example: If $XDG_CONFIG_HOME is not set the Autostart Directory in the user's home directory is ~/.config/autostart/
Example: If $XDG_CONFIG_DIRS is not set the system wide Autostart Directory is /etc/xdg/autostart/
Example: If $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS are not set and the two files /etc/xdg/autostart/foo.desktop and ~/.config/autostart/foo.desktop exist then only the file ~/.config/autostart/foo.desktop will be used because ~/.config/autostart/ is more important than /etc/xdg/autostart/
So: for each tool create a .desktop file and put it into /etc/xdg/autostart (or ~/.config/autostart). Frankly, it feels like a good thing to patch into gnustep-gui...
If your session doesn't support autostart-spec, find out what it does support, and then "do the needful".