dtsession 命令
用途
管理 CDE 会话。
语法
dtsession [选项] ...
描述
dtsession 命令在用户会话期间提供符合 ICCCM 1.1的会话管理功能,从登录到注销。 它会启动窗口管理器,并允许用户保存会话、复原会话、锁定会话、启动屏幕保护程序,以及为兼容桌面的客户机分配颜色。
- 初始化会话
- 启动窗口管理器
- 恢复主会话或当前会话
- 对命令或超时提供会话锁定
- 对命令或超时提供会话屏幕保护程序
- 充当其他桌面客户机的颜色分配服务器
- 保存主会话或当前会话
- 注销时显示确认对话
- 注销时显示会话选择对话
- 终止会话
会话
会话是显示在用户桌面上的应用程序、设置和资源的集合。 会话管理是一组约定和协议,允许特殊会话管理器 (例如 dtsession) 保存和复原用户会话。 用户可登录到系统,并将看到与用户注销时所见相同的运行中的应用程序、设置和资源的集合。 当用户首次登录到桌面时,将装入缺省初始会话。 之后, dtsession 支持当前会话和主会话的概念。
- 初始会话
- 当用户首次登录桌面时, dtsession 将使用系统缺省值生成用户的初始会话。 有关更多信息,请参阅 会话资源管理 和 会话应用程序管理。
- 当前会话
- 始终将正在运行的用户会话视为当前会话,无论该会话是登录时从保存的主会话、从保存的当前会话,还是从系统缺省初始会话复原的。 根据用户的“样式管理器启动”设置,当用户退出会话时,当前会话将自动保存。 当用户下一次登录到桌面时,先前保存的当前会话将重新启动。 桌面恢复为用户上次注销时的相同状态。
- 主会话
- 这是另一种选项,不管用户注销时桌面是什么状态,该选项在用户每次登录时会将桌面恢复为同一状态。 用户可保存当前会话的状态,然后设置“样式管理器启动”,以使桌面在每次用户登录时启动该会话。
- 特定于显示的会话
- 要为特定显示运行特定会话,用户可创建特定于显示的会话。 为此,用户可以将 $HOME/.dt/sessions 目录复制到 $HOME/.dt/display,其中 display 是真实的非限定主机名 (例如,
pablo:0有效,但pablo.gato.com:0或local:0无效)。 当用户在显示pablo:0上登录时,该特定于显示的会话将优先。
ICCCM 会话管理协议
对于要在注销时保存并在登录时重新启动的应用程序,它必须使用简单会话管理协议。 dtsession 命令支持 ICCCM 1.1 会话管理协议。
需要保存其状态的应用程序可使用 WM_SAVE_YOURSELF 协议。 为此,应用程序需要仅在它的其中一个顶级窗口上设置 WM_SAVE_YOURSELF 属性。 保存会话时, dtsession 会向应用程序的顶级窗口发送WM_SAVE_自己客户机消息。 应用程序会继续静默保存其状态。 在应用程序保存其状态时,它无法以任何方式与用户交互。 由于应用程序可能将其状态保存到文件中,因此会话管理器提供了便利功能 DtSessionSavePath,它返回应用程序可以在其中保存其状态的文件的完整路径名。 当应用程序正在保存其状态时, dtsession 会等待应用程序通知它已完成。 要告知 dtsession 保存完成,应用程序必须在其顶级窗口上更新 WM_COMMAND 属性。
应用程序顶级窗口上的 WM_COMMAND 属性提供两种作用。 首先,此属性的更改向 dtsession 指示应用程序已完成保存其状态,并且 dtsession 可以继续到下一个应用程序。 其次, WM_COMMAND 属性值应该包含 dtsession 在会话启动时用于重新启动应用程序的命令行。 如果应用程序是用完整路径名启动的,那么在设置 WM_COMMAND 值时,它必须使用该完整路径名。 如果应用程序不需要保存其状态,但希望重新启动,那么这些应用程序可在应用程序启动期间设置 WM_COMMAND 值一次。
恢复会话
- 特定于显示的当前会话或主会话
- 当前或主会话
- 初始会话
会话资源管理
- 装入系统缺省资源。
- 合并系统管理员指定的所有资源。
- 合并用户指定的所有资源。
可以在 /usr/dt/config/$LANG/sys.resources 文件中找到桌面缺省资源。 通过 RESOURCE_MANAGER 属性,使这些资源对每个用户会话都可用。 不要编辑此文件,因为在后续桌面安装期间将无条件覆盖该文件。
通过创建 /etc/dt/config/$LANG/sys.resources 文件,系统管理员可以覆盖系统缺省资源或指定更多资源。 由于在会话启动期间,此文件会合并到桌面缺省资源中,因此仅新的资源规范或已更新资源规范必须置于此文件中。 更可取的方法是生成桌面缺省资源文件的副本。 通过 RESOURCE_MANAGER 属性,使此文件中指定的资源对每个用户会话都可用。 此文件中指定的资源优先于桌面缺省资源文件中指定的那些资源。
通过编辑 $HOME/.Xdefaults 文件,用户可以覆盖桌面缺省资源和系统管理员资源。 通过 RESOURCE_MANAGER 属性,使此文件中指定的资源仅对该用户会话可用,并且这些资源优先于桌面缺省资源文件或系统管理员资源文件中指定的那些资源。
ReloadResources 操作指示会话管理器使用系统指定的资源,系统管理员指定的资源和用户指定的资源重新装入 RESOURCE_MANAGER。 这使已对系统管理员指定的或用户指定的资源文件所作的更改对新应用程序可用。
会话应用程序管理
在会话启动时,会话管理器将重新启动作为会话的一部分而保存的所有应用程序。 可以在 /usr/dt/config/$LANG/sys.session 文件中找到要在用户初始会话过程中复原的系统缺省应用程序集。 不要编辑此文件,因为在后续桌面安装期间将无条件覆盖该文件。
系统管理员可以通过创建 /etc/dt/config/$LANG/sys.session 文件来替换在用户初始会话过程中复原的应用程序集。 与资源文件不同,此文件可完全替代桌面缺省文件,因此您可以复制系统缺省文件并进行任何必要的修改。
窗口管理器
dtsession 命令启动窗口管理器。 缺省情况下, /usr/dt/bin/dtwm 已启动。 可以使用 wmStartupCommand 资源来指定备用窗口管理器。 有关更多信息,请参阅“工作空间管理器”规范。
样式管理器
样式管理器提供了界面,用户可通过该界面更改当前会话的各个桌面设置和 X 服务器设置。 有关更多信息,请参阅“样式管理器”规范。
颜色服务器
- foregroundColor
- 控制是否分配像素用于前景色。
- dynamicColor
- 指定是否分配只读颜色。
- shadowPixmaps
- 指定是否为顶部阴影或底部阴影分配颜色。
- colorUse
- 限制颜色分配。
- writeXrdbColors
- 指定资源数据库中是否放置 *background 和 *foreground 资源。
会话锁
dtsession 命令提供会话锁定。 按下前面板上的锁图标可直接锁定当前会话。 如果 X 服务器支持,那么在当前会话处于不活动状态达到了指定时间后,可将它锁定。 要解锁会话,用户必须输入其登录密码, root 用户的登录密码或 keys 资源指定的任何用户的登录密码。 有关密钥资源的更多信息,请参阅 屏幕锁定和屏幕保存资源 。
dtsession 命令是服务名称为 dtsession的支持 PAM 的会话管理器。 它支持传统的本地UNIX身份验证以及用于解锁会话的 PAM 身份验证。 各个供应商可增加其他再认证功能,如 DCE 要求的再认证功能。
通过建立 root 用户许可权并将 /etc/security/login.cfg 文件的 usw 节中 auth_type 属性的值修改为 PAM_AUTH来设置使用 PAM 进行认证的系统范围配置。
dtsession auth required /usr/lib/security/pam_aix
屏幕保护程序
dtsession 命令支持从前面板启动外部屏幕保护程序作为会话锁定的一部分,或者在指定的不活动时间段后启动外部屏幕保护程序 (如果 X 服务器支持)。 有关屏幕保护程序如何集成到桌面的信息,请参阅屏幕保护程序规范。
X 服务器屏幕保护程序扩展
dtsession 命令在指定的不活动时间段后提供会话锁定或屏幕保护程序启动的能力取决于 X 服务器屏幕保护程序扩展的可用性。 dtsession 命令支持 X Consortium Sample X11 Screen Saver Extension 1.0 和 HP X Screen Saver Extension。 dtsession 命令能够识别这两个扩展,或者不识别任何这些扩展都是特定于供应商的。
启动会话管理器
必须从 Xsession 脚本启动 dtsession 命令。 登录管理器规范中描述了 Xsession 。 虽然建议从 dtlogin 作为缺省登录序列的一部分启动 Xsession ,但某些系统允许代理程序 (例如 xinit, x11start或 startx) 启动 Xsession。
颜色服务器资源
| 项 | 描述 |
|---|---|
| colorUse |
|
| dynamicColor |
|
| foregroundColor |
|
| shadowPixmaps |
|
| writeXrdbColors |
|
屏幕锁和屏幕保护资源
| 项 | 描述 |
|---|---|
| keys |
|
| passwordTimeout |
|
其他资源
| 项 | 描述 |
|---|---|
| queryServerSettings |
|
| saveFontPath |
|
| wmStartupCommand |
|
退出状态
返回以下退出值:
| 项 | 描述 |
|---|---|
| 0 | 成功完成。 |
| >0 | 发生错误。 |
示例
- 要从命令行启动会话管理器,而不恢复先前的会话,请输入:
dtsession -norestore
位置
/usr/dt/bin/dtsession
文件
| 项 | 描述 |
|---|---|
| /usr/dt/config/$LANG/sys.session | 用户初始会话的桌面缺省应用程序集。 |
| /etc/dt/config/$LANG/sys.session | 系统管理员为用户初始会话指定的应用程序集。 |
| /usr/dt/config/$LANG/sys.resources | 桌面缺省资源。 |
| /etc/dt/config/$LANG/sys.resources | 系统管理员指定的资源。 |
| $HOME/.Xdefaults | 用户指定的资源。 注: dtsession 命令将会话信息存储在 $HOME/.dt/display 或 $HOME/.dt/sessions中。 这些目录的内容不能由用户直接编辑。
|
| /usr/dt/app-defaults/$LANG/Dtsession | 缺省 dtsession 资源。 |