Solaris8 公用桌面环境管理--配置会话管理器( 五 )


要为系统上的所有桌面用户设置显示器专用资源 , 需创建指定显示器专用资源的文件 /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当用户登录到显示器 blanco.gato.com:0 上时 , 资源 MyApp*resource 将在 RESOURCE_MANAGER 中被设置为 specialvalue1 ;当用户登录到显示器 pablo.gato.com:0 上时设置为 specialvalue2 ;当用户登录到另一个显示器上时设置为 value。
更改初始会话的应用程序 可以指定替代应用程序 , 把它作为用户初始会话的一部分来启动 。
将 /usr/dt/config/ language /sys.session 复制为 /etc/dt/config/ language /sys.session 。
修改新的 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 来定制根 (工作区) 指针 。另一种使用方法 是启动不能被"会话管理器"保存及恢复的应用程序 。另一个用途是启动"会话管理器"不能保存和恢复的应用程序 。如果应用程序在会话恢复时没有重新启动 , 用户可以使用这种方法启动客户机 。
会话启动时执行附加的命令 创建包含命令 HomeDirectory /.dt/ sessions/ sessionetc 的文件 。
该文件通常是脚本而且必须具有执行许可 。应在后台运行在 sessionetc 中启动的进程 。
不要使用 sessionetc 来启动由"会话管理器"自动恢复的客户机 。这样的操作可能导致启动应用程序的多个副本 。也许不能立即看到副本 , 因为窗口可能会互相堆叠。
在注销时执行附加的命令 sessionetc 的伴侣文件为 sessionexit。在会话退出时使用 sessionexit 来执行一些不是由"会话管理器"处理的操作 。
创建包含命令的文件 HomeDirectory /.dt/ sessions/ sessionexi t。
类似于 sessionetc , 该文件通常是具有执行许可的脚本 。
从备份恢复会话 当"会话管理器"保存会话时 , 会话信息被存储在 HomeDirectory /.dt/sessions 目录中;如果使用显示器专用会话 , 则存储在 HomeDirectory /.dt/ display 目录中 。在这些目录中 , "会话管理器"创建名为 current 或 home 的子目录来分别为相应的当前或起始的会话存储信息 。在会话信息被存储之前 , "会话管理器"以所创建的名称为前会话做备份 , 并将它存储在 current.old 或 home.old 中 。

推荐阅读