精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>Solaris>>Solaris8 公用桌面环境管理--登录和会话启动故障的疑难解答

主题:Solaris8 公用桌面环境管理--登录和会话启动故障的疑难解答
发信人: hlzhan(Unfair)
整理人: hlzhan(2001-12-09 11:04:57), 站内信件
本文出自: http://docs.sun.com (2001-06-15 13:04:00) 
本章讲述 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

(http://www.fanqiang.com)  
 



----
我们由于聪明而变得狡猾
由于狡猾而丧失勇气
由于丧失勇气而变得猥琐
     

[关闭][返回]