Take a look at the script that starts up your xgl session, that is /usr/sbin/xgl-startgnome
For example, here's mine
Code:
#!/bin/sh
xgl_opts="`/usr/sbin/xgl-info | grep accel | cut -d " " -f 2-`"
/usr/bin/Xgl :1 -fullscreen -ac -br -dpi 96 $xgl_opts &
sleep 3
export DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec dbus-launch --exit-with-session gnome-session
the important lines are the ones here
Code:
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec dbus-launch --exit-with-session gnome-session
these lines will restore the themes, and will restore your shutdown and reboot buttons as well. Try adding them after "export Display=:1"
I got this information from reading this howto
here(note, scroll down to adding an xgl login session).
I don't fully understand how this works, but my /usr/sbin/xgl-startgnome script has been working solidly for the past two weeks.