897 lines
49 KiB
Plaintext
897 lines
49 KiB
Plaintext
<!-- $XConsortium: ch02.sgm /main/10 1996/09/08 19:32:24 rws $ -->
|
|
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
|
|
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
|
|
<!-- (c) Copyright 1995 International Business Machines Corp. -->
|
|
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
|
|
<!-- (c) Copyright 1995 Novell, Inc. -->
|
|
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
|
|
<!-- (c) Copyright 1995 Hitachi. -->
|
|
<Chapter Id="SAG.SesMg.div.1">
|
|
<Title Id="SAG.SesMg.mkr.1">Configuring Session Manager</Title>
|
|
<Para>Session Manager is responsible for starting the desktop and automatically
|
|
saving and restoring running applications, colors, fonts, mouse behavior, audio
|
|
volume, and keyboard click.</Para>
|
|
<Para>Using Session Manager, you can:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Customize the initial session for all desktop users</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Customize the environment and resources for all desktop users</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Change the session startup message</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Change parameters for session startup tools and daemons</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Customize desktop color usage for all users</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<InformalTable Id="SAG.SesMg.itbl.1" Frame="All">
|
|
<TGroup Cols="1">
|
|
<ColSpec Colname="1" Colwidth="4.125 in">
|
|
<TBody>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'What Is a Session?23'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.2"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Starting a Session25'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.7"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'When a Session Starts25'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.8"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Additional Session Startup Customizations32'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.21"></Para></Entry>
|
|
</Row>
|
|
<Row Rowsep="1">
|
|
<Entry><Para><!--Original XRef content: 'Session Manager Files and Directories37'--><XRef Role="JumpText" Linkend="SAG.SesMg.div.32"></Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
<Sect1 Id="SAG.SesMg.div.2">
|
|
<Title Id="SAG.SesMg.mkr.2">What Is a Session?<IndexTerm><Primary>Session Manager</Primary><Secondary>introduction</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>definition</Secondary></IndexTerm></Title>
|
|
<Para>A session is the collection of applications, settings, and resources present on
|
|
the user's desktop. Session management is a set of conventions and protocols
|
|
that enables Session Manager to save and restore a user's session. A user is able
|
|
to log into the 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, Session Manager supports the notion of a
|
|
current and a home session.<IndexTerm><Primary>session</Primary><Secondary>default</Secondary></IndexTerm><IndexTerm><Primary>current session</Primary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>current</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>home</Secondary></IndexTerm><IndexTerm><Primary>home session</Primary></IndexTerm>
|
|
</Para>
|
|
<Sect2 Id="SAG.SesMg.div.3">
|
|
<Title>The Initial Session<IndexTerm><Primary>session</Primary><Secondary>default</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>initial</Secondary></IndexTerm></Title>
|
|
<Para>When a user logs into the desktop for the first time, Session Manager will
|
|
generate the user's initial session using system default values. By default, the
|
|
File Manager and Information Manager will start. The Information Manager displays
|
|
introductory information about the CDE desktop.
|
|
</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.4">
|
|
<Title>Current Session<IndexTerm><Primary>session</Primary><Secondary>current</Secondary></IndexTerm><IndexTerm><Primary>current session</Primary></IndexTerm></Title>
|
|
<Para>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, Session Manager automatically saves
|
|
the current session. When the user next logs in to the desktop, Session
|
|
Manager restarts the previously saved current session, meaning that the
|
|
desktop will be restored to the same state as when the user last logged out.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.5">
|
|
<Title>Home Session<IndexTerm><Primary>session</Primary><Secondary>home</Secondary></IndexTerm><IndexTerm><Primary>home session</Primary></IndexTerm></Title>
|
|
<Para>You can also have the desktop restored to the same state every time the user
|
|
logs in, regardless of its state when the user logged out. The user can save the
|
|
state of the current session and then, using the Style Manager Startup settings,
|
|
have Session Manager start that session every time the user logs in.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.6">
|
|
<Title>Display-Specific Sessions<IndexTerm><Primary>session</Primary><Secondary>display-specific</Secondary></IndexTerm></Title>
|
|
<Para>To run a specific session for a specific display, a user can create a display-
|
|
specific session. To do this, the user can copy the
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions</Filename> directory to <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>, where
|
|
<Symbol Role="Variable">display</Symbol> is the real, unqualified host name (for example, <Filename>pablo:0</Filename> is valid,
|
|
<Filename>pablo.gato.com:0</Filename> or <Filename>unix:0</Filename> is not). When the user logs in on display
|
|
<Filename>pablo:0</Filename>, Session Manager will start that display-specific session.</Para>
|
|
</Sect2>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.SesMg.div.7">
|
|
<Title Id="SAG.SesMg.mkr.3">Starting a Session<IndexTerm><Primary>session</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>See also, session</Secondary></IndexTerm></Title>
|
|
<Para>Session Manager is started through <Filename>/usr/dt/bin/<IndexTerm>
|
|
<Primary>Xsession file</Primary>
|
|
<Secondary>starting Session Manager</Secondary>
|
|
</IndexTerm>
|
|
Xsession</Filename>. When the user
|
|
logs in using the Login Manager, <Command>Xsession</Command> is started by default.</Para>
|
|
<Para>Optionally, the user can log in using the traditional character mode<IndexTerm>
|
|
<Primary>getty</Primary>
|
|
</IndexTerm>
|
|
(<Command>getty</Command>)
|
|
login, and start Session Manager manually using tools that start an X server,
|
|
such as <Command>xinit</Command>. For example: <Command>xinit /usr/dt/bin/Xsession</Command>.</Para>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.SesMg.div.8">
|
|
<Title Id="SAG.SesMg.mkr.4">When a Session Starts</Title>
|
|
<Para>When Session Manager is started, it goes through the following steps to start
|
|
the user's session:</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Sources the <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>.dtprofile file</Primary>
|
|
<Secondary>sourcing in</Secondary>
|
|
</IndexTerm>/.dtprofile</Filename> script</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Sources the <Filename><IndexTerm>
|
|
<Primary>Xsession.d directory</Primary>
|
|
</IndexTerm>Xsession.d</Filename> scripts</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Displays a<IndexTerm>
|
|
<Primary>Session Manager</Primary>
|
|
<Secondary>welcome message</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>welcome message</Primary>
|
|
<Secondary>displaying</Secondary>
|
|
</IndexTerm>
|
|
welcome message</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Sets up<IndexTerm>
|
|
<Primary>desktop search paths</Primary>
|
|
</IndexTerm>
|
|
desktop search paths</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Gathers available applications</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Optionally sources <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>.profile file[profile file]</Primary>
|
|
</IndexTerm>/.profile</Filename> or <Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>.login file[login file]</Primary>
|
|
</IndexTerm>/.login</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Starts the<IndexTerm>
|
|
<Primary>ToolTalk</Primary>
|
|
<Secondary>messaging daemon</Secondary>
|
|
</IndexTerm>
|
|
ToolTalk<Superscript>®</Superscript> messaging daemon</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Loads<IndexTerm>
|
|
<Primary>session</Primary>
|
|
<Secondary>resources</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>resources</Primary>
|
|
<Secondary>session</Secondary>
|
|
</IndexTerm>
|
|
session resources</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Starts the<IndexTerm>
|
|
<Primary>color server</Primary>
|
|
</IndexTerm>
|
|
color server</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Starts the<IndexTerm>
|
|
<Primary>Workspace Manager</Primary>
|
|
<Secondary>starting</Secondary>
|
|
</IndexTerm>
|
|
Workspace Manager</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Starts the session<IndexTerm>
|
|
<Primary>applications</Primary>
|
|
<Secondary>starting at login</Secondary>
|
|
</IndexTerm>
|
|
applications</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<Para>The following sections describe the steps listed above.</Para>
|
|
<Sect2 Id="SAG.SesMg.div.9">
|
|
<Title>Sourcing the .dtprofile Script<IndexTerm><Primary>.dtprofile file</Primary><Secondary>sourcing in</Secondary></IndexTerm></Title>
|
|
<Para>At session startup, the <Command><IndexTerm>
|
|
<Primary>Xsession file</Primary>
|
|
</IndexTerm>Xsession</Command> script sources the user's
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>in .dtprofile</Secondary>
|
|
</IndexTerm>/.dtprofile</Filename> script. The <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script is a
|
|
<Filename>/bin/sh</Filename> or <Filename>/bin/ksh</Filename> script that enables users to set up<IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>in .dtprofile</Secondary>
|
|
</IndexTerm>
|
|
environment
|
|
variables for their sessions. For more information on setting up environment
|
|
variables, see
|
|
<!--Original XRef content: '&xd2;Additional Session Startup Customizations&xd3; on page 32'--><XRef Role="HeadingAndPage" Linkend="SAG.SesMg.div.21">.</Para>
|
|
<Para>If the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script does not exist, such as when a user is
|
|
logging into the desktop for the first time, <Command>Xsession</Command> will copy the desktop
|
|
default <Filename>sys.dtprofile</Filename> to<IndexTerm>
|
|
<Primary>shell</Primary>
|
|
<Secondary>personal customization</Secondary>
|
|
</IndexTerm>
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>.dtprofile file</Primary>
|
|
<Secondary>creating</Secondary>
|
|
</IndexTerm>/.dtprofile</Filename>.</Para>
|
|
<Para><IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>default</Secondary>
|
|
</IndexTerm>The desktop default is <Filename>/usr/dt/config/sys.dtprofile</Filename><IndexTerm>
|
|
<Primary>sys.dtprofile file</Primary>
|
|
</IndexTerm>. To customize the<IndexTerm>
|
|
<Primary>shell</Primary>
|
|
<Secondary>system-wide customization</Secondary>
|
|
</IndexTerm>
|
|
<Filename>sys.dtprofile</Filename> script, copy <Filename>sys.dtprofile</Filename> from <Filename>/usr/dt/config</Filename> to
|
|
<Filename>/etc/dt/config</Filename> and edit the new file.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.10">
|
|
<Title Id="SAG.SesMg.mkr.5">Sourcing Xsession.d Scripts<IndexTerm><Primary>Xsession.d directory</Primary><Secondary>scripts in</Secondary></IndexTerm></Title>
|
|
<Para>After sourcing the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> script, the <Command>Xsession</Command> script
|
|
sources the <Filename>Xsession.d</Filename> scripts. These scripts are used to set up additional
|
|
environment variables and start optional daemons for the user's session. The
|
|
default <Filename>Xsession.d</Filename> scripts are:</Para>
|
|
<InformalTable>
|
|
<TGroup Cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="139*">
|
|
<colspec colwidth="389*">
|
|
<TBody>
|
|
<Row>
|
|
<Entry><Para><Filename>0010.dtpaths</Filename></Para></Entry>
|
|
<Entry><Para>Documents customizable desktop search paths</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Filename>0020.dtims</Filename></Para></Entry>
|
|
<Entry><Para>Starts optional input method server</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Filename>0030.dttmpdir</Filename></Para></Entry>
|
|
<Entry><Para>Creates per-user, per-session temporary directory</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Filename>0040.xmbind</Filename></Para></Entry>
|
|
<Entry><Para>Sets up <Filename>$XMBINDDIR</Filename> to desktop default</Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
<Para>There may be additional vendor-specific scripts in <Filename>Xsession.d</Filename>.</Para>
|
|
<Para><Command>Xsession</Command> first sources all files in the <Filename>/usr/dt/config/Xsession.d</Filename>
|
|
directory, followed by those in the <Command>/etc/dt/config/Xsession.d</Command> directory.</Para>
|
|
<Para>The desktop default <Filename>Xsession.d</Filename> scripts are located in the
|
|
<Filename>/usr/dt/config/Xsession.d</Filename> directory. To customize an <Filename>Xsession.d</Filename>
|
|
script, copy the script from <Filename>/usr/dt/config/Xsession.d</Filename> to
|
|
<Filename>/etc/dt/config/Xsession.d</Filename> and edit the new file. You must have execute
|
|
permission to perform this task.<IndexTerm><Primary>Xsession.d directory</Primary><Secondary>customizing</Secondary></IndexTerm>
|
|
</Para>
|
|
<Para>Also, to have <Command>Xsession</Command> automatically source a script of your own, copy it to
|
|
<Filename>/etc/dt/config/Xsession.d</Filename>.<IndexTerm><Primary>Xsession file</Primary><Secondary>system-wide customization</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>system-wide customization</Secondary></IndexTerm>
|
|
</Para>
|
|
<Note>
|
|
<Para>When you modify or create an <Filename>Xsession.d</Filename> 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 <Filename>Xsession.d</Filename>
|
|
script that you want to remain running for the duration of the session should
|
|
be run in the background.</Para>
|
|
</Note>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.11">
|
|
<Title><IndexTerm><Primary>welcome message</Primary><Secondary>displaying</Secondary></IndexTerm>Displaying the Welcome Message</Title>
|
|
<Para>After sourcing <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename> and the <Filename>Xsession.d</Filename> scripts,
|
|
<Command>Xsession</Command> displays a welcome message that covers the screen. You can
|
|
customize the welcome message displayed, or turn off the message entirely.
|
|
The <Command>dthello</Command> client is used to display the message.</Para>
|
|
<Para><IndexTerm>
|
|
<Primary>welcome message</Primary>
|
|
<Secondary>customizing</Secondary>
|
|
</IndexTerm>To alter the message text, change the <Command>dthello</Command> options by modifying the
|
|
<Filename>dtstart_hello[0]</Filename> variable.</Para>
|
|
<Para>To change <Filename>dtstart_hello[0],</Filename> create an <Filename>/etc/dt/config/Xsession.d</Filename>
|
|
script that sets the new value. To display the message of the day for all users,
|
|
create an executable <Command>sh</Command> or <Command>ksh</Command> script, for example
|
|
<Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis><Filename>,</Filename> and set <Filename>dtstart_hello[0]</Filename> as
|
|
follows:</Para>
|
|
<ProgramListing>dtstart_hello[0]=“/usr/dt/bin/dthello -file /etc/motd &“</ProgramListing>
|
|
<Para>Similarly, users can change the welcome message for their sessions by setting
|
|
<Filename>dtstart_hello[0]</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
|
|
<Para>To turn off the welcome message, set <ComputerOutput>dtstart_hello[0]=</ComputerOutput>“ “<ComputerOutput>.</ComputerOutput></Para>
|
|
<Para>For more information about <Command>dthello</Command>, see the <Command>dthello</Command> man page.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.12">
|
|
<Title>Setting Up the Desktop Search Paths<IndexTerm><Primary>Session Manager</Primary><Secondary>setting search paths</Secondary></IndexTerm><IndexTerm><Primary>search paths</Primary><Secondary>set by Session Manager</Secondary></IndexTerm></Title>
|
|
<Para>The desktop search paths are created at login by <Command><IndexTerm>
|
|
<Primary>dtsearchpath</Primary>
|
|
</IndexTerm>dtsearchpath</Command>. There are
|
|
two categories of environment variables used by <Command>dtsearchpath</Command>:</Para>
|
|
<InformalTable>
|
|
<TGroup Cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="126*">
|
|
<colspec colwidth="402*">
|
|
<TBody>
|
|
<Row>
|
|
<Entry><Para>Input Variables</Para></Entry>
|
|
<Entry><Para>System-wide and personal environment variables
|
|
whose values are set by the system administrator or
|
|
end user.</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para>Output Variables</Para></Entry>
|
|
<Entry><Para>Variables created and assigned values by
|
|
<Command>dtsearchpath</Command>. The value of each variable is the
|
|
search path for the desktop session.</Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
<Para>To alter the command-line options of <Command>dtsearchpath</Command>, modify the
|
|
<Filename>dtstart_searchpath</Filename> variable. To change the <Command><IndexTerm>
|
|
<Primary>dtstart_searchpath variable</Primary>
|
|
</IndexTerm>dtstart_searchpath</Command>
|
|
variable for all users, create an executable <Command>sh</Command> or <Command>ksh</Command> script (for example
|
|
<Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis>), and set <Filename>dtstart_searchpath</Filename> as
|
|
follows:</Para>
|
|
<ProgramListing>dtstart_searchpath=“/usr/dt/bin/dtsearchpath“</ProgramListing>
|
|
<Para>Users can similarly change the <Command>dtsearchpath</Command> options for their own sessions
|
|
only by setting <Filename>dtstart_searchpath</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
|
|
<Para>For more information about <Command>dtsearchpath</Command>, see
|
|
<!--Original XRef content: 'Chapter 7, &xd2;Desktop Search
|
|
Paths'--><XRef Role="ChapNumAndTitle" Linkend="SAG.Datab.div.1">.
|
|
For more information about <Command>dtsearchpath</Command> options, see the
|
|
<Command>dtsearchpath</Command> man page.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.13">
|
|
<Title>Gathering Available Applications</Title>
|
|
<Para>The next step after setting up the desktop search paths is to gather available
|
|
applications, using <Command>dtappgather</Command>. To alter the command-line options of<IndexTerm>
|
|
<Primary>Application Manager</Primary>
|
|
<Secondary>gathering applications</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>Session Manager</Primary>
|
|
<Secondary>gathering applications</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>applications</Primary>
|
|
<Secondary>gathered by Session Manager</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>dtappgather</Primary>
|
|
</IndexTerm>
|
|
<Command>dtappgather</Command>, modify the <Filename>dtstart_appgather</Filename> variable. To change the <Command><IndexTerm>
|
|
<Primary>dtstart_appgather variable</Primary>
|
|
</IndexTerm>dtstart_appgather</Command> variable for all users, create an executable <Command>sh</Command> or <Command>ksh</Command>
|
|
script (for example <Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars</Emphasis>), and set
|
|
<Filename>dtstart_appgather</Filename> as follows:</Para>
|
|
<ProgramListing>dtstart_appgather=“/usr/dt/bin/dtappgather &“</ProgramListing>
|
|
<Para>Users can similarly change the <Command>dtappgather</Command> options for their own sessions
|
|
only by setting <Filename>dtstart_appgather</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
|
|
<Para>For more information about <Command>dtappgather</Command> options, see the <Command>dtappgather</Command> <Filename>(4)</Filename>
|
|
man page.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.14">
|
|
<Title Id="SAG.SesMg.mkr.6">Optionally Sourcing the .profile or .login Script<IndexTerm><Primary>environment variables</Primary><Secondary>sourcing in .login or .profile</Secondary></IndexTerm><IndexTerm><Primary>shell</Primary><Secondary>sourcing in .profile or .login</Secondary></IndexTerm><IndexTerm><Primary>.profile file</Primary><Secondary>sourcing in</Secondary></IndexTerm><IndexTerm><Primary>.login file</Primary><Secondary>sourcing in</Secondary></IndexTerm></Title>
|
|
<Para><Command>Xsession</Command> is able to source a user's traditional <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.profile</Filename> or
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.login</Filename> scripts. By default this capability is disabled. To tell
|
|
<Command>Xsession</Command> to source the <Filename>.profile</Filename> or <Filename>.login</Filename> script, set <Command><IndexTerm>
|
|
<Primary>DTSOURCEPROFILE variable</Primary>
|
|
</IndexTerm>DTSOURCEPROFILE</Command>
|
|
to <Command>true</Command>.</Para>
|
|
<Para>To change <Command>DTSOURCEPROFILE</Command> for all users, create an
|
|
<Filename>/etc/dt/config/Xsession.d</Filename> script that sets the new value. To set
|
|
<Command>DTSOURCEPROFILE</Command> to <Command>true</Command> for all users, create an executable <Command>sh</Command> or <Command>ksh</Command>
|
|
script, for example <Filename>/etc/dt/config/Xsession.d/</Filename><Emphasis>myvars,</Emphasis> and set
|
|
<Command>DTSOURCEPROFILE</Command> as follows:</Para>
|
|
<ProgramListing>DTSOURCEPROFILE=true</ProgramListing>
|
|
<Para>Users can similarly change <Command>DTSOURCEPROFILE</Command> for their own sessions by
|
|
setting <Command>DTSOURCEPROFILE</Command> to <Command>true</Command> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.15">
|
|
<Title>Starting the ToolTalk Messaging Daemon<IndexTerm><Primary>ToolTalk</Primary><Secondary>messaging daemon</Secondary></IndexTerm></Title>
|
|
<Para>The ToolTalk messaging daemon, <Command>ttsession</Command>, 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. <Command>ttsession</Command> communicates on the network to deliver
|
|
messages.</Para>
|
|
<Para>To alter the command-line options of <Command><IndexTerm>
|
|
<Primary>ttsession</Primary>
|
|
<Secondary>starting</Secondary>
|
|
</IndexTerm>ttsession</Command>, modify the
|
|
<Filename>dtstart_ttsession</Filename> variable. To change the <Command><IndexTerm>
|
|
<Primary>dtstart_ttsession variable</Primary>
|
|
</IndexTerm>dtstart_ttsession</Command> variable
|
|
for all users, create an executable <Command>sh</Command> or <Command>ksh</Command> script (for example
|
|
<Filename>/etc/dt/config/Xsession.d/</Filename><Symbol Role="Variable">myvars</Symbol>), and set <Filename>dtstart_ttsession</Filename> as
|
|
follows:</Para>
|
|
<ProgramListing>dtstart_ttsession=“/usr/dt/bin/ttsession -s“</ProgramListing>
|
|
<Para>Users can similarly change the <Command>ttsession</Command> options for their own sessions by
|
|
setting <Filename>dtstart_ttsession</Filename> in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dtprofile</Filename>.</Para>
|
|
<Para>For more information about <Command>ttsession</Command> options, see the <Command>ttsession</Command> man
|
|
page. For more information on <Command>ttsession</Command>, see <Emphasis>Getting Started Using ToolTalk
|
|
Messaging</Emphasis>.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.16">
|
|
<Title>Starting the Session Manager Client<IndexTerm><Primary>Session Manager</Primary><Secondary>client</Secondary></IndexTerm></Title>
|
|
<Para>At this point, <Command>Xsession</Command> starts <Filename>/usr/dt/bin/dtsession</Filename>, which continues
|
|
the session startup process.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.17">
|
|
<Title Id="SAG.SesMg.mkr.7">Loading the Session Resources<IndexTerm><Primary>Session Manager</Primary><Secondary>loading resources</Secondary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>loading</Secondary></IndexTerm></Title>
|
|
<Para>Session Manager uses the X server <Command>RESOURCE_MANAGER</Command> property to make
|
|
desktop resources available to all applications. Session Manager loads the
|
|
<Filename>RESOURCE_MANAGER</Filename> by:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Loading the system default resources</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Merging any system-wide resources specified by the system administrator.</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Merging any user-specified resources</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Para>The desktop default resources can be found in
|
|
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename><IndexTerm>
|
|
<Primary>sys.resources file</Primary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>resources</Primary>
|
|
<Secondary>default desktop</Secondary>
|
|
</IndexTerm>/sys.resources</Filename>. These resources will be made
|
|
available to each user's session via the <Filename>RESOURCE_MANAGER</Filename> property. This file
|
|
should not be edited, as it is overwritten upon subsequent desktop
|
|
installations.</Para>
|
|
<Para>You can augment the system default resources by creating
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename><IndexTerm>
|
|
<Primary>sys.resources file</Primary>
|
|
</IndexTerm>/sys.resources</Filename>. 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 <Filename>RESOURCE_MANAGER</Filename> property. Resources specified in this file take
|
|
precedence over those specified in the desktop default resource file.</Para>
|
|
<Para>Users can augment the desktop default and system-wide resources using their
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename> file. Resources specified in this file will be made
|
|
available to that user's session through the <Filename>RESOURCE_MANAGER</Filename> property.
|
|
Resources specified in this file take precedence over those specified in the
|
|
desktop default or system administrator resource files.</Para>
|
|
<Note>
|
|
<Para>The X Toolkit Intrinsics utility specifies that it will load resources for an
|
|
application from either <Filename><IndexTerm>
|
|
<Primary>RESOURCE_MANAGER property</Primary>
|
|
</IndexTerm>RESOURCE_MANAGER</Filename> or from <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>, but not both. Ordinarily, this would mean that
|
|
the user's <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefault</Filename>s file would be ignored. However, Session
|
|
Manager accommodates <Symbol Role="Variable">HomeDirectory</Symbol>/<Filename><IndexTerm>
|
|
<Primary>.Xdefaults file[Xdefaults file]</Primary>
|
|
</IndexTerm>.Xdefaults</Filename> by merging it into the
|
|
<Filename>RESOURCE_MANAGER</Filename> at session startup as described above. If a user changes
|
|
<Symbol Role="Variable">HomeDirectory</Symbol>/<Filename>.Xdefaults</Filename>, the changes will not be visible to new
|
|
applications until the user invokes the Reload Resources action. The<IndexTerm>
|
|
<Primary>Reload Resources action</Primary>
|
|
</IndexTerm>
|
|
Reload
|
|
Resources action will instruct Session Manager to reload the
|
|
<Filename>RESOURCE_MANAGER</Filename> with the default, system-wide, and user-specified
|
|
resources. This makes changes to the system-wide and personal resource files
|
|
available to applications.</Para>
|
|
</Note>
|
|
<Para>For more information see:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para><!--Original XRef content: '&xd2;Setting Application Resources&xd3; on page 256'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.2"></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>The <Filename>dtresourcesfile(4)</Filename>man page</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.18">
|
|
<Title>Starting the Color Server<IndexTerm><Primary>color server</Primary><Secondary>starting</Secondary></IndexTerm></Title>
|
|
<Para>Session Manager serves as the<IndexTerm>
|
|
<Primary>color server</Primary>
|
|
<Secondary>resources</Secondary>
|
|
</IndexTerm>
|
|
color server for the desktop and provides the
|
|
following set of <Command>dtsession</Command> resources that can be used to configure it.</Para>
|
|
<InformalTable>
|
|
<TGroup Cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="1.73in">
|
|
<colspec colwidth="4.11in">
|
|
<TBody>
|
|
<Row>
|
|
<Entry><Para><Command>foregroundColor</Command><IndexTerm><Primary>foregroundColor resource</Primary></IndexTerm>
|
|
</Para></Entry>
|
|
<Entry><Para>Controls whether a pixel is allocated for the foreground
|
|
color</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Command>dynamicColor</Command><IndexTerm><Primary>dynamicColor resource</Primary></IndexTerm>
|
|
</Para></Entry>
|
|
<Entry><Para>Specifies whether read-only colors are allocated</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Command>shadowPixmaps</Command><IndexTerm><Primary>shadowPixmaps resource</Primary></IndexTerm>
|
|
</Para></Entry>
|
|
<Entry><Para>Specifies whether colors are allocated for top shadow
|
|
or bottom shadow</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Command>colorUse</Command><IndexTerm><Primary>colorUse resource</Primary></IndexTerm>
|
|
</Para></Entry>
|
|
<Entry><Para>Limits color allocation</Para></Entry>
|
|
</Row>
|
|
<Row>
|
|
<Entry><Para><Command>writeXrdbColors</Command><IndexTerm><Primary>writeXrdbColors resource</Primary></IndexTerm>
|
|
</Para></Entry>
|
|
<Entry><Para>Specifies whether the <Filename>*background</Filename> and
|
|
<Filename>*foreground</Filename> resources are placed in the resource
|
|
database</Para></Entry>
|
|
</Row>
|
|
</TBody>
|
|
</TGroup>
|
|
</InformalTable>
|
|
<Para>You can set color server resources for all users by creating
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> and specifying the color server
|
|
resources in that file.</Para>
|
|
<Para>Users can similarly set color server resources for their own sessions by
|
|
specifying color server resources in <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
|
|
<Para>For more information about setting color server resources, see
|
|
<!--Original XRef content: '&xd2;Administering
|
|
Colors&xd3; on page 265'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.FACol.div.18">.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.19">
|
|
<Title>Starting Workspace Manager<IndexTerm><Primary>Workspace Manager</Primary><Secondary>starting</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting Workspace Manager</Secondary></IndexTerm></Title>
|
|
<Para>Session Manager is responsible for starting Workspace Manager. By default
|
|
<Filename>/usr/dt/bin/<IndexTerm>
|
|
<Primary>Workspace Manager</Primary>
|
|
<Secondary>starting</Secondary>
|
|
</IndexTerm>dtwm</Filename> is started. An alternate window manager can be specified
|
|
with the <Command><IndexTerm>
|
|
<Primary>wmStartupCommand resource</Primary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary>Window Manager</Primary>
|
|
<Secondary>changing</Secondary>
|
|
</IndexTerm>wmStartupCommand</Command> resource.</Para>
|
|
<Para>You can specify an alternate window manager for all users by creating
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> and specifying the full path
|
|
name and options for the window manager with the
|
|
<Filename>Dtsession*wmStartupCommand</Filename> resource in that file.</Para>
|
|
<Para>Users can similarly specify an alternate window manager for their own
|
|
sessions only by specifying the <Filename>Dtsession*wmStartupCommand</Filename> resource in
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
|
|
<Para>For more information about the Window Manager, see
|
|
<!--Original XRef content: 'Chapter 14,
|
|
&xd2;Customizing the Workspace Manager'--><XRef Role="ChapNumAndTitle" Linkend="SAG.WMCnf.div.1">.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.20">
|
|
<Title>Starting the Session Applications<IndexTerm><Primary>applications</Primary><Secondary>starting at login</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>starting applications</Secondary></IndexTerm></Title>
|
|
<Para>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
|
|
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename>.
|
|
This file should not be edited as it
|
|
will be unconditionally overwritten upon subsequent desktop installations.</Para>
|
|
<Para>For more information, see the <Filename MoreInfo="RefEntry">dtsessionfile(4)</Filename>
|
|
and <Filename MoreInfo="RefEntry">dtsessiondb(4)</Filename> man pages.<IndexTerm><Primary>sys.session file</Primary></IndexTerm>
|
|
</Para>
|
|
<Para>A system administrator can replace the set of applications that are started as
|
|
part of the user's initial session by copying
|
|
<Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> to
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> 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.<IndexTerm><Primary>Session Manager</Primary><Secondary>customizing application startup</Secondary></IndexTerm>
|
|
</Para>
|
|
</Sect2>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.SesMg.div.21">
|
|
<Title Id="SAG.SesMg.mkr.8">Additional Session Startup Customizations</Title>
|
|
<Para>This section covers:</Para>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para>Setting environment variables</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Setting resources</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Using display-dependent sessions</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Running scripts at login</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Recovering a back-up session</Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
<Sect2 Id="SAG.SesMg.div.22" Role="Procedure">
|
|
<Title Id="SAG.SesMg.mkr.9">To Set Environment Variables<IndexTerm><Primary>environment variables</Primary><Secondary>setting</Secondary></IndexTerm><IndexTerm><Primary>variables</Primary><Secondary>environment, See environment variables</Secondary></IndexTerm></Title>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para><IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>system-wide</Secondary>
|
|
</IndexTerm>To set system-wide environment variables, create a file in the
|
|
<Filename>/etc/dt/config/Xsession.d</Filename><IndexTerm>
|
|
<Primary>Xsession.d directory</Primary>
|
|
</IndexTerm>
|
|
directory that sets and<IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>exporting</Secondary>
|
|
</IndexTerm>
|
|
exports the
|
|
variable.</Para>
|
|
<Para>For example, if you create an executable <Command>sh</Command> or <Command>ksh</Command> script,
|
|
<Filename>/etc/dt/config/Xsession.d/</Filename><Symbol Role="Variable">myvars,</Symbol></Para>
|
|
<Para>containing:</Para>
|
|
<programlisting>export MYVARIABLE=“<Symbol Role="Variable">value</Symbol>“</programlisting>
|
|
<Para>then the variable <Command>MYVARIABLE</Command> will be set in each user's environment at the
|
|
next login.</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><IndexTerm>
|
|
<Primary>environment variables</Primary>
|
|
<Secondary>personal</Secondary>
|
|
</IndexTerm>To set personal environment variables, set the variable in
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename><IndexTerm>
|
|
<Primary>.dtprofile file</Primary>
|
|
<Secondary>setting environment variables in</Secondary>
|
|
</IndexTerm>/.dtprofile</Filename>.</Para>
|
|
<Para>For example:</Para>
|
|
<programlisting>export MYVARIABLE=“<Symbol Role="Variable">value</Symbol>“</programlisting>
|
|
<Para>sets the variable <Command>MYVARIABLE</Command> in each user's environment at the next login.</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<Note>
|
|
<Para>Session Manager does not automatically read the <Filename><IndexTerm>
|
|
<Primary>.profile file</Primary>
|
|
<Secondary>not read by Login Manager</Secondary>
|
|
</IndexTerm>.profile</Filename> or <Filename><IndexTerm>
|
|
<Primary>.login file</Primary>
|
|
<Secondary>not read by Login Manager</Secondary>
|
|
</IndexTerm><IndexTerm>
|
|
<Primary><$nopage>shell</Primary>
|
|
<Secondary>See also environment variables, .profile, .login, .dtprofile</Secondary>
|
|
</IndexTerm>.login</Filename>
|
|
file. However, it can be configured to use these files; see
|
|
<!--Original XRef content: '&xd2;Optionally Sourcing
|
|
the .profile or .login Script&xd3; on page 28'--><XRef Role="SecTitleAndPageNum" Linkend="SAG.SesMg.mkr.6">.</Para>
|
|
</Note>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.23" Role="Procedure">
|
|
<Title>To Set Resources<IndexTerm><Primary>resources</Primary><Secondary>setting</Secondary></IndexTerm></Title>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>To set system-wide resources, add the resources to the file
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename>.
|
|
(You may have to create the file.)<IndexTerm><Primary>sys.resources file</Primary></IndexTerm>
|
|
</Para>
|
|
<Note>
|
|
<Para><Filename>.<IndexTerm>
|
|
<Primary>.dtprofile file</Primary>
|
|
<Secondary>syntax</Secondary>
|
|
</IndexTerm>
|
|
dtprofile</Filename> only supports <Filename>/bin/sh</Filename> or <Filename>/bin/ksh</Filename> syntax.</Para>
|
|
</Note>
|
|
<Para>For example, if in <Filename>/etc/dt/config/C/sys.resources</Filename> you specify:</Para>
|
|
<ProgramListing>AnApplication*resource: <Symbol Role="Variable">value</Symbol></ProgramListing>
|
|
<Para>then the resource <Filename>AnApplication*resource</Filename> will be set in each user's
|
|
<Filename>RESOURCE_MANAGER</Filename> property at the next login.<IndexTerm><Primary>RESOURCE_MANAGER property</Primary></IndexTerm>
|
|
</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>To set personal resources, add the resources to the file
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.24" Role="Procedure">
|
|
<Title>To Set Display-Specific Resources<IndexTerm><Primary>display-specific resources</Primary></IndexTerm><IndexTerm><Primary>resources</Primary><Secondary>display-specific</Secondary></IndexTerm></Title>
|
|
<Para>You can set display-specific resources for all desktop users on the system. Also,
|
|
users can set display-specific resources limited to their own session. This
|
|
enables you to specify resources depending upon which display the user uses
|
|
to log in to the desktop.</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>To set display-specific resources for all desktop users on the system, create
|
|
the file <Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.resources</Filename> that specifies the
|
|
display-specific resources.</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>To set personal display-specific resources, specify the resource in
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.Xdefaults</Filename>.</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<Para>You delimit these resources by enclosing them in <Command><IndexTerm>
|
|
<Primary>cpp statements</Primary>
|
|
</IndexTerm>cpp</Command> conditional statements.
|
|
A <Filename><IndexTerm>
|
|
<Primary>DISPLAY_displayname macro</Primary>
|
|
</IndexTerm>DISPLAY_</Filename><Emphasis>displayname</Emphasis> macro is defined depending upon the value of the
|
|
<Filename>$DISPLAY</Filename> variable. This is done by converting all. (period) and: (colon)
|
|
characters to _ (underscores), stripping off any screen specification, and finally
|
|
prefixing <Filename>DISPLAY_</Filename> to the result.</Para>
|
|
<Para>For example, a <Filename>$DISPLAY</Filename> of <Filename>:0</Filename> would be <Filename>DISPLAY_0</Filename>, and a <Filename>$DISPLAY</Filename> of
|
|
<Filename>blanco.gato.com:0.0</Filename> would be <Filename>DISPLAY_blanco_gato_com_0</Filename>. The
|
|
resulting value can be used as part of a <Command>cpp</Command> test in a session resource file. For
|
|
example, if in <Filename>/etc/dt/config/C/sys.resources</Filename> you specify:</Para>
|
|
<programlisting>Myapp*resource: value
|
|
#ifdef DISPLAY_blanco_gato_com_0
|
|
Myapp*resource: specialvalue1
|
|
#endif
|
|
#ifdef DISPLAY_pablo_gato_com_0
|
|
Myapp*resource: specialvalue2
|
|
#endif
|
|
</ProgramListing>
|
|
<Para>the resource <Filename>MyApp*resource</Filename> will be set in <Filename>RESOURCE_MANAGER</Filename> to
|
|
<Filename>specialvalue1</Filename> when the user logs in on display <Filename>blanco.gato.com:0</Filename>;
|
|
<Filename>specialvalue2</Filename> when the user logs in on <Filename>pablo.gato.com:0;</Filename> and <Command>value</Command>
|
|
when the user logs in on another display.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.25" Role="Procedure">
|
|
<Title>To Change Applications for the Initial Session<IndexTerm><Primary>session</Primary><Secondary>first</Secondary></IndexTerm></Title>
|
|
<Para>You can specify alternate applications to start as part of a user's initial session.</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Copy <Filename>/usr/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session</Filename> to
|
|
<Filename>/etc/dt/config/</Filename><Symbol Role="Variable">language</Symbol><Filename>/sys.session.</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Modify the new <Filename><IndexTerm>
|
|
<Primary>sys.session file</Primary>
|
|
</IndexTerm>sys.session</Filename> file.</Para>
|
|
<Para>Each entry in <Filename>sys.session</Filename> appears as:</Para>
|
|
<programlisting>dtsmcmd -cmd <Replaceable Remap="Emphasis">command_and_options</Replaceable><IndexTerm>
|
|
<Primary>dtsmcmd command</Primary>
|
|
</IndexTerm></programlisting>
|
|
<Para>To start an additional application as part of a user's initial session, specify a
|
|
new <Filename>sys.session</Filename> entry with a full path name. For example, to start
|
|
<Filename>/usr/bin/X11/xclock</Filename> as part of a user's initial session, add an <Command>xclock</Command>
|
|
entry to <Filename>/etc/dt/config/C/sys.resources</Filename>:</Para>
|
|
<programlisting>#
|
|
# Start up xclock...
|
|
#
|
|
dtsmcmd -cmd “/usr/bin/X11/xclock -digital“
|
|
</Programlisting>
|
|
</ListItem>
|
|
</OrderedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.26" Role="Procedure">
|
|
<Title>To Set Up a Display-Specific Session<IndexTerm><Primary>session</Primary><Secondary>display-specific</Secondary></IndexTerm><IndexTerm><Primary>display-specific session</Primary></IndexTerm></Title>
|
|
<Para>A user can set up a display-specific session to tune a session to a particular
|
|
display.</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Copy the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/<IndexTerm>
|
|
<Primary>sessions directory</Primary>
|
|
</IndexTerm>
|
|
sessions</Filename> directory to
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol> where <Symbol Role="Variable">display</Symbol> is the real, unqualified host name
|
|
(<Filename>pablo:0</Filename> is valid, <Filename>pablo.gato.com:0</Filename> or <Filename>unix:0</Filename> is not).</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<Para>For example, to create a display-specific session for display
|
|
<Filename>pablo.gato.com:0</Filename>:</Para>
|
|
<ProgramListing>cp -r <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/pablo:0</ProgramListing>
|
|
<Para>When the user next logs in on display <Filename>pablo.gato.com:0</Filename>, the Session
|
|
Manager will start that display-specific session.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.27">
|
|
<Title>Executing Additional Commands at Session Startup and Logout</Title>
|
|
<Para>Users can specify that additional commands be started when they log in to
|
|
their desktop sessions. This is useful for setting up X settings that are not saved
|
|
by Session Manager. For example, the user can use <Command>xsetroot</Command> to customize the
|
|
root (workspace) pointer. Another use would be to start applications that are
|
|
unable to be saved and restored by Session Manager. If an application will not
|
|
restart when the session is restored, the user can start the client using this
|
|
method.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.28" Role="Procedure">
|
|
<Title>To Execute Additional Commands at Session Startup<IndexTerm><Primary>Session Manager</Primary><Secondary>executing additional commands</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>executing commands at startup</Secondary></IndexTerm></Title>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Create the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/sessionetc</Filename>
|
|
containing the commands.<IndexTerm><Primary>sessionetc file</Primary></IndexTerm>
|
|
</Para>
|
|
<Para>Generally this file is a script and must have execute permission. Processes
|
|
started in <Command>sessionetc</Command> should be run in the background.</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<Note>
|
|
<Para>Do not use <Command>sessionetc</Command> to start clients that are automatically restored
|
|
by Session Manager. Doing so can cause multiple copies of the application to
|
|
be started. You may not be able to see the copies immediately because the
|
|
windows may be stacked on top of one another.</Para>
|
|
</Note>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.29" Role="Procedure">
|
|
<Title>To Execute Additional Commands at Logout<IndexTerm><Primary>session</Primary><Secondary>executing commands at logout</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>executing commands at logout</Secondary></IndexTerm></Title>
|
|
<Para>A companion file to <Command>sessionetc</Command> is <Command><IndexTerm>
|
|
<Primary>sessionexit file</Primary>
|
|
</IndexTerm>sessionexit</Command>. Use <Command>sessionexit</Command> to
|
|
perform some operation at session exit that is not handled by Session Manager.</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Create the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/sessionexit</Filename>.
|
|
</Para>
|
|
<Para>Like <Command>sessionetc</Command>, this file is usually a script with execute permission.</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.30" Role="Procedure">
|
|
<Title>To Recover a Session from Backup<IndexTerm><Primary>session</Primary><Secondary>recovering</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>backing up sessions</Secondary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>backup</Secondary></IndexTerm></Title>
|
|
<Para>When Session Manager saves a session, the session information is stored in the
|
|
<Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions</Filename> directory or in the <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>
|
|
directory if using a display-specific session. In these directories, Session
|
|
Manager creates a subdirectory named <Command>current</Command> or <Command>home</Command> to store information
|
|
for the respective current or home session. Before the session information is
|
|
stored, Session Manager makes a backup of the prior session with that name
|
|
and stores it in <Filename><IndexTerm>
|
|
<Primary>current.old directory</Primary>
|
|
</IndexTerm>current.old</Filename> or <Filename><IndexTerm>
|
|
<Primary>home.old directory</Primary>
|
|
</IndexTerm>home.old</Filename>.</Para>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Log in using the Failsafe Session or Command Line Login from the login
|
|
screen.</Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para>Copy the backup session directory to the active name. For example, to
|
|
recover the backup home session:</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
<ProgramListing>cp -r <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions/home.old <Symbol Role="Variable">HomeDirectory</Symbol>/.dt/sessions/home</ProgramListing>
|
|
<Para>Display-specific sessions can be recovered in the same manner.</Para>
|
|
</Sect2>
|
|
<Sect2 Id="SAG.SesMg.div.31" Role="Procedure">
|
|
<Title>To Investigate Session Startup Problems<IndexTerm><Primary>Session Manager</Primary><Secondary>error log</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>troubleshooting</Secondary></IndexTerm></Title>
|
|
<OrderedList>
|
|
<ListItem>
|
|
<Para>Check the file <Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/startlog</Filename>.<IndexTerm><Primary>startlog file</Primary></IndexTerm><IndexTerm><Primary>session</Primary><Secondary>logging errors</Secondary></IndexTerm>
|
|
</Para>
|
|
<Para>The <Filename>startlog</Filename> file will contain the output (<command>stderr</command>)
|
|
from applications started by the Session Manager (on the Session Manager's host).
|
|
</Para>
|
|
</ListItem>
|
|
</OrderedList>
|
|
</Sect2>
|
|
</Sect1>
|
|
<Sect1 Id="SAG.SesMg.div.32">
|
|
<Title Id="SAG.SesMg.mkr.10">Session Manager Files and Directories<IndexTerm><Primary>configuration files</Primary><Secondary>Session Manager</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>files</Secondary></IndexTerm><IndexTerm><Primary>Session Manager</Primary><Secondary>directories</Secondary></IndexTerm></Title>
|
|
<ItemizedList Remap="Bullet1">
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/bin/Xsession</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/config/Xsession.d/*</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/bin/dtsession</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Filename>/usr/dt/bin/dtsession_res</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/current</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/sessions/home</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol><Filename>/current</Filename></Para>
|
|
</ListItem>
|
|
<ListItem>
|
|
<Para><Symbol Role="Variable">HomeDirectory</Symbol><Filename>/.dt/</Filename><Symbol Role="Variable">display</Symbol>/<Command>home</Command></Para>
|
|
</ListItem>
|
|
</ItemizedList>
|
|
</Sect1>
|
|
</Chapter>
|
|
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 06:16:56-->
|