# Session Management

This chapter introduces session management, and describes how to set session defaults. The chapter also contains information on sessions and login scripts.

## Introduction

A GNOME desktop session occurs between the time that a user logs in to the GNOME desktop and the time that the user logs out. The session manager starts after the Login Manager authenticates the user. The session manager enables the user to manage the session. For example, a user can save the state of a session and return to that session the next time that the user logs in.

At a minimum, the following applications run in a session:

- The session manager, `gnome-session`.

- The GConf X settings daemon, `gnome-settings-daemon`.

- The gnome-panel application, which runs the panels on the GNOME desktop.

- The Metacity window manager.

## Setting Session Defaults

The following table lists the files that contain default session information:

File | Description
--- | ---
`/usr/share/gnome/default.session` | Default session file. Default session details are stored in this file.
`$HOME/.gnome2/session` | User session file. When a user modifies the session, the details are stored in this file.

To set default session details for all users, modify the default session file.

To restore the default session settings for a user, delete the session file from the home directory of the user. If no user session file is present, the default settings in `/usr/share/gnome/default.session` are used.

To save the current session as the default session, users can run the `gnome-session-save` command.

## Login Scripts

The GNOME desktop does not support system-wide login scripts or logout scripts. The session manager only allows users to configure user sessions. Users can configure non-session-managed startup applications with the Sessions preference tool.

You can work around the lack of support for system-wide login scripts. To create a system-wide login script, create the script in the `/usr/dt/config/Xsession.d` directory. Name the script as follows:

`number_greater_than_1000.name`

For example, name the script `1050.login`. For more information on the `/usr/dt/config/Xsession.d` file, see The XSession File in the dtlogin 1 man page.