首页 > 学院 > 开发设计 > 正文

登录和会话启动故障的疑难解答

2019-11-18 13:30:25
字体:
来源:转载
供稿:网友

  本章讲述 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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表