本章讲述 Solaris CDE 的启动文件和在启动 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 启动,来查看错误记录,并且排除可能出现的用户点文件故障。è¨ 4 显示错误记录及其位置。
è¨ 4 - 错误记录位置 位置
错误记录
/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 (对于 sh 或 ksh 用户) 文件,需要撤去要读取的文件 .dtprofile 的最后一行的注释为:
DTSOURCEPROFILE=true
在大多数情况下,这就足够了。但在某些情况下,由于文件 .login 或 .profile 可能含有不适用于 Solaris CDE "登录管理器"的命令,所以您还需要修改该文件。如果其中一条命令出故障,则通常与期待终端键盘输入源 (如 stty、tset 或者与 "wait for input" 命令) 的文件有关。
如果 .dtprofile 被设置为寻找文件 .login 或 .profile,而这些文件中又含有出故障的命令,这些命令将使 shell 崩溃,那么桌面启动将失败。结果是不显现任何桌面。相反,您将看到 Solaris CDE 登录屏幕重新显示。.login 或 .profile 中的启动错误通常将被记录在文件 HomeDirectory/.dt/startlog 中。可利用失败安全会话或命令行登录方式来调试在 .login或 .profile 中出故障的命令。
有关故障及其可能的解决方案的更多信息,请参阅 .dtprofile。出故障的命令一般与终端信息和控制有关。
Solaris CDE 启动实例
本节提供了如何编辑下列的用户启动文件的实例:
.login (用于 csh 用户)
.profile (用于 sh 或 ksh 用户)
.Xdefaults
Solaris CDE 启动进程在 .login 或 .profile 文件的脚本中定义了名为 DT 的 shell 变量,以便在 Solaris CDE 的启动进程中进行检查。这就避免了执行像 tty 和 stty 这样的与终端有关的命令。请参阅下面的脚本实例:
.login ( C shell )
if ( ! ${?DT} ) then
stty erase `^h`
endif
.profile (sh or ksh)
if [ ! "$DT" ]; then
stty erase `^h`
fi
围绕 DT 的外加语法避免了在未定义 DT 时来自 C shell 的警告。当用户利用传统的基于文本的控制台登录提示符来登录时,DT 是未定义的。有关设置点文件的详细信息,请参阅 HomeDirectory /.dtprofile 文件。
在 .Xdefaults 中指定 Solaris CDE tty 设置。
在 Solaris CDE 启动时,为用户特定的资源查找用户的 .Xdefaults 文件。例如,ttyModes 确保在像 dtterm 或 xterm 这样的终端仿真窗口中,可以使用用户最喜爱的 tty 设置。下面一行在 .Xdefaults 文件中显示典型的 ttyModes 设置:
*ttyModes: erase ^H intr ^C kill ^U start ^Q stop ^S susp ^Z`
最喜爱的 Solaris CDE 资源与缺省的设置不同。
"桌面"的"窗口管理器"的图标放置就是一个缺省设置的实例。在这种情况下,在文件 .Xdefaults 中的下面一行显示了缺省的图标放置设置:
Dtwm*iconPlacement: right top