Under /usr/share/gnome-session/sessions are files which describe the different types of sessions available from gnome-session. In these files is a list of required components, eg for shell:
or for fallback:
This appears to be a list of executables, but it is not. If I change gnome-panel to some other type of panel, the session does not start, and I see the following errors in ~/.xsession-errors:
gnome-session: WARNING: Unable to find required component 'xfce4-panel'
So my question: What is a component, how are they defined, and where does gnome-session look for them?