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

第 3 章 登录和会话起动故障的故障诊断

本章描述 Solaris 的 CDE 的起动文件和在起动 Solaris CDE 时可能遇到的故障,并且给出起动故障的相应解决方案。

登录起动文件

当 Solaris CDE 登录管理器验证了用户之后,将调用下列 正文来起动桌面:

/usr/dt/bin/Xsession

Xsession调用的第一个指定用户文件是HomeDirectory/.dtprofile

当新用户第一次登录到 Solaris CDE 时,将复制.dtprofile 文件到用户的起始目录中。在缺省情况下,此文件不起任何作用。 但此文件中的确包含许多如何编辑此文件的说明。用户可以编辑此文件,以便添加指定用户的环境变量。


注意:

正如Xsession正文调用.dtprofile一样,此文件使用 ksh 语法。


一条有用的编辑是撤去文件.dtprofile的最后一行的 注释:

DTSOURCEPROFILE=true

此行允许用户的HomeDirectory/.login文件(用于csh用户)或HomeDirectory/.profile文件(用于其他 shell 用户),作为起动进程的一部分。

错误记录位置

从 Solaris CDE 登录屏幕的"选项"菜单选择 "故障保险过程",以便绕过普通的 Xsession 起动, 来查看错误记录,并且排除可能出现的用户点文件故障。表 3-1显示错误记录及其位置。

表 3-1 错误记录位置

位置 

错误记录 

/var/dt/Xerrors

在用户登录之前的 Solaris CDE 登录窗口系统错误

HomeDirectory/.dt/startlog

Xsession.dtprofile.login.profile中 出现的 Solaris CDE 起动错误

HomeDirectory/.dt/errorlog

Xsession起动之后的 Solaris CDE 错误

HomeDirectory/.dt/sessionlogs

"会话管理器"和"窗口管理器"错误的会话记录所在的目录

有些错误也显示在"系统控制台"窗口中。如果"系统控制台"窗口此时并未运行,则备用控制台记录文件名是wscon,并与时间/显示码连在一起。例如:

/usr/tmp/wsconAAAa004EE:0.0

用户起动文件

要寻找.login(对于csh 用户) 或.profile(对于shksh用户)文件,首先撤去文件.dtprofile 的最后一行的注释,使它成为:

DTSOURCEPROFILE=true

在大多数情况下,这就足够了。但在某些情况下, 由于文件.login.profile可能含有 Solaris CDE "登录 管理器"所不支持的命令,所以您还需要修改该文件。 如果一条命令出故障,则其通常与等待终端键盘输入源的文件有关,其等待的键盘输入源为sttytset 或者与 "等待输入"命令有关。


小心:小心:

如果.dtprofile被设置寻找文件.login.profile,而这些文件中又含有出故障的命令,这些命令将使 shell 崩溃,这时桌面起动将失败。结果是不显现任何桌面。相反,您将看到 Solaris CDE 登录屏幕重新显示。.login.profile中的起动错误通常将被记录在文件HomeDirectory/.dt/startlog中。此时可利用故障保险过程或命令行登录方式 来调试在.login.profile 中出故障的命令 。


关于故障及其可能的解决方案的更多信息,请参阅.dtprofile 。出故障的命令一般与终端信息和控制有关。

Solaris CDE 起动示例

本节提供了如何编辑下列用户起动文件 的示例:

Solaris CDE 起动进程在.login.profile文件的正文中定义了名为 DT 的 shell 变量,其作用是 在Solaris CDE 的起动进程中检查是否出错。 这避免了象ttystty这样的与终端有关的命令的执行。请参阅下列正文示例:

.login( C shell )

		stty erase `^h`
	endif

.profile(shksh)

	if [ ! "$DT" ]; then
		stty erase `^h`
	fi

DT 的额外语法避免了在未定义 DT 时来自 C shell 的警告。 当用户利用传统的基于文本的控制台登录提示符来登录时, DT 是未定义的。关于设置点文件的进一步信息,请参阅HomeDirectory/.dtprofile 文件。


注意:

.Xdefaults中指定 Solaris CDEtty设置。


用户的.Xdefaults文件在Solaris CDE 起动时,寻找用户专用的资源。例如, ttyModes 确保在象 dttermxterm 这样的终端仿真窗口中,可以使用用户所喜欢的 tty 设置。下面一行是典型的 ttyModes 设置,显示在.Xdefaults文件中 :

*ttyModes: erase ^H intr ^C kill ^U start ^Q stop ^S susp ^Z`


注意:

喜欢的 Solaris CDE 资源与缺省的设置不同。


"桌面"的"窗口管理器"的图标放置,就是一个缺省设置的示例。 在这种情况下,在文件.Xdefaults中的下列行 显示了缺省的图标放置设置:

Dtwm*iconPlacement: 右上