Sourcing commands during login
I've not tried either .xinitrc
or .xsession
files to do this, but I have done it using a custom launcher that gets run when I login. You can access the dialog that allows you to do this a couple of ways, I usually just launch it from the command line like so.
$ gnome-session-properties
The GUI looks like this.

From here you can create your own custom startup launchers and then point them to shell scripts that contain what ever commands you need to invoke. Here I've created my own Dropbox launcher script that gets executed when I log in.
Mapping keys to run commands
If on the other hand you're looking to create shortcut key combinations that will launch commands, I've successfully been using XBindKeys on GNOME 3.8.4 for this very purpose.
My use has been modest but I like to create keyboard shortcuts for Nautilus to launch with certain directories opened.
Example
You'll need to first make sure the packages xbindkeys
is installed.
Then you'll need to run the following command, one time only, to create a template xbindkeys
configuration file.
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
With the file created you can open it in a text editor and add a rule like this:
"nautilus --browser /home/saml/projects/path/to/some/dir"
Mod4+shift + q
With the above change made we need to kill xbindkeys
if it's already running and then restart it.
$ killall xbindkeys
$ xbindkeys
Now with this running any time I type Mod+Shift+Q Nautilus will open with the corresponding folder opened.
Why isn't .xsession or .xinit getting sourced
I believe the ultimate issue lies with this post, titled: Quickly Setting up Awesome with Gnome. It discusses methods for getting GDM (GNOME's Display Manager) into loading these files, which to me implies that it doesn't by default.
My Fedora 19 system contains this file: /usr/share/xsessions/gnome.desktop
which contains these lines:
Exec=gnome-session
TryExec=gnome-session
Icon=
Type=Application
I believe gnome-session doesn't source your .xsession
file by default, and the .xinit
is meant to be sourced if you invoke GNOME using startx
.
Be sure to look through the section titled: with GDM, which shows this in more details.
References