Solaris 公用桌面环境: 高级用户和系统管理员指南

当会话启动时

"会话管理器"启动时,它通过下列步骤 启动用户的会话:

  1. 查找HomeDirectory/.dtprofile 正文

  2. 查找Xsession.d正文

  3. 显示前言信息

  4. 设置桌面搜索路径

  5. 收集可用的应用程序

  6. 可选HomeDirectory/.profileHomeDirectory/.login

  7. 启动 ToolTalk*消息守护程序

  8. 装入会话资源

  9. 启动颜色服务器

  10. 启动"工作区管理器"

  11. 启动会话应用程序

    以下各节描述上列的各步骤。

查找 .dtprofile 正文

会话一启动,Xsession正文便开始查找用户的HomeDirectory/.dtprofile正文。HomeDirectory/.dtprofile 正文是/bin/sh/bin/ksh 正文,它使用户可以为自己的会话设置环境变量。关于设置环境变量的进一步信息,请参阅"附加的会话启动定制 "

如果HomeDirectory/.dtprofile 正文不存在,例如在用户第一次登录到桌面时,Xsession 将会把桌面缺省的sys.dtprofile复制到 HomeDirectory /.dtprofile中。

桌面缺省值为/usr/dt/config/sys.dtprofile。定制sys.dtprofile正文,需将sys.dtprofile/usr/dt/config复制到/etc/dt/config 中,并编辑新文件。

查找 Xsession.d 正文

查找HomeDirectory/.dtprofile 正文之后,Xsession正文查找Xsession.d 正文。这些正文用来设置附加的环境变量,并为用户的会话启动任选守护程序。缺省的Xsession.d正文为:

0010.dtpaths-将可定制的桌面搜索路径记入文档

0020.dtims-启动任选的输入方法服务器

0030.dttmpdir-创建每个用户、每个会话的临时目录

0040.xmbind-将$XMBINDDIR 设置为桌面缺省值

Xsession.d中还可能另外附有一些供应商专用正文。

Xsession首先查找/etc/dt/config/Xsession.d 目录中的所有文件,然后是 /usr/dt/config/Xsession.d 目录中的所有文件。

桌面缺省的Xsession.d正文位于/usr/dt/config/Xsession.d目录。定制 Xsession.d 正文,需将正文从 /usr/dt/config/Xsession.d复制到 /etc/dt/config/Xsession.d中, 并编辑新文件。必须具有执行许可才能执行该任务 。

同样,要使Xsession自动查找您自己的正文, 需将该正文复制到/etc/dt/config/Xsession.d中。


注意:

修改或创建Xsession.d正文时,要确保发布的任何前台命令只用短暂时间,因为命令所占用的时间将直接影响会话启动时间。如果 前台命令未退出,则会话启动将挂起。如果想要Xsession.d正文中的命令在会话期间继续 运行,它们应该在后台运行。


显示欢迎前言信息

查找HomeDirectory/.dtprofileXsession.d正文之后,Xsession 显示覆盖屏幕的前言 信息。可以定制显示的前言信息,或完全关闭信息。dthello 客户被用来显示 信息。

更改信息文本,可以更改dthello选项,通过修改dtstart_hello[0]变量的方 法 。

更改dtstart_hello[0],需创建设置新值 的/etc/dt/config/Xsession.d正文。要为所有用户显示当日的信息,需创建可执行的 shksh 正文,例如 /etc/dt/config/Xsession.d/myvars,并如下设置dtstart_hello[0]

dtstart_hello[0]="/usr/dt/bin/dthello -file /etc/motd 
&"

用户同样可通过在HomeDirectory/.dtprofile中设置dtstart_hello[0]为他们的会话更改前言信息 。

关闭前言信息,需设置 dtstart_hello[0]=" "。

关于dthello的详细内容,请参阅 dthello 手册页。

设置桌面搜索路径

桌面搜索路径由dtsearchpath在登录时创建。dtsearchpath使用两类环境变量:

输入变量-系统范围的及个人的环境变量, 它们的值由系统管理员或最终用户设置。

