When Session Manager is started, it goes through the following steps to start the user's session:
Gathers available applications
Optionally sources HomeDirectory/.profile or HomeDirectory/.login
Starts the session applications
The following sections describe the steps listed above.
At session startup, the Xsession script sources the user's HomeDirectory/.dtprofile script. The HomeDirectory/.dtprofile script is a /bin/sh or /bin/ksh script that enables users to set up environment variables for their sessions. For more information on setting up environment variables, see "Additional Session Startup Customizations ".
If the HomeDirectory/.dtprofile script does not exist, such as when a user is logging in to the desktop for the first time, Xsession will copy the desktop default sys.dtprofile to HomeDirectory/.dtprofile.
The desktop default is /usr/dt/config/sys.dtprofile. To customize the sys.dtprofile script, copy sys.dtprofile from /usr/dt/config to /etc/dt/config and edit the new file.
After sourcing the HomeDirectory/.dtprofile script, the Xsession script sources the Xsession.d scripts. These scripts are used to set up additional environment variables and start optional daemons for the user's session. The default Xsession.d scripts are:
0010.dtpaths--ocuments customizable desktop search paths
0020.dtims--starts optional input method server
0030.dttmpdir--creates per-user, per-session temporary directory
0040.xmbind--sets up $XMBINDDIR to desktop default
There may be additional vendor-specific scripts in Xsession.d.
Xsession first sources all files in the /etc/dt/config/Xsession.d directory, followed by those in the /usr/dt/config/Xsession.d directory.
The desktop default Xsession.d scripts are located in the /usr/dt/config/Xsession.d directory. To customize an Xsession.d script, copy the script from /usr/dt/config/Xsession.d to /etc/dt/config/Xsession.d and edit the new file. You must have execute permission to perform this task.
Also, to have Xsession automatically source a script of your own, copy it to /etc/dt/config/Xsession.d.
When you modify or create an Xsession.d script, make sure that any foreground commands you issue are of short duration, as the time taken by the command will directly affect session startup time. If a foreground command does not exit, the session startup will hang. Commands run in an Xsession.d script that you want to remain running for the duration of the session should be run in the background.
After sourcing HomeDirectory/.dtprofile and the Xsession.d scripts, Xsession displays a welcome message that covers the screen. You can customize the welcome message displayed, or turn off the message entirely. The dthello client is used to display the message.
To alter the message text, change the dthello options by modifying the dtstart_hello[0] variable.
To change dtstart_hello[0], create an /etc/dt/config/Xsession.d script that sets the new value. To display the message of the day for all users, create an executable sh or ksh script, for example /etc/dt/config/Xsession.d/myvars, and set dtstart_hello[0] as follows:
dtstart_hello[0]="/usr/dt/bin/dthello -file /etc/motd &"
Similarly, users can change the welcome message for their sessions by setting dtstart_hello[0] in HomeDirectory/.dtprofile.
To turn off the welcome message, set dtstart_hello[0]=" ".
For more information about dthello, see the dthello man page.
The desktop search paths are created at login by dtsearchpath. There are two categories of environment variables used by dtsearchpath:
Input Variables--System-wide and personal environment variables whose values are set by the system administrator or end user.
Output Variables--Variables created and assigned values by dtsearchpath. The value of each variable is the search path for the desktop session.
To alter the command-line options of dtsearchpath, modify the dtstart_searchpath variable. To change the dtstart_searchpath variable for all users, create an executable sh or ksh script (for example /etc/dt/config/Xsession.d/myvars), and set dtstart_searchpath as follows:
dtstart_searchpath="/usr/dt/bin/dtsearchpath"
Users can similarly change the dtsearchpath options for only their own sessions by setting dtstart_searchpath in HomeDirectory/.dtprofile.
For more information about dtsearchpath, see Chapter 9, Desktop Search Paths. For more information about dtsearchpath options, see the dtsearchpath man page.
The next step after setting up the desktop search paths is to gather available applications using dtappgather. To alter the command-line options of dtappgather, modify the dtstart_appgather variable. To change the dtstart_appgather variable for all users, create an executable sh or ksh script (for example /etc/dt/config/Xsession.d/myvars), and set dtstart_appgather as follows:
dtstart_appgather="/usr/dt/bin/dtappgather &"
Users can similarly change the dtappgather options for only their own sessions by setting dtstart_appgather in HomeDirectory/.dtprofile.
For more information about dtappgather options, see the dtappgather(4) man page.
Xsession is able to source
a user's traditional HomeDirectory/.profile or HomeDirectory/.login
scripts. By default this capability is disabled. To tell Xsession to source the .profile or .login script, set DTSOURCEPROFILE
to true.
To change DTSOURCEPROFILE
for all users, create an /etc/dt/config/Xsession.d script
that sets the new value. To set DTSOURCEPROFILE
to true for all users, create an executable sh or ksh script, for example /etc/dt/config/Xsession.d/myvars, and set DTSOURCEPROFILE
as follows:
DTSOURCEPROFILE=true
Users can similarly change DTSOURCEPROFILE
for their own sessions by setting DTSOURCEPROFILE
to true in HomeDirectory/.dtprofile.
The ToolTalk messaging daemon, ttsession, enables independent applications to communicate with each other without having direct knowledge of each other. Applications create and send ToolTalk messages to communicate with each other. ttsession communicates on the network to deliver messages.
To alter the command-line options of ttsession, modify the dtstart_ttsession variable. To change the dtstart_ttsession variable for all users, create an executable sh or ksh script (for example /etc/dt/config/Xsession.d/myvars), and set dtstart_ttsession as follows:
dtstart_ttsession="/usr/dt/bin/ttsession -s"
Users can similarly change the ttsession options for their own sessions by setting dtstart_ttsession in HomeDirectory/.dtprofile.
For more information about ttsession options, see the ttsession man page. For more information on ttsession, see Common Desktop Environment: ToolTalk Messaging Overview.
At this point, Xsession starts /usr/dt/bin/dtsession, which continues the session startup process.
Session Manager uses the X server RESOURCE_MANAGER
property to make desktop resources available to all applications.
Session Manager loads the RESOURCE_MANAGER
by:
Loading the system default resources
Merging any system-wide resources specified by the system administrator
Merging any user-specified resources
The desktop default resources can be found in /usr/dt/config/language/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 is overwritten upon subsequent desktop installations.
You can augment the system default resources by creating /etc/dt/config/language/sys.resources. In this file, you can override default resources or specify additional
resources for all desktop users. Since this file is merged into the desktop
default resources during session startup, only new or updated resource specifications
should be placed in this file. Resources specified in this file will be made
available to each user's session through the RESOURCE_MANAGER
property. Resources specified in this file take
precedence over those specified in the desktop default resource file.
Users can augment the desktop default and system-wide resources using
their HomeDirectory/.Xdefaults
file. Resources specified in this file will be made available to that user's
session through the RESOURCE_MANAGER
property. Resources specified in this file take precedence over those specified
in the desktop default or system administrator resource files.
The X Toolkit Intrinsics utility specifies that it will load resources for an application from either RESOURCE_MANAGER
or from HomeDirectory/.Xdefaults, but not both. Ordinarily, this would mean that the user's HomeDirectory/.Xdefaults file would be ignored. However, Session Manager accommodates HomeDirectory/.Xdefaults by merging it into the RESOURCE_MANAGER
at session startup as described above. If a user changes HomeDirectory/.Xdefaults, the changes will not be visible to new applications until the user invokes
the Reload Resources action. The Reload Resources action will instruct Session Manager to reload the RESOURCE_MANAGER
with the default, system-wide, and user-specified resources. This makes changes to the system-wide and personal resource files available to applications.
For more information see:
The dtresourcesfile(4) man page
Session Manager serves as the color server for the desktop and provides the following set of dtsession resources that can be used to configure it.
foregroundColor--controls whether a pixel is allocated for the foreground color
dynamicColor--specifies whether read-only colors are allocated
shadowPixmaps--specifies whether colors are allocated for top shadow or bottom shadow
colorUse--limits color allocation
writeXrdbColors--specifies whether the *background and *foreground resources are placed in the resource database
You can set color server resources for all users by creating /etc/dt/config/language/sys.resources and specifying the color server resources in that file.
Users can similarly set color server resources for their own sessions by specifying color server resources in HomeDirectory/.Xdefaults.
For more information about setting color server resources, see "Administering Colors".
Session Manager is responsible for starting Workspace Manager. By default /usr/dt/bin/dtwm is started. An alternate window manager can be specified with the wmStartupCommand resource.
You can specify an alternate window manager for all users by creating /etc/dt/config/language/sys.resources and specifying the full path name and options for the window manager with the Dtsession*wmStartupCommand resource in that file.
Users can similarly specify an alternate window manager for their own sessions only by specifying the Dtsession*wmStartupCommand resource in HomeDirectory/.Xdefaults.
For more information about the Window Manager, see Chapter 16, Customizing the Workspace Manager.
At session startup, 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 the user's initial session can be found in /usr/dt/config/language/sys.session. This file should not be edited as it will be unconditionally overwritten upon subsequent desktop installations.
For more information, see the dtsessionfile(4) man page.
A system administrator can replace the set of applications that are started as part of the user's initial session by copying /usr/dt/config/language/sys.session to /etc/dt/config/language/sys.session and modifying the latter file. Unlike the resource files, this file will be used as a complete replacement for the desktop default file, so you can make a copy of the system default file and make any necessary modifications.