本节包括:
设置环境变量
设置资源
使用与显示器相关的会话
在登录时运行正文
恢复备份会话
例如,如果创建可执行的 ksh 正文,/etc/dt/config/Xsession.d/myvars, 包含:
export MYVARIABLE="value"
那麽变量 MYVARIABLE
在下次登录时,将被设置在每个用户的 环境中。
例如:
export MYVARIABLE="value"
在下次登录时,将变量 MYVARIABLE
设置在每个用户的 环境中。
"会话管理器"不自动读取 .profile 或 .login 文件。但是,它可以配置成能够使用这些文件;请参阅 "任选地查找 .profile 或 .login 正文"。
.dtprofile 只支持 /bin/sh 或 /bin/ksh 语法。
例如,如果在 /etc/dt/config/C/sys.resources 中指定:
AnApplication*resource: value
那麽资源 AnApplication*resource 在下次登录时,将被 设置在每个用户的 RESOURCE_MANAGER
属性中。
设置个人资源,请将资源添加到文件 HomeDirectory/.Xdefaults 中。
可为系统上的所有桌面用户设置显示器专用的 资源。同样,用户可设置限于自己的会话的显示器专用 资源。这样就可以根据用户登录到桌面的显示器 来指定资源。
为系统上的所有桌面用户设置显示器专用的资源, 需创建指定显示器专用资源的文件 /etc/dt/config/language/sys.resources。
设置个人的显示器专用资源,需在 HomeDirectory/.Xdefaults 中指定资源。
通过将这些资源放入 cpp 条件语句中来定界 它们。 DISPLAY_
displayname 宏根据 $DISPLAY
变量的值被定义。这是通过将所有 . (句点)和 : (冒号) 字符转换为 _ (下划线),去掉所有 屏幕说明,最后给结果加上 DISPLAY_
前缀来 实现的。
例如,:0
的 $DISPLAY 应为 DISPLAY_0
,blanco.gato.com:0.0
的 $DISPLAY 应为 DISPLAY_blanco_gato_com_0。结果值可用来作为会话资源文件中的 cpp 测试 的一部分。例如,如果在 /etc/dt/config/C/sys.resources 中指定:
Myapp*resource: value
#ifdef DISPLAY_blanco_gato_com_0 Myapp*resource: specialvalue1 #endif
#ifdef DISPLAY_pablo_gato_com_0 Myapp*resource: specialvalue2 #endif
资源 MyApp*resource 将被设置在 RESOURCE_MANAGER
到specialvalue1中,当用户登录到显示器 blanco.gato.com:0 上时 ; 当用户登录到显示器 pablo.gato.com:0; 上时值为 specialvalue2; 当用户登录到另一个显示器上时值为 value。
可以指定替代应用程序作为用户的初始会话的一部分而启动。
将 /usr/dt/config/language/sys.session 复制到 /etc/dt/config/language/sys.session 中。
sys.session 中的每项都呈现为:
dtsmcmd -cmd command_and_options
启动作为用户初始会话的一部分的附加应用程序, 需以全路径名指定新的 sys.session 项。例如, 启动 /usr/bin/X11/xclock 作为用户的初始会话的一部分, 需将 xclock 项添加到 /etc/dt/config/C/sys.session 中:
# # Start up xclock... # dtsmcmd -cmd "/usr/bin/X11/xclock -digital"
用户可设置显示器专用的会话,以便将会话调节 到特定的显示器。
将 HomeDirectory/.dt/sessions 目录复制到 HomeDirectory/.dt/display,其中 display 为实际的、非全名的主机 名(pablo:0 是有效的,而 pablo.gato.com:0 或 unix:0 不是)。
例如,要为显示器 pablo.gato.com:0 创建显示器专用的会话过程 :
cp -r HomeDirectory/.dt/sessions HomeDirectory/.dt/pablo:0
用户下次登录到显示器 pablo.gato.com:0 上时, "会话管理器"将启动该显示器专用的会话。
当用户登录到其桌面会话后,便可指定启动附加 的命令。这对于设置未被"会话管理器"保存的 X 设置是有用的。例如,用户可使用 xsetroot 来定制根(工作区)指针。另一种使用方法 是启动不能被"会话管理器"保存及恢复的 应用程序。如果应用程序在会话恢复时不重新启动,用户就可以使用这种方法重新启动客户。
该文件通常是正文而且必须具有执行许可。应在后台运行在 sessionetc 中启动的进程。
不要使用 sessionetc 来启动由"会话管理器"自动 恢复的客户。这样的操作可能造成启动应用程序的多重副本 。也许不能立即看到副本,因为窗口会互相堆叠 。
sessionetc 的伴侣文件为 sessionexit。在会话退出时 使用 sessionexit 来执行一些不是由"会话管理器" 处理的操作。
创建文件 HomeDirectory/.dt/sessions/sessionexit包含命令 。
类似于 sessionetc,该文件通常是具有执行许可的正文。
当"会话管理器"保存会话时,会话信息被存储在 HomeDirectory/.dt/sessions 目录中,如果使用显示器专用的会话,则存储在 HomeDirectory/.dt/display 目录中。在 这些目录中,"会话管理器"创建名为 current 或 home 的子目录来为相应的当前或起始会话存储信息。在会话信息被存储之前,"会话管理器" 以所创建的名称为前会话做备份,并将其存储在 current.old 或 home.old 中。
在登录屏幕中,通过使用"故障保险过程"或"命令行登录",进行 登录。
将备份会话目录复制到活动名中。例如,要 恢复备份起始会话:
cp -r HomeDirectory/.dt/sessions/home.old \ HomeDirectory/.dt/sessions/home
显示器专用的会话过程可使用相同方式恢复。
"会话管理器"在该文件中记录每个用户的会话启动进展。