dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
NAME
dtsession - the CDE Session Manager
SYNOPSIS
dtsession [options]
NOTE : The dtsession client is automatically invoked by the
DT Login Manager (dtlogin(1X)) via the Xsession script. If
desired, dtsession may be started via the Xsession script on
an existing X server.
NOTE : dtsession automatically starts a window manager.
DESCRIPTION
The dtsession client provides ICCCM 1.1 compliant session
management functionality during a user's session, the time
from login to logout. It launches a window manager and
allows for saving a session, restoring a session, locking a
session, launching screen savers and allocating colors for
desktop compatible clients.
Key Supported Tasks
The dtsession client supports the following key tasks:
- Initializing a session.
- Launching a window manager.
- Restoring a `home' or `current' session.
- Providing session locking on command or timeout.
- Providing session screen saving on command or
timeout.
- Acting as a color allocation server for other DT
clients.
- Saving a `home' or `current' session.
- Displaying confirmation dialog at logout.
- Displaying session selection dialog at logout.
- Terminating a session.
A Session
A session is the collection of applications, settings and
resources that are present on the user's desktop. Session
management is a set of conventions and protocols that allow
a special session manager such as dtsession to save and
Page 1 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
restore a user's session. A user is able to log into their
system and be presented with the same set of running
applications, settings and resources as were present when
the user logged off. When a user logs into the desktop for
the first time, a default initial session is loaded.
Afterward, dtsession supports the notion of a current and a
home session.
The Initial Session
When a user logs into the desktop for the first time,
dtsession will generate the user's initial session using
system default values. Refer to Session Resource Management
and Session Application Management for more information.
The Current Session
The user's running session is always considered the current
session, whether restored upon login from a saved home
session, a saved current session or the system default
initial session. Based on the user's Style Manager Startup
settings, when the user exits the session, the current
session is automatically saved. When the user next logs into
the desktop, the previously saved current session is
restarted. This means that the desktop will be restored to
same state as it was when the user last logged out.
The Home Session
Another option is having the desktop be restored to the same
state every time the user logs in, regardless of its state
when the user logged out. The user may save the state of the
current session, then via the Style Manager Startup
settings, have the desktop start that session every time the
user logs in.
Display-specific Sessions
To run a specific session for a specific display, a user may
create a display-specific session. To do this, the user can
copy the $HOME/.dt/sessions directory to $HOME/.dt/display
where display is the real, unqualified hostname (for
example, pablo:0 is valid, pablo.gato.com:0 or local:0 is
not). When the user logs in on display pablo:0, that display
specific session will take precedence.
The ICCCM Session Management Protocol
For an application to be saved upon logout and restarted
upon login, it must participate in a simple session
management protocol. Dtsession supports the ICCCM 1.1
Session Management Protocol.
Applications that wish to save their state can take part in
the WM_SAVE_YOURSELF protocol. To do this, an application
Page 2 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
needs to set the WM_SAVE_YOURSELF property on one and only
one of its top-level windows. When a session is saved,
dtsession will send the application's top-level window a
WM_SAVE_YOURSELF client message. At this point the
application can proceed to quietly save its state. The
application cannot interact with the user in any way as it
is saving its state. As an application will likely save its
state into a file, the session manager provides a
convenience function DtSessionSavePath() which returns a
full pathname of a file in which an application can save its
state. While the application is saving its state, dtsession
is awaiting notice from the application that it is done. To
tell dtsession that the state save is complete, the
application needs to update the WM_COMMAND property on its
top-level window.
The WM_COMMAND property on an application's top-level window
serves two purposes. First, a change of this property is the
indication to dtsession that an application is done saving
its state and dtsession can proceed to the next application.
Second, the WM_COMMAND property value is expected to contain
the command line that dtsession will use to restart the
application at session startup. If an application is
launched with a full pathname, then it should use the full
pathname when setting WM_COMMAND. Applications that do not
need to save their state, but wish to be restarted, can
simply set WM_COMMAND during application startup and forget
about it.
Refer to the XmAddWmProtocols(), XmAddWMProtocolCallback()
and XSetCommand() API's for more information.
Restoring A Session
At session startup time, dtsession will determine which
session to restore. The following describes the precedence:
- Display-specific Current or Home Session -OR-
- Current or Home Session -OR-
- Initial Session
Session Resource Management
The session manager uses the X Server RESOURCE_MANAGER
property on which to make available desktop resources to all
applications. The session manager will load the
RESOURCE_MANAGER in the following manner:
- load the system default resources -AND-
- merge any system administrator specified resources -AND-
Page 3 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
- merge any user specified resources
The desktop default resources can be found in
/usr/dt/config/$LANG/sys.resources. These resources will be
made available to each user's session via the
RESOURCE_MANAGER property. This file should not be edited as
it will be unconditionally overwritten upon subsequent
desktop installations.
A system administrator may augment the system default
resources by creating /etc/dt/config/$LANG/sys.resources. In
this file, a system administrator may override system
default resources or specify additional resources. As this
file is merged into the desktop default resources during
session startup, it is preferrable that only new or updated
resource specifications be placed in this file, rather than
a copy being made of the desktop default resource file.
Resources specified in this file will be made available to
each user's session via the RESOURCE_MANAGER property.
Resources specified in this file take precedence over those
specified in the desktop default resource file.
A user may augment the desktop default and system
administrator resources via their $HOME/.Xdefaults file.
Resources specified in this file will be made available to
only that user's session via the RESOURCE_MANAGER property.
Resources specified in this file take precedence over those
specified in the desktop default or system administrator
resource files.
NOTE : The X Toolkit Intrinsics specifies that it will load
resources for an application from either RESOURCE_MANAGER or
from $HOME/.Xdefaults, but not both. Ordinarily, this would
mean that the user's $HOME/.Xdefaults file would be ignored.
However, the session manager accomodates $HOME/.Xdefaults by
merging it into the RESOURCE_MANAGER at session startup as
described above. If a user changes their $HOME/.Xdefaults,
their changes will not be visible to new applications until
the user invokes the ReloadResources action.
The ReloadResources action will instruct the session manager
to reload the RESOURCE_MANAGER with the system, system
administrator and user specified resources. This is useful
to make available to new applications changes made to system
administrator or user specified resource files.
See also dtresourcesfile(4) and dtsessionactions(5).
Session Application Management
At session startup, the session manager will restart any
applications that were saved as part of the session. The
system default set of applications to be restored as part of
Page 4 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
the user's Initial Session can be found in
/usr/dt/config/$LANG/sys.session. This file should not be
edited as it will be unconditionally overwritten upon
subsequent desktop installations.
See also dtsessionfile(4).
A system administrator may replace the set of applications
that are restored as part of the user's Initial Session by
creating a file named /etc/dt/config/$LANG/sys.session.
Unlike the resource files, this file will be used as a
complete replacement for the desktop default file, so it is
valid to make a copy of the system default file and make any
necessary modifications.
The Window Manager
Dtsession is responsible for starting the window manager. By
default /usr/dt/bin/dtwm is started. An alternate window
manager can be specified with the wmStartupCommand resource.
Refer to the Workspace Manager specification for more
information.
The Style Manager
The style manager provides the interface by which a user can
change various desktop and X server settings for the current
session. Refer to the Style Manager specification for more
information.
The Color Server
Dtsession serves as the color server for the desktop and
provides a set of resources that can be used to configure
it. The foregroundColor resource controls whether a pixel is
allocated for the foreground color. The dynamicColor
resource specifies whether read-only colors are allocated.
The shadowPixmaps resource specifies whether colors are
allocated for top shadow or bottom shadow. The colorUse
resource limits color allocation. Finally, the
writeXrdbColors resource specifies whether the *background
and *foreground resources are placed in the resource
database. See the Color Server Resources section and the
Color Model specification for more information.
Session Lock
Dtsession provides session locking. The current session can
be locked directly by pressing the lock icon on the front
panel. If supported by the X server, the current session can
be locked after a specified period of inactivity. To unlock
the session, the user must enter their login password.
By default, dtsession supports traditional local UNIX
Page 5 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
authentication for unlocking the session. Additional re-
authentication function such as that required by DCE may be
added by individual vendors.
Screen Savers
Dtsession provides support for the launching of external
screen savers as a part of session locking from the front
panel or, if supported by the X server, after a specified
period of inactivity. Refer to the Screen Saver
specification for information as to how screen savers are
integrated into the desktop.
X Server Screen Saver Extensions
Dtsession's ability to provide session lock or screen saver
launch after a specified period of inactivity depends upon
the availability of an X server screen saver extension.
Dtsession supports two such extensions:
- X Consortium Sample X11 Screen Saver Extension 1.0
- HP X Screen Saver Extension
The ability of dtsession to recognize both, either or none
of these extensions is vendor specific.
Launching The Session Manager
Dtsession should be launched from the Xsession script.
Xsession is described in the login manager specification. It
is recommended that Xsession be launched from dtlogin as
part of the login sequence as is the default but there are
alternative methods of starting Xsession:
dtlogin the default dtlogin configuration launches
Xsession when a user logs in
proxy some systems will allow programs such as
xinit, x11start or startx to start Xsession
OPTIONS
The dtsession client is automatically invoked by the DT
Login Manager (dtlogin(1X)). If desired, dtsession may also
be started on an existing X server. Note that dtsession
automatically starts a window manager.
-norestore
This option instructs dtsession not to restore a previous
session nor save the session upon logout.
RETURN VALUE
Exit values are:
Page 6 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
0 Successful completion.
>1 Error condition occurred.
EXAMPLES
dtsession-norestore
Start session manager from command line without restoring
previous session.
RESOURCES
Color Server
Name ClassClass Type Default
_____________________________________________________
colorUse ColorUse String DEFAULT
dynamicColor DynamicColor Boolean True
foregroundColor ForegroundColor String DYNAMIC
shadowPixmaps ShadowPixmaps String DEFAULT
writeXrdbColors WriteXrdbColors Boolean True
Screen Lock/Screen Save
Name ClassClass Type Default
___________________________________________________________
keys Keys unsigned char NULL
passwordTimeout passwordTimeout unsigned int 10
Miscellaneous
Name ClassClass Type Default
_____________________________________________________________________
queryServerSettings QueryServerSettings Boolean False
saveFontPath SaveFontPath Boolean False
wmStartupCommand WmStartupCommand executable path NULL
colorUse - DEFAULT
This resource specifies the number of colors to use for the
user interface. Valid types are: Color server will determine
type of monitor based upon number of display planes of the
screen as follows:
1,2 B_W
4 LOW_COLOR
6 MEDIUM_COLOR
7+ HIGH_COLOR
B_W - Specifies a black and white system. The color palettes
will use two color cells for the user interface. In this
configuration only two color palettes are available:
BlackWhite and WhiteBlack. These palettes cannot
dynamically change. To change a palette, all applications
using that color palette must be restarted. This resource
Page 7 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
value forces ShadowPixmaps to True, and ForegroundColor to
either black or white depending on the palette chosen.
LOW_COLOR - Specifies a low color system. The color palettes
will have two color sets and use a maximum of 12 color cells
for the user interface, including black and white (color
cells 0 and 1). The number of co ShadowPixmaps and
ForegroundColor.
MEDIUM_COLOR - Specifies a medium color system. The color
palettes will have 4 color sets and use a maximum of 22
color cells for the user interface, including black and
white (color cells 0 and 1). The number of color cells can
be reduced by using the resources ShadowPixmaps and
ForegroundColor.
HIGH_COLOR - Specifies a high color system. The color
palettes will have 8 color sets and use a maximum of 42
color cells for the user interface. including black and
white (color cells 0 and 1). The number of color cells can
be reduced by using the resources ShadowPixmaps and
ForegroundColor.
dynamicColor
This resource can have values of True or False. dynamicColor
is used to reduce the number of color cells being used. Once
a palette has been selected and it is not likely to be
changed, dynamicColor can be set to False. If set to False
colors cannot be dynamically changed using the DT style
manager. A selected palette will take effect the next
session. The next time the session comes up, the color
server uses Read Only color cells that can be shared by all
clients, thus reducing the number of color cells used.
foregroundColor
This resource can have values of White, Black or Dynamic.
ForegroundColor causes all text (foreground) to use either
pixel 0 or 1 (Black or White) or to have a color cell
dedicated to foreground and changes in response to the
background color (Dynamic) for each ColorSet. If set to
White or Black, the number of color cells used per ColorSet
is reduced by 1.
keys
This resource is a list of keyholders who have the ability
to unlock the screen any time it is locked by the user. The
list is a list of user id's separated by commas. For example
if user kim has the following resource active during a
session:
Page 8 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
Dtsession*keys: fred,keith
Users fred and keith have the ability to unlock the display
when kim locks it.
passwordTimeout
This resource specifies (in seconds) the amount of time
before the password dialog is removed from the screen. When
the display is locked, the pointer shows a lock cursor, and
a dialog appears which asks for the user password. If no
activity from the pointer or keyboard is detected for
passwordTimeout seconds, the dialog is removed from the
screen. The dialog is redisplayed as soon as a pointer or
keyboard event is detected. An passwordTimeout of 0 leaves
the password dialog in place for the entire time the display
is locked. The default value is 10 seconds.
queryServerSettings
This resource specifies whether dtsession queries the server
at logout for all its settings or saves only those settings
set by using the DT Style Manager. Querying the server
ensures that all settings are saved; however, there is a
degradation in performance when a full query is done. The
default value is False, which means that the server will not
be queried.
shadowPixmaps
For color systems, this resource can have a value of True or
False. If True, topShadowColor and bottomShadowColor use the
same pixel as background and topShadowPixmap and
bottomShadowPixmap are specified instead of solid color to
create the 3D look. This reduces the number of color cells
per ColorSet by 2. ShadowPixmaps defaults to True for
systems with 4 or less color planes (16 or less color
cells), and False for systems with more than 4 color planes.
wmStartupCommand
This resource allows for an alternate window manager to be
started at login. If this resource is NULL , dtsession
starts /usr/dt/bin/dtwm. An alternate startup might look
like: Dtsession*wmStartupCommand: /usr/bin/X11/mwm
NOTE : that the command should not have any commands to a
shell in it, and that it should not be surrounded by quotes.
Also, if any other window manager other than dtwm is used,
clients will be restored, but may not be restored to the
correct position. By default, this resource contains a NULL
value.
FILES
Page 9 (printed 9/3/04)
dtsession(1X) UNIX System V (1 August 1995) dtsession(1X)
/usr/dt/config/$LANG/sys.session
The desktop default set of applications for
the user's Initial Session.
/etc/dt/config/$LANG/sys.session
System Administrator specified set of
applications for the user's Initial Session.
/usr/dt/config/$LANG/sys.resources
The desktop default resources.
/etc/dt/config/$LANG/sys.resources
System administrator specified resources.
$HOME/.Xdefaults
User specified resources.
Dtsession stores session information in $HOME/.dt/display or
$HOME/.dt/sessions. The content of these directories should
not be directly edited by the user.
/usr/dt/app-defaults/$LANG/Dtsession
Default dtsession resources.
SEE ALSO
See related specifications:
dtstyle Customization of many session properties
dtscreen Desktop screen savers
dtwm Window manager
dtlogin Login manager
dtsessionaction
Session manager actions
dtsessionfile Format and location of desktop session files
dtresourcesfile
Format and location of desktop resource files
Page 10 (printed 9/3/04)