服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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


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

扫描关注微信公众号