输出变量-由dtsearchpath创建并赋值的变量。每个变量的值都是桌面会话的查找路径。

更改dtsearchpath的命令行选项,需修改dtstart_searchpath变量。为所有用户更改dtstart_searchpath 变量,需创建可执行的 shksh 正文(例如 /etc/dt/config/Xsession.d/myvars),并如下设置 dtstart_searchpath

dtstart_searchpath="/usr/dt/bin/dtsearchpath"

用户同样可以只为自己的会话更改dtsearchpath 选项,通过设置 dtstart_searchpath,在HomeDirectory/.dtprofile中。

关于dtsearchpath的进一步信息,请参阅第 9 章,桌面搜索路径。 关于dtsearchpath选项的进一步信息,请参阅 dtsearchpath手册页。

收集可用的应用程序

设置桌面搜索路径后的下一步是使用dtappgather 收集可用的应用程序。更改 dtappgather 的 命令行选项,需修改 dtstart_appgather 变量。 为所有用户更改 dtstart_appgather 变量,需创建可执行的 shksh 正文(例如 /etc/dt/config/Xsession.d/myvars),并如下设置 dtstart_appgather

dtstart_appgather="/usr/dt/bin/dtappgather &"

用户同样可以只为自己的会话更改dtappgather 选项,通过设置 dtstart_appgather,在 HomeDirectory /.dtprofile 中 。

关于dtappgather选项的进一步信息,请参阅 dtappgather(4) 手册 页。

任选地查找 .profile 或 .login 正文

Xsession 能够查找用户的传统 HomeDirectory /.profileHomeDirectory /.login 正文。该能力在缺省时禁用。告知 Xsession 查找.profile.login正文,需将 DTSOURCEPROFILE设置为 true

为所有用户更改DTSOURCEPROFILE,需创建设置新值的 /etc/dt/config/Xsession.d 正文。为所有用户将 DTSOURCEPROFILE 设置为true,需创建可执行的 shksh正文,例如/etc/dt/config/Xsession.d/myvars,并如下 设置DTSOURCEPROFILE

DTSOURCEPROFILE=true

用户同样可以为自己的会话更改DTSOURCEPROFILE,通过将DTSOURCEPROFILE设置为true(在HomeDirectory/.dtprofile中)。

启动 ToolTalk 消息守护程序

ToolTalk 消息守护程序,ttsession,使独立的应用程序可以在彼此之间无直接知识的情况下通信。 应用程序创建并发送 ToolTalk 消息来互相通信。ttsession在网络上通信来传送消息。

更改ttsession的命令行选项,需更改 dtstart_ttsession 变量。为所有用户更改 dtstart_ttsession 变量,需创建可执行的 shksh 正文(例如 /etc/dt/config/Xsession.d/ myvars), 并如下设置 dtstart_ttsession

dtstart_ttsession="/usr/dt/bin/ttsession -s"

用户同样可以为自己的会话更改ttsession选项,通过设置 dtstart_ttsession(在HomeDirectory/.dtprofile 中)。

关于ttsession选项的进一步信息,请参阅 ttsession 手册页。有关 ttsession 的进一步信息,请参阅Common Desktop Environment: ToolTalk Messaging Overview

启动会话管理器客户

此时,Xsession启动/usr/dt/bin/dtsession,使 会话启动进程继续下去。

装入会话资源

"会话管理器"使用 X 服务器的RESOURCE_MANAGER 属性以 使桌面资源可用于所有应用程序。"会话管理器"通过下列方法装入RESOURCE_MANAGER

桌面缺省资源可以在/usr/dt/config/language/sys.resources 中找到。通过RESOURCE_MANAGER 属性将使这些资源可用于每个用户的会话。不应编辑该文件, 因为它会被后续的桌面安装覆盖。

可以通过创建/etc/dt/config/language/sys.resources 增加系统缺省资源。在该文件中,可以为所有桌面用户 覆盖缺省资源或指定附加资源。由于该文件在会话启动过程中合并到桌面缺省资源中, 所以在该文件中只应该放置新的或更新的资源说明。通过RESOURCE_MANAGER 属性,该文件中指定的资源可以用于每个用户的会话。该文件中指定的资源具有高于桌面缺省资源文件中所指定 资源的优先级。

