cinnamon-session man page
cinnamon-session — Start the GNOME desktop environment
cinnamon-session [-a|--autostart=DIR] [--session=SESSION] [--failsafe|-f] [--debug] [--whale]
The cinnamon-session program starts up the GNOME desktop environment. This command is typically executed by your login manager (either mdm, xdm, or from your X startup scripts). It will load either your saved session, or it will provide a default session for the user as defined by the system administrator (or the default GNOME installation on your system).
The default session is defined in gnome.session, a .desktop-like file that is looked for in $XDG_CONFIG_HOME/cinnamon-session/sessions, $XDG_CONFIG_DIRS/cinnamon-session/sessions and $XDG_DATA_DIRS/cinnamon-session/sessions.
When saving a session, cinnamon-session saves the currently running applications in the $XDG_CONFIG_HOME/cinnamon-session/saved-session directory.
cinnamon-session is an X11R6 session manager. It can manage GNOME applications as well as any X11R6 SM compliant application.
The following options are supported:
Start all applications defined in DIR, instead of starting the applications defined in gnome.session, or via the --session option. Multiple --autostart options can be passed.
Use the applications defined in SESSION.session. If not specified, gnome.session will be used.
Run in fail-safe mode. User-specified applications will not be started.
Enable debugging code.
Show the fail whale in a dialog for debugging it.
Sessions are defined in .session files, that are using a .desktop-like format, with the following keys in the GNOME Session group:
Name of the session. This can be localized.
List of component identifiers (desktop files) that are required by the session. The required components will always run in the session.
List of task providers that are required by the session. A default provider for each task has to be defined with a DefaultProvider-TASK key; the provider can be overridden by required components, the saved session or autostart applications. The task providers will always run in the session.
Identifier (desktop file) of the default provider for TASK. If no provider for TASK is found in the required components, the saved session and in the autostart applications, the default provider will be started.
Here is an example of a session definition:
[GNOME Session] Name=GNOME fallback RequiredComponents=gnome-panel;metacity;gnome-settings-daemon; RequiredProviders=notifications; DefaultProvider-notifications=notification-daemon
The .session files are looked for in $XDG_CONFIG_HOME/cinnamon-session/sessions, $XDG_CONFIG_DIRS/cinnamon-session/sessions and $XDG_DATA_DIRS/cinnamon-session/sessions.
cinnamon-session sets several environment variables for the use of its child processes:
This variable is used by session-manager aware clients to contact cinnamon-session.
This variable is set to the X display being used by cinnamon-session. Note that if the --display option is used this might be different from the setting of the environment variable when cinnamon-session is invoked.
$XDG_CONFIG_HOME/config/autostart $XDG_CONFIG_DIRS/config/autostart /usr/share/gnome/autostart
The applications defined in those directories will be started on login. cinnamon-settings(1) can be used to easily configure them.
$XDG_CONFIG_HOME/cinnamon-session/sessions $XDG_CONFIG_DIRS/cinnamon-session/sessions $XDG_DATA_DIRS/cinnamon-session/sessions
These directories contain the .session files that can be used with the --session option.
This directory contains the list of applications of the saved session.