下一页 上一页 目录

9. XFree86

9.1 XDM

XDM 是登录图形终端最常用的方式。它看起来有点像 login,但其内部机制完全不同。

在目录 /etc/X11/xdm 中,有一些配置文件在不同的登录阶段被执行。Xstartup (以及专门用于屏幕 0 的 Xstartup_0) 包含用户登录后要运行的命令 (命令以 root 用户身份运行)。

为用户设置的路径在 /etc/X11/xdm/xdm-config 中。其中包含以下行

DisplayManager*userPath: /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 
DisplayManager*systemPath: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

这些分别是普通用户和 root 用户的默认路径。/usr/bin/X11 对于 X 用户来说非常重要。如果 X 用户登录到另一台机器以启动 X 客户端应用程序,即使他看起来不是直接从 X 终端登录的,也应该在他的路径中包含 /usr/bin/X11。

运行 Xstartup 后,XDM 运行 /etc/X11/Xsession,该脚本以最终用户身份运行。本地配置应该在 /etc/environment 中完成,如果可用,/etc/environment 会从 Xsession 中被 source (包含) (Xsession 使用 /bin/sh 运行,因此 /etc/environment 必须是一个 sh 文件)。这与 ssh 冲突,ssh 认为 /etc/environment 是一个仅包含 VAR=VALUE 形式行的文件。

9.2 xterm -ls

默认情况下,从 X 窗口管理器菜单调用的所有命令的路径都是从 XDM 继承的路径。要使用不同的路径,必须显式设置。要使用“正常”路径启动终端模拟器,必须使用一些特殊选项。在 xterm 中,必须使用 -ls (login shell) 选项来获取一个登录 shell,其路径在 shell 登录初始化文件中指定。

9.3 窗口管理器菜单和按钮

窗口管理器继承 XDM 的环境。所有由窗口管理器启动的程序都继承窗口管理器的环境。

用户 shell 环境不影响从窗口管理器按钮和菜单启动的程序。例如,如果程序从 'xterm -ls' 启动,它将具有登录 shell 的默认环境,但如果是从菜单启动,它将只有窗口管理器的环境。


下一页 上一页 目录