用户可以使用其HomeDirectory/.Xdefaults 文件为自己的会话增加桌面缺省的和系统范围的资源。通过RESOURCE_MANAGER属性,使该文件中指定的资源 可以用于该用户的会话。该文件中指定的资源具有高于桌面缺省资源或系统管理员资源文件中所指定资源的优先级。

用户可以使用其 HomeDirectory/.Xdefaults 文件为自己的会话 增加桌面缺省的和系统范围的资源。通过 RESOURCE_MANAGER 属性,使该文件中指定的资源 可以用于该用户的会话。该文件中指定的资源具有高于 桌面缺省资源或系统管理员资源文件中所指定 资源的优先级。


注意:

"X 工具包内置工具"实用程序指定将从 RESOURCE_MANAGER 或者从 HomeDirectory/.Xdefaults为应用程序装入资源,但是不可同时从二者这样做 。通常,这意味着会忽略用户的 HomeDirectory/.Xdefaults 文件。但是,如上所述,在会话启动时"会话管理器"调整HomeDirectory/.Xdefaults, 通过将HomeDirectory/.Xdefaults 合并到 RESOURCE_MANAGER 中的方法 。如果用户更改 HomeDirectory/.Xdefaults,那麽在用户调用"重新装入资源"动作之前,所做的更改对新的 应用程序是不可见的。"重新装入资源"动作将 构造"会话管理器",以缺省的、系统范围的 及用户指定的资源重新装入 RESOURCE_MANAGER。这样 对系统范围的及个人的资源文件的更改就可用于 应用程序。


关于进一步信息,请参阅:

启动颜色服务器

"会话管理器"用作桌面的颜色服务器并提供下列 dtsession 资源集,这些资源集可用来配置 "会话管理器"。

foregroundColor-控制是否为前景颜色分配 象素

dynamicColor-指定只读颜色是否被分配

shadowPixmaps-指定是否为 顶部阴影或底部阴影分配颜色

colorUse-限制颜色的分配

writeXrdbColors-指定 *background*foreground 资源是否被放置在资源数据库中

通过创建 /etc/dt/config/language/sys.resources, 并在该文件中指定颜色服务器,为所有用户设置 颜色服务器资源。

用户同样也可以通过在 HomeDirectory/.Xdefaults 中指定 颜色服务器资源,为自己的会话设置颜色服务器 资源。

关于设置颜色服务器资源的进一步信息,请参阅 "管理颜色"

启动工作区管理器

"会话管理器"负责启动"工作区管理器"。在缺省情况下, 启动/usr/dt/bin/dtwm。可以使用 wmStartupCommand 资源指定替代窗口服务器。

可以通过创建 /etc/dt/config/language/sys.resources,并为 该文件中的 Dtsession*wmStartupCommand 资源窗口管理器指定全路径名 及选项来为所有用户指定替代窗口管理器。

用户同样也可以通过指定 Dtsession*wmStartupCommand 资源只为自己的会话指定 替代窗口管理器(在 HomeDirectory/.Xdefaults 中)。

关于"窗口管理器"的进一步信息,请参阅 第 16 章,定制工作区管理器

启动会话应用程序

会话一启动,"会话管理器"将重新启动被保存为会话的一部分的 任何应用程序。即将被恢复为用户初始会话一部分的应用程序的 系统缺省集可在 /usr/dt/config/language/sys.session 中找到。不应编辑该文件,这是因为 在后续的桌面安装过程中,被将无条件覆盖。

关于进一步信息,请参阅 dtsessionfile(4) 手册页。

系统管理员可以将 /usr/dt/config/language/sys.session 复制到 /etc/dt/config/language/sys.session 中 ,并修改后文件,这样即可替换作为用户初始会话的一部分而启动的 应用程序集。与资源文件不同,该文件将用作桌面缺省文件的完整替换, 所以可制成系统缺省文件的副本,并作任何必要的 修改。