第 21 章 配 置 X -windows 系 统
X- windows 设 计 得 十 分 灵 活 , 用 户 可 以 通 过 各 种 方 式 对 它 进 行 配 置 。 它 可以 在 目 前 所 见 的 大 多 数 显 示 卡 , 甚 至 在 图 形 加 速 卡 上 运 行 。 X-windows 不 拘 泥于 任 何 特 定 的 桌 面 界 面 。 它 提 供 一 套 底 层 的 图 形 操 作 集 , 由 那 些 用 户 界 面 应 用程 序 ( 诸 如 窗 口 管 理 器 和 文 件 管 理 器 ) 使 用 它 。 窗 口 管 理 器 利 用 这 些 操 作 来 构建 控 制 窗 口 的 饰 件 , 诸 如 滚 动 条 , 尺 寸 调 整 按 钮 , 以 及 关 闭 按 钮 。 不 同 的 窗 口管 理 器 能 够 构 建 出 不 同 外 形 的 饰 件 , 从 而 提 供 不 同 的 界 面 。 所 有 的 这 些 都 能 在X-windows 上 运 行 。 有 许 多 不 同 的 窗 口 管 理 器 供 用 户 选 择 。 在 系 统 中 , 每 个 用户 可 以 运 行 一 种 不 同 的 窗 口 管 理 器 , 但 所 有 的 用 户 都 使 用 同 一 个 X-windows 底层 图 形 操 作 集 。 用 户 甚 至 能 在 没 有 任 何 窗 口 管 理 器 和 文 件 管 理 器 的 情 况 下 运 行X-windows 程 序 。
为 了 运 行 X-windows ,必 须 安 装 与 系 统 显 示 卡 匹 配 的 XFree86 服 务 器 , 并 提供 有 关 当 前 系 统 的 显 示 器 , 鼠 标 以 及 键 盘 的 配 置 信 息 。 这 些 信 息 存 放 于 / etc
/ XF86Config 这 个 配 置 文 件 中 。 文 件 使 用 的 技 术 信 息 最 好 由 一 个 X-windows 配 置 程 序 生 成 , 如 XF86Setup 。 在 用 户 安 装 系 统 的 过 程 中 进 行 X-windows 配置 时 ( 见 第 2 章 ) , 这 个 文 件 会 自 动 生 成 。
用 户 可 以 通 过 .xinitrc 和 / usr / X11R6 / lib / X11 / xinit / xinitrc 这 两 个 配置 文 件 来 配 置 自 己 的 X-windows 界 面 , 通 过 这 两 个 文 件 中 用 户 可 以 选 择 并 且 启动 窗 口 管 理 器 , 文 件 管 理 器 , 以 及 初 始 X-windows 应 用 程 序 ( 在 OpenLinux 系 统 里 , 目 录 usr / X11R6 / lib / X11 / xinit / 是 目 录 / etc / X11 / xinit / 的一 个 连 接 , 文 件 实 际 存 放 在 目 录 / etc / X11 / xinit / 里 。 ) 还 有 一 组 特 殊 的 X- windows 命 令 ,用 户 可 以 用 它 们 来 配 置 根 窗 口 ,载 入 字 体 ,或 者 配 置 X-windows 资 源 : 如 设 定 窗 口 边 界 颜 色 。 也 可 以 从 在 线 资 源 下 载 X-windows 实 用 程 序 , 那些 作 为 Linux 镜 象 站 点 的 在 线 资 源 通 常 在 他 们 的 / pub / Linux / X11 目 录下 。 如 果 必 须 编 译 一 个 X-windows 应 用 程 序 , 用 户 可 能 必 须 采 取 特 殊 的 步 骤 并且 安 装 相 应 的 支 持 软 件 包 。 除 了 可 以 配 置 X-windows , 用 户 也 可 以 配 置 窗 口 管理 器 。 窗 口 管 理 器 fvwm 有 它 自 己 的 一 套 配 置 文 件 , 可 以 用 它 们 来 增 加 任 务 栏按 钮 或 增 加 菜 单 项 , 甚 至 建 立 键 盘 映 射 。
XFree86 服 务 器
XFree86 服 务 器 支 持 的 显 示 卡 和 显 示 器 范 围 很 广 。 有 支 持 单 显 ,VGA ,SVGA 的 服 务 器 , 有 为 图 形 加 速 卡 设 计 的 一 系 列 服 务 器 , 每 种 芯 片 组 对 应 一 种 服 务 器 。表 21-1 列 出 了 现 有 的 XFree86 服 务 器 。 如 需 要 更 加 详 细 的 信 息 , 可 查 看 位 于目 录 / usr / X11R6 / lib / X11 / doc 的 XFree86 文 档 。 在 那 儿 能 找 到 对 应 于各 种 服 务 器 的 文 件 以 及 各 服 务 器 所 支 持 的 显 示 卡 类 型 。 文 件 AccelCards 列 出
了 所 有 目 前 被 支 持 的 硬 件 , 包 括 芯 片 组 ; 文 件 Monitors 列 出 了 显 示 器 配 置 信息 。 也 可 以 查 看 不 同 驱 动 程 序 的 man 帮 助 页 。 各 驱 动 程 序 及 相 应 的 man 帮 助页 在 此 列 出 :
显 示 卡 man 帮 助 页
图 形 加 速 卡 XF86_Accel
单 色 显 示 卡 XF86_Mono VGA 显 示 卡 XF86_VGA16 SVGA 显 示 卡 XF86_SVGA
安 装 系 统 时 所 指 定 的 XFee86 服 务 器 会 自 动 安 装 。 用 户 必 须 使 用 Lisa,glint, 或 者 rpm 来 显 式 地 安 装 其 它 服 务 器 。 他 们 在 CD-ROM 的 目 录 OpenLinux / install/ xbasis1 里 。 每 个 包 含 XFree 服 务 器 的 包 以 XFree86 "为 名 字 的 开 头 。用 户 必 须 安 装 与 当 前 的 图 形 卡 匹 配 的 包 。 大 多 数 标 准 显 示 卡 能 在 SVGA 服 务 器 - XF86_VGA 工 作 。 如 果 用 户 正 在 使 用 简 单 的 单 色 或 VGA 显 示 卡 , 只 要 安 装 一般 的 XF86_Mono 或 XF86_VGA 服 务 器 。 但 是 , 如 果 装 有 图 形 加 速 卡 , 必 须首 先 确 定 它 使 用 的 是 什 么 芯 片 组 。 查 看 随 卡 买 回 来 的 手 册 或 文 档 。 如 果 不 能 确定 芯 片 的 类 型 , 可 以 使 用 一 个 叫 作 Superprobe 的 实 用 程 序 , 它 会 分 析 当 前 的加 速 卡 , 确 定 所 需 信 息 。 首 先 , 看 一 下 Superprobe 的 man 帮 助 页 以 便 在 启 动它 之 前 确 定 正 确 使 用 的 参 数 。 一 个 特 定 服 务 器 的 名 字 通 常 包 含 它 所 支 持 的 芯 片组 的 名 字 。 例 如 , 如 果 正 在 使 用 的 图 形 卡 上 有 S3 芯 片 组 , 应 使 用 XFree86_S3 包 。 如 果 使 用 ViRGE 芯片 ( Diamond Stealth 3D 2000 ) ,应 使 用 S3V 服 务 器 。在 某 一 些 情 况 下 , 不 同 品 牌 的 图 形 卡 使 用 同 一 种 芯 片 。 如 果 用 户 在 CD-ROM 中
没 有 找 到 所 需 的 服 务 器 包 , 可 以 查 看 任 一 Linux 镜 象 站 点 ( 通 常 在 目 录 / pub
/ Linux / X11 / servers 下 面 ) 寻 找 更 新 的 版 本 。
rpm-iXFree86_S3-3.2-1.i386.rpm
/ etc / XF86Config 文 件
- 旦 安 装 了 XFree86 服 务 器 , 下 一 步 就 该 配 置 X-windows 界 面 了 。 这 会涉 及 到 配 置 文 件 XF86Config 的 生 成 。 它 位 于 / etc 目 录 下 , 包 含 了 有 关 当 前 图形 卡 、 显 示 器 、 键 盘 以 及 鼠 标 的 所 有 详 细 说 明 。 用 户 可 以 直 接 创 建 这 个 文 件 , 但 最 好 使 用 诸 如 XF86Setup 或 XF86Config 之 类 的 实 用 配 置 程 序 。 用 这 些 实 用程 序 配 置 时 ,只 需 回 答 有 关 硬 件 的 一 些 问 题 ,然 后 程 序 会 生 成 相 应 的 XF86Config 文 件 。
用 户 手 头 上 应 该 有 关 于 当 前 系 统 硬 件 的 详 细 信 息 。 对 于 显 示 器 , 用 户 必 须知 道 它 的 水 平 和 垂 直 同 步 扫 描 频 率 范 围 以 及 带 宽 。 对 于 图 形 卡 , 应 该 知 道 它 的芯 片 型 号 , 有 时 甚 至 还 应 知 道 时 钟 频 率 。 对 于 鼠 标 , 应 该 知 道 它 是 M icrosoft 兼容 系 列 还 是 其 它 品 牌 , 诸 如 Logitech 。 同 时 还 应 知 道 鼠 标 所 连 接 的 端 口 号 。
XF86 Setup 提 供 给 用 户 的 是 一 个 全 屏 幕 界 面 , 用 户 可 以 非 常 轻 松 地 为 鼠标 、 键 盘 、 图 形 卡 和 显 示 器 选 择 各 项 特 性 。 第 2 章 中 详 细 介 绍 了 XF86Setup 。但 是 如 果 在 用 XF86Setup 进 行 配 置 时 碰 到 问 题 , 用 户 可 以 使 用 XF86Config 。它 的 界 面 是 行 模 式 提 示 符 形 式 , 可 以 敲 入 字 符 作 为 回 应 或 者 输 入 一 个 菜 单 选 项 。
每 一 步 都 有 提 示 。
文 件 / etc / XF86Config 分 为 如 下 所 示 的 几 个 节 。 用 户 可 以 在 XF86Config 的 man 帮 助 文 档 中 找 到 关 于 所 有 这 些 节 和 对 他 们 各 项 的 详 细 讨 论 。 所 有 这 些 都是 XF86Setup 程 序 建 立 的 。 例 如 , 显 示 器 配 置 屏 生 成 / etc / XF86Config 文 件中 的 显 示 器 节 , 鼠 标 配 置 屏 生 成 鼠 标 节 , 其 它 类 推 。 文 件 里 每 一 个 节 以 关 键 词Section 开 头 , 紧 接 着 是 引 号 括 起 来 的 这 一 节 的 名 字 。 每 一 个 节 以 EndSection 结 束 。 注 释 行 都 以 # 开 头 。 每 一 个 节 的 各 项 都 以 数 据 说 明 开 头 , 然 后 是 一 系 列 取值 。 例 如 , 在 列 出 rgb 色 彩 数 据 的 File 节 , 以 数 据 说 明 RgbPath 开 头 , 然 后 是rgb 色 彩 数 据 文 件 的 路 径 名 。
F iles 存 放 字 体 文 件 和 rgb 色 彩 数 据 的 路 径
Module 动 态 模 块 载 入
ServerFlags 杂 项
Keyboard 键 盘 配 置 情 况
Pointer 鼠 标 配 置 情 况
Monitor 显 示 器 配 置 情 况 ( 设 置 水 平 和 垂 直 扫 描 频 率 )
Device 显 示 卡 配 置 情 况
Screen 屏 幕 显 示 配 置 情 况 , 如 虚 拟 屏 幕 、 显 示 颜 色 、 屏幕 大 小 等
尽 管 用 户 可 以 用 标 准 的 文 本 编 辑 器 直 接 编 辑 这 个 文 件 , 但 使 用 诸 如XF86Setup 之 类 配 置 程 序 进 行 修 改 总 是 最 好 的 。 文 件 中 的 大 多 数 节 用 户 可 能 从来 不 会 去 动 它 。 但 是 用 户 可 能 不 得 不 对 Screen 节 进 行 一 些 修 改 , 这 一 节 在 文件 的 最 后 。 为 了 这 样 做 , 可 以 编 辑 文 件 并 增 加 或 修 改 Screen 节 的 各 项 。 正 如
第 2 章 中 指 出 , 为 了 配 置 虚 拟 屏 幕 显 示 和 确 定 所 支 持 的 颜 色 数 , 必 须 对 Screen 节 进 行 一 些 修 改 。 由 于 Screen 节 是 用 户 最 有 可 能 修 改 的 节 , 所 以 尽 管 它 出 现在 文 件 最 后 , 但 我 们 还 是 最 先 讨 论 它 。
Screen 节
Screen 节 首 先 是 D river 项 , 它 指 定 了 驱 动 程 序 的 名 字 。 这 里 有 五 种 驱 动 程序 , 每 一 种 对 应 于 一 种 XFree86 服 务 器 : Accel,Mono,SVGA,VGA2, 以 及VGA16 。 驱 动 程 序 Accel 用 于 诸 如 S3_XFree86 之 类 的 所 有 加 速 型 X 服 务 器 。Mono 用于 XF86_Mono 服 务 器 支 持 的 非 VGA 单 色 驱 动 。 VGA2 和 VGA16 用于 VGA 服 务 器 ,SVGA 用 于 XF86_SVGA 服 务 器 。如 果 正 在 使 用 XFree86_SVGA 服 务 器 , Driver 项 将 是 svga" 。 如 果 正 在 使 用 任 意 一 种 加 速 型 服 务 器 , 这 一 项将 是 "Accel". 诸 如 XF86Setup 之 类 的 配 置 程 序 将 为 以 上 这 些 的 每 一 种 情 况 生 成Screen 节 。 如 果 有 一 块 加 速 卡 并 且 能 为 它 安 装 服 务 器 , 那 么 X-Windows 将 使用 Accel 屏 幕 节 。 那 就 是 用 户 要 进 行 修 改 的 地 方 。 如 果 正 在 使 用 SVGA 服 务 器 , 将 使 用 SVGA 屏 幕 节 。
在 Driver 项 之 后 是 Device 和 Monitor 项 , 它 们 分 别 指 定 用 户 正 在 使 用 显 示器 和 显 示 卡 。 在 这 些 对 应 的 节 中 , Identifier 项 给 出 的 名 字 用 于 引 用 那 些 部 件 。具 有 Identifier 项 Nec3v 的 显 示 器 在 Screen 节 中 将 会 有 Monitor Nec3v 项 。
Section "Screen" D river"Accel"
Device"Primary card" Monitor "Primary Monitor" DefaultColorDepth16 SubSection"Display" Depth8
Modes"1152x864" "1024x768""800x600""640x480"
"640x400""480x300""400x300" "320x240" "320x200"
V irtual800 600 EndSubSection SubSection"Display"
Screen 节 下 有 Display 子 节 , 指 定 所 支 持 的 颜 色 深 度 。 前 面 各 部 分 是 配 置
硬 件 的 , 而 Display 子 节 则 配 置 一 些 显 示 特 征 , 例 如 显 示 颜 色 数 , 虚 拟 屏 幕 尺寸 。 子 节 中 主 要 有 三 项 : Depth,Modes , 以 及 Virtual. 。Depth 项 指 明 屏 幕 分 辨 率 : 8 , 16 , 24 。 不 管 当 前 的 X 服 务 器 支 持 什 么 显 示 卡 , 用 户 可 以 加 入DefaultColorDepth 项 为 服 务 器 设 定 缺 省 颜 色 深 度 : 8 表 示 256 色 , 16 表 示 32K 色 , 24 表 示 16M 色 。 Modes 项 指 定 在 所 给 分 辨 率 下 允 许 的 显 示 模 式 。 Virtual 项 指 定 虚 拟 屏 幕 的 尺 寸 。 用 户 能 够 拥 有 一 个 比 正 常 显 示 面 积 大 的 虚 拟 屏 幕 。 当移 动 鼠 标 至 显 示 屏 幕 边 缘 时 , 它 将 向 那 部 分 隐 藏 的 屏 幕 移 动 。 这 样 就 能 够 拥 有一 个 比 显 示 器 物 理 尺 寸 大 得 多 的 工 作 屏 幕 。 通 常 将 虚 拟 屏 幕 设 定 为 1024 x 768 , 相 当 于 17 英 寸 显 示 器 的 尺 寸 。 也 可 以 设 为 1152 x 864 , 相 当 于 21 英 寸显 示 器 的 尺 寸 。 如 果 想 取 消 虚 拟 屏 幕 , 可 以 把 Virtual 项 设 为 800 x 600 , 使 虚
拟 显 示 尺 寸 和 屏 幕 物 理 尺 寸 大 小 相 等 。V irtual 1024 76817 英 寸 虚 拟 屏 幕V irtual 1152 86421 英 寸 虚 拟 屏 幕
V irtual800 60015 英 寸 屏 幕 ( 取 消 虚 拟 屏 幕 )
可 以 安 全 地 改 变 这 一 节 中 的 任 何 一 特 性 。 事 实 上 , 为 了 改 变 虚 拟 屏 幕 尺 寸 , 不 得 不 修 改 这 一 节 。 但 是 , 除 非 用 户 对 自 己 正 在 做 的 事 很 有 把 握 , 不 要 动XF86Config 文 件 中 的 其 它 节 。
Files,Modules,ServerFlags ,以 及 Keyboard 节
Files 节 列 出 了 Xfree86 所 需 资 源 的 所 在 目 录 。 这 些 资 源 大 多 数 是 系 统 能 够提 供 的 字 体 。 一 个 字 体 项 以 数 据 说 明 FontPath 开 头 , 然 后 紧 接 着 是 那 种 字 体 的字 体 文 件 路 径 名 。 下 面 是 这 些 项 的 一 部 分 :
RgbPath" / usr / X11R 6 / lib / X11 / rgb"'
FontPath "/ usr / X11R 6 / lib / X11 / fonts / m isc:unscaled"
Module 节 指 定 了 一 些 动 态 加 载 的 模 块 。Linux 的 ELF 系 统 支 持 动 态 模 块 。
Load 项 将 加 载 一 个 模 块 。 详 细 情 况 请 查 看 XF86Config 的 man 帮 助 页 。
可 以 为 XFree86 服 务 器 设 置 一 些 标 志 。用 户 可 以 在 XF86Config 的 man 帮助 页 中 找 到 所 有 的 这 些 标 志 。 例 如 , 标 志 NoTrapSignals 允 许 清 除 内 核 , 以 便调 试 程 序 。 标 志 DontZap 禁 止 用 CTRL-ALT-BACKSPACE 组 合 键 关 闭 服 务 器 。DontZoom 标 志 禁 止 图 形 模 式 之 间 的 切 换 。
Keyboard 节 决 定 的 键 盘 类 型 并 且 设 定 布 局 , 模 型 , 以 及 所 用 协 议 。 例如 , 下 面 这 一 项 就 设 置 了 布 局 。 这 一 节 有 很 多 选 项 。 如 想 得 到 全 部 清 单 , 可 参考 XF86Config 的 man 帮 助 页 。
XkbLayout"us"
Pointer 节
Point 节 配 置 鼠 标 和 所 有 其 它 定 位 设 备 。 这 一 节 只 有 几 个 项 , 其 中 一 些 用于 定 制 某 些 特 定 类 型 的 鼠 标 。Protocol 项 指 定 鼠 标 所 使 用 的 协 议 ,诸 如 M icrosoft 或 Logitech 。 Device 项 指 定 了 鼠 标 设 备 文 件 的 路 径 名 。 下 面 的 例 子 显 示 了 一 个标 准 的 Pointer 节 , 它 配 置 的 是 一 个 波 特 率 为 1200 的 M icrosoft 鼠 标 。 设 备 文件 为 / de v/ mouse 。
Section "Pointer" Protocol "Microsoft"
Device "/ dev / mouse"
BaudRate 1200
EndSection
以 下 列 出 了 Pointer 节 各 项 :
Protocol 鼠 标 协 议 ( 运 行 man XF86Config 可 得 到 完整 的 清 单 )
Device 设 备 文 件 路 径 ,比 如 说 / dev / mouse 或 /
de v/ cua0
BaudRate 串 行 鼠 标 的 波 特 率
Emu late3Buttons 允 许 二 键 鼠 标 通 过 同 时 按 左 右 键 来 模 拟 三 键
鼠 标
ChordMiddle 配 置 某 些 Logitech 三 键 鼠 标
ClearDTR 和 ClearRTS 清 除 TDR 和 RTS 行 , 只 对 Mouse Systems
鼠 标 有 效
SampleRate 设 置 抽 样 率 ( logitech )
Monitor 节
在 用 户 的 系 统 上 使 用 的 每 一 台 显 示 器 都 应 该 有 一 个 Monitor 节 。 正 如 第 2 章 中 指 出 , 垂 直 和 水 平 扫 描 频 率 必 须 精 确 , 否 则 可 能 会 损 坏 显 示 器 。 Monitor 节开 始 的 几 项 用 来 标 识 显 示 器 , 比 如 销 售 商 、 型 号 等 。 HorizSync 和 VerRefresh 项 指 定 了 垂 直 和 水 平 扫 描 频 率 。 大 多 数 显 示 器 支 持 多 种 分 辨 率 。 Monitor 节 中 的各 ModeLine 项 指 定 了 那 些 分 辨 率 。 每 一 项 ModeLine 对 应 一 种 分 辨 率 。 每 项有 五 个 值 , 分 辨 率 名 称 , 时 钟 频 率 , 然 后 是 两 组 值 ( 每 组 四 个 值 ) , 一 组 是 水平 定 时 参 数 , 一 组 是 垂 直 定 时 参 数 , 以 标 志 位 结 束 。 标 志 位 指 定 显 示 模 式 的 各种 特 征 , 比 如 Interlace 表 明 显 示 模 式 是 隔 行 扫 描 的 , 而 + hsync 和 + vsync 则是 用 来 选 择 信 号 的 极 性 。
Modeline"name"dotclockhorizontal-frepvertical-frepflags
如 下 是 ModeLine 的 一 部 分 。最 好 不 要 改 动 Monitor 节 ,而 完 全 由 XF86Setup
配 置 程 序 生 成 各 项 。
Modeline "800 x 600" 50.0 800 8569761040600637643666 + hsync +
vsync
这 儿 列 出 Mon itor 节 中 通 常 使 用 的 一 些 项 。Identifier 显 示 器 标 识 名 VendorName 生 产 厂 家
ModelName 样 式 和 型 号
HorizSync 水 平 扫 描 频 率 ; 可 以 是 一 个 范 围 或 一 系 列 值VerRefresh 垂 直 刷 新 频 率 ; 可 以 是 一 个 范 围 或 一 系 列 值Gamma Gamma 校 正
ModeLine 通 过 指 定 时 钟 频 率 、 水 平 定 时 参 数 、 垂 直 定 时 参 数 来 确 定 相 应 的分 辨 率
Device 节
Device 节 指 定 了 系 统 显 示 卡 。 Device 节 的 开 头 几 项 用 来 标 识 显 示 卡 , 比如 VendorName( 销 售 商 ) 、 BoardName ( 显 示 卡 名 称 ) 、 Ch ipset( 芯 片 组 ) 。VideoRam 项 指 明 了 显 存 大 小 。 Clocks 项 列 出 了 一 组 系 统 的 时 钟 值 。 这 一 节 中可 以 设 定 很 多 不 同 的 项 ,比 如 ,如 果 显 示 卡 上 有 Ramdac 芯 片 ,可 以 用 Ramdac 项 指 定 Ramdac 芯 片 的 类 型 ; 如 果 允 许 访 问 主 缓 冲 区 , MemBase 项 指 出 了 主缓 冲 区 的 基 地 址 。 详 细 清 单 和 描 述 可 参 考 XF86Config 的 man 帮 助 页 。 尽 管 用
户 可 以 安 全 地 修 改 V ideoRam 项 -- 例 如 , 增 加 了 显 示 卡 的 内 存 --,但修改 Clocks 项 却 不 太 安 全 。如 果 设 错 了 时 钟 值 ,很 容 易 损 坏 显 示 器 。所 以 还 是 由 XF86Setup 或 其 它 XFree86 配 置 程 序 来 生 成 时 钟 值 为 好 。 如 果 没 有 时 钟 值 , 服 务 器 会 自 动确 定 它 们 。 使 用 新 的 显 示 卡 时 可 能 会 出 现 这 种 情 况 。
X-Windows 和 窗 口 管 理 器
正 如 第 3 章 中 指 出 , 用 户 可 以 放 弃 命 令 行 界 面 而 使 用 X- W indows 窗 口 管 理器 和 文 件 管 理 器 , 这 样 通 过 使 用 窗 口 、 按 钮 和 菜 单 用 户 就 能 够 与 Linux 系 统 进行 交 互 。 窗 口 管 理 器 提 供 了 基 本 的 窗 口 管 理 操 作 例 如 打 开 、 关 闭 窗 口 , 改 变 窗口 尺 寸 等 。 文 件 管 理 器 则 允 许 用 户 使 用 图 标 和 菜 单 来 管 理 和 运 行 程 序 。 此 外 , 使 用 文 件 管 理 器 还 能 够 拷 贝 、 移 动 或 删 除 文 件 , 也 能 够 分 别 为 不 同 的 目 录 开 不同 的 窗 口 。
为 Linux 设 计 的 窗 口 管 理 器 有 好 几 种 。其 中 较 为 流 行 的 Linux 管 理 器 有 :Free Virtual W indow Manager(fvwm),Xview(olwm),twm,fvwm95(fvwm95) , LessTif(mwm),AfterStep(afterstep )以 及 Motif(mwm )。 除 了 Motif 之 外 , 其 它 几种 都 是 免 费 的 。 Xview 是 Sum System 公 司 公 司 的 OpenLook 界 面 的 Linux 版 。fvwm95 是 fvwm 的 一 个 变 体 , 它 提 供 包 含 任 务 栏 的 W indows 95 界 面 。 LessTif 是 一 个 免 费 的 Motif 克 隆 ,它 能 够 提 供 Motif 界 面 ,并 能 运 行 Motif 应 用 程 序 。twm 是 一 个 稍 微 旧 一 点 的 窗 口 管 理 器 , 它 提 供 基 本 的 开 窗 功 能 。
在 OpenLinux 上 已 经 安 装 了 fvwm,twm 和 Xview 。 其 它 的 窗 口 管 理 器 可 以从 相 应 的 互 联 网 站 点 或 Redhat contrib 目 录 下 载 ( 可 以 参 考 第 3 章 的 表 3-2 记 录的 Linux 资 源 页 )。 只 要 在 相 应 的 网 址 上 有 较 新 版 本 的 窗 口 管 理 器 , 用 户 就 可 以下 载 并 安 装 它 。
和 大 多 数 Linux 系 统 一 样 , 目 前 OpenLinux 系 统 也 使 用 fvwm 。 有 了 窗 口 管理 器 , 用 户 可 以 用 窗 口 替 代 命 令 行 。 在 窗 口 中 进 行 的 各 种 操 作 经 过 解 释 后 送 到Linux 系 统 执 行 。 窗 口 管 理 器 对 底 层 的 X-Windows 系 统 进 行 操 作 , 后 者 实 际 上提 供 各 项 基 本 的 窗 口 操 作 , 允 许 用 户 打 开 、 移 动 和 关 闭 窗 口 , 以 及 显 示 菜 单 和选 择 图 标 。 fvwm 和 Xview 分 别 以 自 己 的 方 式 管 理 这 些 操 作 , 提 供 各 自 独 特 的界 面 。 这 样 设 计 的 好 处 是 用 户 可 以 用 不 同 的 窗 口 管 理 器 操 作 同 一 个 Linux 系 统 。从 这 层 意 义 上 来 说 , Linux 并 不 局 限 于 一 种 图 形 用 户 界 面 (GUI) 。 在 同 一 个 Linux 系 统 上 , 一 个 用 户 可 能 正 在 使 用 fvwm 窗 口 管 理 器 , 另 一 个 可 能 正 在 使 用 Xview 窗 口 管 理 器 , 而 第 三 个 用 户 则 在 使 用 fvwm95 , 所 有 用 户 都 在 同 时 使 用 系 统 。
fvwm 是 GNU 公 众 许 可 软 件 -- 用 户 免 费 拥 有 它 , 如 果 只 使 用 fvwm , 用 户 仍然 能 够 运 行 任 何 X-W indows 程 序 。 正 如 第 4 章 中 指 出 , fvwm 有 它 自 己 的 工 作位 置 菜 单 和 任 务 栏 。 用 户 也 可 以 从 Xterm 终 端 窗 口 运 行 任 何 X- W indows 程 序 。从 fvwm 启 动 一 个 Xterm 窗 口 时 , 只 需 要 输 入 X- W indows 应 用 程 序 的 名 字 , 然后 按 回 车 键 , X-Windows 应 用 程 序 将 启 动 自 己 的 窗 口 。 最 好 通 过 在 命 令 后 面 加符 号 & 的 方 法 以 后 台 进 程 方 式 启 动 一 个 X- W indows 应 用 程 序 。 系 统 将 为 用 户 使用 的 X-Windows 应 用 程 序 开 一 个 单 独 的 窗 口 。用 户 可 以 以 这 种 方 式 运 行 Caldera CD-ROM 上 的 任 何 X- W indows 软 件 。 X-Windows 应 用 程 序 的 名 字 经 常 是 以 字
母 x 开 头 的 ,但 是 也 有 例 外 ,比 如 Netscape 和 Mosaic 。用 户 可 以 从 Linux 的 ftp
站 点 下 载 很 多 各 种 各 样 的 X-Windows 软 件 。它 们 通 常 在 目 录 X11 下 ,比 如 / pub
/ Linux / X11 。
一 个 X -W indows 应 用 程 序 只 能 在 特 定 的 窗 口 管 理 器 下 运 行 的 情 况 是 很 少 见的 。 用 户 可 以 在 fvwm,Xview,fvwm95, 或 任 何 其 它 窗 口 管 理 器 下 运 行 同 一 个 X 应 用 程 序 , 例 如 Netscape 。 甚 至 在 没 有 任 何 窗 口 管 理 器 的 情 况 下 , 也 可 以 运 行X-Windows 应 用 程 序 。 用 户 仍 然 能 够 打 开 一 个 非 常 简 单 的 Xterm 窗 口 , 然 后 从那 儿 启 动 X 应 用 程 序 。 X-Windows 应 用 程 序 运 行 所 需 要 的 只 是 X- W indows 。窗 口 没 有 任 何 诸 如 改 变 其 尺 寸 或 图 标 化 之 类 的 控 制 工 具 , 甚 至 没 有 关 闭 框 。 关闭 它 的 唯 一 方 式 是 输 入 退 出 命 令 。 这 种 情 况 下 运 行 的 X-Windows 程 序 有 它 自 己的 菜 单 和 按 钮 , 但 它 是 在 一 个 简 陋 的 固 定 的 窗 口 中 运 行 。
fvwm 配 置 文 件
fvwm 窗 口 管 理 器 启 动 时 将 执 行 自 己 的 配 置 文 件 。 这 些 文 件 将 完 成 一 些 任务 , 诸 如 在 fvwm 任 务 栏 上 显 示 按 钮 , 在 工 作 位 置 菜 单 里 建 立 菜 单 项 , 决 定 启动 什 么 初 始 程 序( 如 果 有 的 话 )。这 些 配 置 文 件 在 目 录 / usr / X11R6 / lib / X11
/ fvwm 下 面 。 每 个 文 件 的 名 字 以 单 词 system 开 头 。
基 本 配 置 文 件 是 system.fvwmrc 。 这 个 文 件 依 次 调 用 其 它 文 件 , 如
system.fvwmdesk,system.fvwmrc.goodstuff 。 用 户 可 以 修 改 这 些 配 置 文 件 , 按
照 自 己 的 喜 好 配 置 fvwm 窗 口 管 理 器 。 例 如 , 如 果 想 往 任 务 栏 添 加 按 钮 , 可 以往 文 件 system.fvwmrc.goodstuff 里 添 加 项 目 。 表 21-2 列 出 了 这 些 fvwm 配 置文 件 。
对 文 件 system.fvwmrc 的 修 改 将 缺 省 设 置 系 统 上 的 所 有 用 户 的 配 置 。 当 然 , 每 个 用 户 可 以 在 自 己 的 用 户 主 目 录 下 建 立 个 人 的 配 置 文 件 .fvwmrc , 它 只 对 创 建它 的 用 户 起 作 用 。 每 次 用 户 执 行 startx 命 令 时 , 这 个 文 件 将 被 用 来 配 置 fvwm 。
任 务 栏 : system.fvwmrc.goodstuff
要 往 任 务 栏 添 加 按 钮 , 可 以 在 文 件 system.fvwmrc.goodstuff 中 建 立 新 的 项目 。 项 目 以 关 键 词 *GoodStuff 开 头 。 紧 接 着 是 用 户 想 在 按 钮 的 图 像 下 显 示 的 文本 。然 后 输 入 用 户 想 显 示 的 图 像 文 件 名 。图 像 是 pixmap 型 ,文 件 扩 展 名 是 .xpm 。用 户 能 够 在 目 录 / usr / openwin / lib / pixmaps 和 / usr / share / data / pixmaps 下 找 到 图 像 文 件 。 图 像 文 件 名 后 面 是 一 个 fvwm 操 作 。 尽 管 这 个 操 作通 常 是 Exec 命 令 , 但 它 实 际 上 可 以 是 任 何 fvwm 命 令 。 Exec 将 执 行 一 个 Linux 命 令 或 程 序 。 Exec 命 令 后 面 是 一 个 可 以 作 为 菜 单 项 的 名 字 的 字 符 串 。 对 按 钮 条来 说 , 它 只 是 一 个 空 串 。 字 符 串 后 面 是 X launch 命 令 和 程 序 名 字 。 用 来 Xlaunch 执 行 程 序 。 下 面 的 例 子 是 为 C risplite 编 辑 器 加 一 个 按 钮 。 启 动 Crisplite 编 辑 器的 命 令 是 mcr 。
*GoodStuff Crisplite dtp.xpm Exec "" xlauch mcr
如 果 想 从 任 务 栏 移 去 一 个 项 目 , 可 以 删 除 文 件 中 对 应 与 此 项 目 的 那 一 行 ,
也 可 以 在 那 一 行 开 头 插 入 # 符 号 作 为 注 释 。 其 它 支 持 任 务 栏 的 窗 口 管 理 器 也 有 类似 的 配 置 文 件 。
工 作 位 置 菜 单 : system.fvwmrc.menu
文 件 system.fwmrc.menu 保 存 着 工 作 位 置 菜 单 的 配 置 信 息 。 工 作 位 置 主 菜单 在 该 文 件 最 后 定 义 , 子 菜 单 则 在 主 菜 单 前 面 定 义 。 工 作 位 置 菜 单 和 其 它 主 要子 菜 单 都 用 命 令 PopupSMenu 定 义 。 每 一 项 占 一 行 , 每 一 项 经 常 对 应 定 义 一 个菜 单 , Popup 项 指 定 了 这 种 定 义 。 Popup 项 后 面 跟 着 的 是 将 显 示 在 菜 单 上 的 项目 名 称 , 然 后 是 相 关 菜 单 的 名 字 。 菜 单 名 称 中 前 面 有 & 的 字 母 在 菜 单 显 示 时 带有 下 划 线 , 并 作 为 快 捷 键 的 关 键 字 母 。 按 下 那 个 字 母 将 选 择 次 菜 单 项 。 部 分 菜单 定 义 显 示 如 下 。
PopupSMennu('Workplace',' Title" Workplace"
Nop" "
Popup"&Help on Linux" Help Nop" "
Popup"&Shells"Shells
)
很 多 子 菜 单 用 PopupMenu 命 令 定 义 。 紧 跟 着 PopupMenu 的 是 一 串 项 目 名称 和 命 令 , 它 们 之 间 以 逗 号 隔 开 , 所 有 这 些 字 符 串 被 一 对 括 号 括 起 来 。 第 一 项
通 常 是 子 菜 单 名 称 ; 然 后 是 子 菜 单 名 称 , 它 后 面 是 该 子 菜 单 执 行 的 命 令 ; 紧 接着 又 是 一 对 子 菜 单 名 称 和 命 令 。 可 以 用 符 号 & 来 指 定 快 捷 键 关 键 字 母 。 子 菜 单Text and Publishing "就 是 这 样 一 个 Popup 菜 单 , 这 里 是 部 分 菜 单 定 义 。
PopupMenu('Text and Publishing','MenuItem', 'L&yX( WYSIWIN TeX)','lyx',
'X&wpick(Screen shot)','xwpick HOME/ xwpick.gif',
'X&fig(Vector graphic)', 'xfig'
)
如 要 往 菜 单 里 添 加 一 个 菜 单 项 , 可 以 先 找 到 该 菜 单 的 定 义 部 分 , 然 后 插 入一 空 行 , 输 入 想 添 加 的 菜 单 名 称 和 命 令 。 例 如 , 要 在 Text and Publishing 菜 单中 插 入 对 应 Crisplite 编 辑 器 的 菜 单 项 , 用 户 可 以 插 入 以 下 这 行 。 字 母 c 前 面 的符 号 表 示 建 立 了 关 键 字 母 为 c 的 快 捷 键 。 别 忘 了 加 上 逗 号 。
"Crisplite",m&cr,
用 户 千 万 不 要 修 改 文 件 system.fvwmrc.menu.prep 。 这 个 文 件 是 由 fvwm 生成 的 , 它 实 际 上 创 建 了 工 作 位 置 菜 单 。 这 个 文 件 是 基 于 文 件 .menu 提 供 的 信 息生 成 的 。
安 装 在 目 录 / usr / X11R6 / bin 下 的 X-Windows 程 序 会 自 动 加 载 到Application 菜 单 下 的 Other Applications 子 菜 单 上 。 因 此 , 用 户 能 够 通 过 工 作位 置 菜 单 执 行 任 何 X-Windows 程 序 。 往 菜 单 文 件 中 添 加 一 条 项 目 将 把 该 项 目 对应 的 菜 单 项 放 在 一 个 特 定 子 菜 单 中 , 而 不 是 在 Other Applications 菜 单 中 。
图 标 风 格 与 设 备 映 射 : .styles 和 .bindings
文 件 system.fvwmrc.styles 存 放 着 用 于 指 定 特 定 程 序 的 窗 口 风 格 的 项 目 。例 如 , 下 面 显 示 的 指 定 页 面 调 度 程 序 风 格 的 StaysOnTop 使 页 面 调 度 程 序 始 终位 于 所 有 窗 口 前 面 。 Style 项 也 被 用 来 指 定 程 序 窗 口 图 标 化 时 所 使 用 的 图 像 文件 。 用 户 能 够 改 变 这 些 项 目 , 以 便 显 示 不 同 的 pixmap 图 象 , 或 者 为 新 的 程 序添 加 新 项 目 。
Style "FvwmPager"StaysOnTop Style "xgraph" Icon graphs.xpm
文 件 system.fvwmrc.bindings 存 放 着 所 有 鼠 标 按 键 和 键 盘 的 映 射 。 鼠 标
按 键 和 键 盘 对 工 作 位 置 菜 单 的 操 作 都 在 这 儿 定 义 。 按 下 组 合 键 ALT-F1 将 显 示工 作 位 置 菜 单 , 单 击 鼠 标 左 键 ( 键 1 ) 得 到 相 同 的 效 果 。 下 面 这 一 项 就 是 定 义了 组 合 键 ALT-F1 与 工 作 位 置 菜 单 之 间 的 映 射 。 Context 域 是 指 组 合 键 的 适 用窗 口 ; 字 母 A 代 表 任 何 窗 口 , 字 母 R 代 表 根 窗 口 。 Modifi 域 指 任 何 需 要 同 时 按下 的 按 键 ALT 键 。 字 母 M 代 表 元 键 ( ALT 键 ) , 字 母 S 代 表 SHIFT 键。
# KeyContextModifiFunction Key F1AMPopup "Workplace"
初 始 启 动 应 用 程 序 : system.fvwmdesk
在 OpenLinux 系 统 里 命 令 startx 首 先 启 动 X- W indows , 然 后 是 fvwm 窗 口
管 理 器 , 接 着 是 Caldera Desktop Looking Glass 。 Caldera Desktop 的 自 动 启动 实 际 上 是 由 fvwm 的 配 置 脚 本 文 件 完 成 的 。 这 些 配 置 文 件 可 以 用 来 指 定 那 些在 fvwm 启 动 时 被 自 动 启 动 的 程 序 。
通 常 , startx 命 令 通 过 配 置 文 件 / etc / X11 / init / xinitrc 调 用 xinit 命 令 。这 个 xinitrc 文 件 执 行 基 本 的 X-Windows 配 置 操 作 并 且 最 后 启 动 fvwm 窗 口 管 理器 。 fvwm 窗 口 管 理 器 有 它 自 己 的 启 动 文 件 , 它 位 于 目 录 / usr / X11R6 / lib / X11 / fvwm 下 。 system.wmrc 文 件 是 基 本 配 置 文 件 , 它 执 行 一 个 叫 作StartupFunction 的 命 令 , 文 件 system.fvwmdesk 定 义 了 这 个 命 令 。 在 这 个 文件 中 , StartupFunction 被 定 义 为 执 行 命 令 lg , 该 命 令 启 动 Caldera Desktop(lg 代 表 Caldera Desktop 的 真 正 名 字 --Looking Glass)。 如 果 用 户 不 想 Ca ldera Desktop 随 着 startx 命 令 自 动 启 动 , 只 需 在 有 lg 命 令 的 那 一 行 开 头 插 入 符 号 # , 使 这 一 行 成 为 注 释 行 。 如 果 用 户 想 让 fvwm 自 动 启 动 其 它 的 文 件 管 理 器 或 者 桌面 , 可 以 把 命 令 插 入 到 文 件 system.fvwmdesk 。 用 户 能 够 很 轻 松 地 把 文 件system.fvwmrc 里 的 整 个 StartupFunction 注 释 掉 , 如 下 所 示 :
#Function"I"StartupFunction
如 果 从 fvwm 移 去 了 Caldera Desktop 的 自 动 启 动 功 能 , 用 户 仍 然 能 够 使 用工 作 位 置 菜 单 来 启 动 它 。在 Desktop 子 菜 单 中 ,用 户 将 能 找 到 对 应 Looking Glass
( Caldera Desktop ) 的 菜 单 项 。 选 择 这 一 菜 单 项 将 启 动 Caldera Desktop 。 用户 当 然 也 可 以 启 动 别 的 文 件 管 理 器 或 桌 面 。
X-Windows 命 令 行 参 数
用 户 能 够 以 .xinitrc 脚 本 文 件 的 方 式 , 或 者 以 Xterm 窗 口 里 的 命 令 行 方 式 启动 任 何 X-Windows 应 用 程 序 。 大 多 数 X- W indows 应 用 程 序 支 持 一 组 标 准 的 X- W indows 参 数 , 这 些 参 数 用 来 配 置 应 用 程 序 所 使 用 的 窗 口 和 显 示 。 用 户 可 以 设定 窗 口 栏 的 颜 色 , 确 定 窗 口 的 标 题 名 , 指 定 文 本 颜 色 和 字 体 , 也 可 以 把 窗 口 定位 于 屏 幕 的 特 定 位 置 。 表 21-3 列 出 了 这 些 X- W indows 参 数 。 它 们 在 X 的 man 帮 助 页 中 有 详 细 说 明 ( 运 行 man X ) 。
-geometry 是 一 个 经 常 使 用 的 参 数 。 它 还 需 要 另 外 的 参 数 , 通 过 它 用 户 能 够指 定 应 用 程 序 的 窗 口 在 屏 幕 上 的 的 位 置 。 在 下 面 的 例 子 里 , X-Windows 应 用 程序 xclock 在 带 有 geometry 参 数 的 情 况 下 被 启 动 。 那 些 数 字 ( 最 多 可 以 有 四 个 ) 用 来 确 定 窗 口 位 置 。 + 0 + 0 表 示 左 上 角 。 用 户 启 动 X- W indows 窗 口 时 , 将 能看 到 左 上 角 显 示 的 时 钟 。 -0-0 表 示 右 上 角 。
& xclock-geometry + 0 + 0 &
用 户 可 以 通 过 -title 选 项 设 定 应 用 程 序 窗 口 的 标 题 名 。 注 意 当 标 题 名 不 止一 个 单 词 时 , 要 用 引 号 把 它 们 括 起 来 。 -fn 参 数 用 来 设 定 字 体 , -fg 设 定 文 本 和图 表 颜 色 , -bg 设 定 背 景 颜 色 。 下 面 这 个 例 子 启 动 了 一 个 标 题 名 为 My New W indow" 的 窗 口 。 它 的 文 本 和 图 表 颜 色 是 绿 色 , 背 景 颜 色 是 灰 色 。 字 体 是Helvetica 。
$ xterm-title"My New W indow"-fggreen-bggray-fn
/ usr/ fonts / helvetica&
X- W indows 配 置 文 件
X- W indows 使 用 几 个 配 置 文 件 以 及 X- W indows 命 令 来 配 置 X- W indows 系统 。 其 中 一 些 配 置 文 件 属 于 系 统 文 件 , 不 能 修 改 。 但 是 , 每 个 用 户 可 以 有 一 个自 己 的 一 组 配 置 文 件 , 诸 如 .xinitrc,.Xresources, 使 用 这 些 文 件 可 以 建 立 个 人 风格 的 X- W indows 界 面 。 当 用 startx 命 令 启 动 X- W indows 时 , 这 些 配 置 文 件 被自 动 读 取 并 执 行 。 在 这 些 配 置 文 件 里 , 用 户 能 够 执 行 X-Windows 命 令 来 配 置 系统 。 通 过 诸 如 xset ,setroot 之 类 的 指 令 , 用 户 能 够 增 加 字 体 或 者 控 制 主 窗 口 的显 示 。 表 21-3 提 供 了 一 些 X-Windows 配 置 文 件 和 命 令 。 用 户 可 以 通 过 使 用xdypinfo 得 到 当 前 使 用 的 X-Windows 系 统 配 置 的 完 整 描 述 。 Xman 帮 助 页 有 关于 X-Windows 命 令 和 配 置 文 件 的 详 细 介 绍 。
$manX
X- W indows 是 由 命 令 xinit 启 动 的 。 但 是 用 户 无 需 直 接 执 行 这 个 命 令 , 可以 通 过 经 常 用 来 启 动 X- W indows 的 startx 命 令 执 行 它 。 这 两 个 命 令 都 在 目 录
/ usr / X11R6 / bin 下 , 和 许 多 其 它 的 基 于 X- W indows 的 程 序 存 放 在 一 起 。startx 命 令 是 一 个 执 行 xinit 命 令 的 shell 脚 本 文 件 。 xinit 命 令 按 顺 序 首 先 查 找 位于 用 户 主 目 录 的 一 个 X- W indows 初 始 化 脚 本 文 件 .xinitrc 。 如 果 在 用 户 主 目 录 里
没 有 脚 本 文 件 .xinitrc , xinit 将 使 用 / usr / X11R6 / lib / X11 / xinit / xinitrc 作为 其 初 始 化 脚 本 文 件 。 .xinitrc 和 / usr / X11R6 / lib / X11 / xinit/ xinitrc 里 都含 有 配 置 X-Windows 服 务 器 的 命 令 , 它 们 执 行 诸 如 启 动 窗 口 管 理 器 之 类 的 X - W indows 初 始 化 命 令 。 可 以 把 / usr / X11R6 / lib / X11 / xinit / xinitrc 脚 本 文件 看 作 缺 省 脚 本 文 件 。在 OpenLinux 系 统 里 面 ,/ usr / X11R6 / lib / X11 / xinit 目 录 实 际 上 是 与 目 录 / etc / X11 / xinit 的 一 个 符 号 连 接 , 缺 省 初 始 化 文 件 都 存放 在 / etc / X11 / xinit 目 录 里 面 。
OpenLinux 系 统 并 不 会 自 动 在 任 何 用 户 主 目 录 下 创 建 任 何 .xinitrc 脚 本 文件 。 需 要 .xinitrc 脚 本 文 件 的 用 户 需 要 亲 自 创 建 它 。 每 一 个 用 户 可 以 在 自 己 的 用户 主 目 录 下 创 建 个 人 风 格 化 的 .xinitrc 脚 本 文 件 , 以 便 按 照 自 己 的 意 愿 来 配 置 和启 动 X-Window s。 这 对 主 用 户 同 样 适 用 。 在 某 个 用 户 创 建 自 己 的 .xinitrc 脚 本文 件 前 , 缺 省 使 用 / usr / X11R6 / lib / X11 / xinit / xinitrc 脚 本 文 件 。 用 户 可以 通 过 查 看 这 个 脚 本 文 件 来 了 解 X- W indows 是 如 何 启 动 的 。 X- W indows 的 某些 配 置 操 作 必 需 在 文 件 .xinitrc 中 完 成 。 对 于 想 要 创 建 自 己 的 .xinitrc 脚 本 文 件 的用 户 , 最 好 首 先 把 脚 本 文 件 / usr / X11R6 / lib / X11 / xinit / xinitrc 拷 贝 到 自己 的 用 户 主 目 录 下 , 命 名 为 .xinitrc 。 然 后 , 用 户 可 以 随 心 所 欲 地 修 改 这 个 脚 本文 件 ( 注 意 : 系 统 的 xinitrc 脚 本 文 件 在 名 字 前 面 不 带 .号 , 而 用 户 自 己 建 立 的 主目 录 下 的 .xinitrc 文 件 名 字 前 面 带 .号 。 ) 用 户 如 需 要 更 多 的 信 息 , 可 参 考 xinit 和 startx 的 man 帮 助 页 。
除 了 xinit 命 令 之 外 , 其 它 命 令 , 如 xrdb,xmodmap , 也 能 够 用 来 配 置 X- W indows 的 界 面 。 在 资 源 文 件 .Xresources 中 列 出 了 X-Windows 的 一 些 图 形 配
置 。 每 个 用 户 可 以 在 自 己 的 用 户 主 目 录 下 拥 有 定 制 的 .Xresources 文 件 , 用 它 来配 置 特 定 的 X-Windows 。 .Xresources 文 件 包 括 一 些 配 置 特 定 程 序 的 项 目 , 比如 某 个 工 具 箱 的 颜 色 。.Xresources 文 件 也 存 在 一 个 适 用 整 个 系 统 的 版 本 :/ usr
/ X11R6 / lib / X11 / xinit/ .Xresources ( 注 意 : 与 / usr / X11R6 / lib / X11
/ xinit / xinitrc 不 同 , 在 / usr/ X11R6 / lib / X11 / xinit/ .Xresources 文 件 名中 , Xresources 前 面 带 有 .号 。 ) 与 文 件 .Xresources 一 样 , 文 件 .Xdefaults 也包 括 一 些 用 来 配 置 资 源 的 项 目 。 在 用 户 系 统 上 运 行 的 程 序 对 文 件 .Xdefaults 有操 作 权 限 , 但 在 其 它 系 统 上 运 行 的 程 序 无 此 权 限 。
OpenLinux 系 统 安 装 后 只 有 一 个 系 统 .X resources 文 件 。 但 用 户 可 以 在 自己 的 主 目 录 下 创 建 自 己 的 .Xresources 文 件 , 并 且 往 此 文 件 中 添 加 一 些 资 源 项目 。 用 户 也 可 以 拷 贝 文 件 / usr / X11R6 / lib / X11 / xinit/ .Xresources 到 自 己的 主 目 录 下 , 然 后 编 辑 或 添 加 自 己 的 项 目 。 配 置 操 作 是 由 命 令 xrdb 执 行 的 , 它会 读 取 系 统 的 .Xresources 文 件 和 用 户 主 目 录 下 的 任 何 .Xresources 文 件和 .Xdefaults 。 xrdb 通 常 在 脚 本 文 件 / usr / X11R6 / lib / X11 / xinit/ xinitrc 中被 执 行 。 如 果 用 户 在 主 目 录 下 创 建 了 自 己 的 .xinitrc 脚 本 文 件 , 务 必 在 文 件 最 后运 行 xrdb 命 令 , 使 它 读 取 .Xresources 文 件 或 / usr/ X11R6 / lib / X11 / xinit
/ xinitrc 文 件( 最 好 两 者 都 读 )。要 做 到 这 一 点 ,用 户 只 需 简 单 地 用 系 统 的 .xinitrc 脚 本 文 件 的 一 个 拷 贝 作 为 自 己 的 .xinitrc 脚 本 文 件 , 然 后 按 照 自 己 的 喜 好 修 改 它 。关 于 资 源 的 细 节 , 请 看 xrdb 的 man 帮 助 页 。 当 然 也 可 以 在 X 的 man 帮 助 页 中找 到 关 于 Xresources 以 及 其 它 X- W indows 命 令 的 详 细 讨 论 。
Xresources 文 件 的 每 一 条 项 目 是 由 一 个 分 配 给 资 源 、 类 、 或 一 个 应 用 程 序
资 源 的 值 。 通 常 他 们 是 工 具 箱 的 资 源 或 一 个 应 用 程 序 中 工 具 箱 的 类 的 资 源 。 这些 资 源 的 指 定 一 般 是 三 个 元 素 组 成 , 元 素 之 间 由 .号 隔 开 : 应 用 程 序 、 应 用 程 序中 的 一 个 对 象 、 资 源 。 整 个 指 定 行 以 一 个 冒 号 以 及 随 后 紧 跟 的 值 结 束 。 例 如 , 假 设 想 在 oclock 应 用 程 序 中 把 时 针 的 颜 色 改 为 蓝 色 。 应 用 程 序 是 oclock , 对 象是 clock , 资 源 是 hour: oclock..clock.hou r。 这 一 项 如 下 所 示 :
xclock.clock.hour:blue
对 象 元 素 实 际 上 是 一 系 列 各 等 级 的 对 象 , 由 此 确 定 一 个 特 定 对 象 。 在 oclock 这 个 例 子 中 只 有 一 个 对 象 , 但 在 很 多 应 用 程 序 中 , 对 象 分 级 是 非 常 复 杂 的 。 它将 需 要 列 出 冗 长 的 一 串 对 象 才 能 确 定 用 户 想 指 定 的 那 个 。 为 了 避 免 这 种 复 杂 用户 可 以 使 用 * 号 来 直 接 引 用 想 要 指 定 定 的 对 象 , 具 体 做 法 是 用 * 号 来 替 代 . 号 。 下面 的 例 子 是 把 oclock 的 分 针 和 时 针 设 置 为 绿 色 。
oclock*hour :green oclock*minute: green
用 户 也 可 以 使 用 * 号 把 一 个 值 赋 于 对 象 的 所 有 的 类 。 许 多 单 个 的 资 源 被 划 分为 一 些 类 。 用 户 可 以 使 用 类 的 名 字 来 引 用 这 个 类 中 的 所 有 资 源 。 类 名 以 大 写 字母 开 头 。 例 如 , 在 Xterm 应 用 程 序 中 , 背 景 和 pointer 颜 色 都 是 Background 类的 一 部 分 。 引 用 X term*Background 将 改 变 Xterm 窗 口 中 所 有 这 些 资 源 。 但 是 , 任 何 个 别 的 特 定 引 用 总 是 优 于 一 般 化 的 引 用 。
用 户 也 可 以 使 用 * 号 来 改 变 所 有 应 用 程 序 的 对 象 中 的 资 源 值 。 在 这 种 情 况下 , 可 以 在 资 源 名 前 置 一 个 * 号 。 例 如 , 要 把 每 一 个 应 用 程 序 中 的 所 有 对 象 的 前景 颜 色 改 为 红 色 , 可 以 输 入 :
*foreground: red
如 果 只 想 改 变 所 有 应 用 程 序 中 滚 动 条 的 前 景 颜 色 , 可 以 输 入 如 下 :
*scrollbar*foreground:blue
命 令 showrgb 将 列 出 系 统 提 供 的 各 种 颜 色 。 用 户 可 以 使 用 描 述 名 或 十 六 进制 的 数 字 形 式 。 值 也 可 以 是 字 体 、 位 图 以 及 pixmap 。 用 户 可 以 改 变 某 个 对 象 中显 示 的 字 体 , 或 图 形 应 用 程 序 中 的 背 景 或 边 框 图 象 。 各 个 应 用 程 序 的 资 源 各 不相 同 。 应 用 程 序 可 能 支 持 各 种 各 样 的 对 象 及 其 它 们 的 资 源 。 如 果 想 了 解 一 个 应用 程 序 所 能 支 持 的 资 源 以 及 这 些 资 源 所 能 接 受 的 值 , 可 以 查 看 此 应 用 程 序 的 帮助 页 和 文 档 资 料 。 某 些 资 源 的 取 值 是 逻 辑 量 , 用 它 们 可 以 关 闭 或 启 动 一 些 特 性 。其 它 一 些 资 源 则 能 够 指 定 某 些 选 项 。 一 些 应 用 程 序 有 自 己 的 一 套 资 源 缺 省 值 , 它 们 被 自 动 置 于 系 统 的 .Xresources 或 .Xdefaults 文 件 之 中 。
文 件 / usr / X11R6 / X11 / xinit / .Xmodmap 存 放 着 诸 如 鼠 标 和 键 盘 之 类的 系 统 输 入 设 备 的 配 置 信 息 ( 例 如 , 用 户 可 以 建 立 键 的 映 射 , 如 BACKSPACE, 或 者 调 换 鼠 标 左 右 键 ) 。 每 一 个 用 户 可 以 在 自 己 的 用 户 主 目 录 下 创 建 自 己 的 定制 .Xmodmap 文 件 , 用 它 来 配 置 系 统 的 输 入 设 备 。 如 果 用 户 是 通 过 自 己 的 终 端和 Linux 系 统 相 连 接 , 这 种 定 制 的 文 件 会 对 用 户 很 有 帮 助 。 .Xmodmap 文 件 由xmodmap 命 令 读 取 , 它 完 成 配 置 操 作 。 xmodmap 命 令 将 首 先 在 用 户 主 目 录 下寻 找 Xmodmap 文 件 然 后 读 这 个 文 件 。 如 果 在 用 户 主 目 录 下 没 有 .Xmodmap 文件 , xmodmap 命 令 将 读 文 件 / usr / X11R6 / lib / X11 / xinit / .Xmodmap 。xmodmap 命 令 通 常 在 文 件 / usr/ X11R6 / lib / X11 / xinit/ xinitrc 内 被 执 行 。如 果 用 户 在 自 己 的 主 目 录 下 有 自 己 的 .xinitrc 脚 本 文 件 , 系 统 不 是 在 用 户 自 己
的 .Xmodmap 文 件 里 就 是 在 文 件 / usr / X11R6 / lib / X11 / xinit / .Xmodmap
里 执 行 xmodmap 命 令 。 详 细 情 况 请 参 考 xmodmap 的 帮 助 页 。
通常,在 .xinitrc 脚 本 文 件 里 有 一 些 X -W indows 命令,比如 xset 和 xsetroot, 用 它 们 来 配 置 X-Windows 对 话 的 各 种 不 同 特 性 。 Xset 命 令 设 置 一 些 不 同 的选 项 , 例 如 启 动 屏 幕 保 护 , 设 定 响 铃 和 扬 声 器 的 音 量 。 也 可 以 用 Xset 来 加 载 字体 。 详 细 情 况 请 参 考 xset 的 帮 助 页 。 Xset 在 选 项 b 和 参 数 on 或 off 存 在 的 情况 下 , 将 打 开 或 关 闭 扬 声 器 。 下 面 的 例 子 中 , 打 开 了 扬 声 器 。
Xsetbon
如 要 设 置 屏 幕 保 护 ,可 以 执 行 带 选 项 -s 的 xse t。用 户 可 以 通 过 参 数 on 或 off 来 启 动 或 关 闭 屏 幕 保 护 。作 为 参 数 输 入 的 两 个 数 值 指 定 长 度 和 间 隔( 单 位 :秒 )。长 度 是 屏 幕 保 护 程 序 在 激 活 前 等 待 的 秒 数 。 间 隔 是 指 屏 幕 保 护 程 序 在 产 生 新 的图 案 前 等 待 的 时 间 。
xsetroot 命 令 使 用 户 能 够 设 置 主 窗 口 的 特 性 ( 设 置 颜 色 或 显 示 位 图 图 案 -- 用户 甚 至 能 够 自 己 设 计 的 光 标 ) 。 表 21-3 列 出 了 不 同 的 xsetroot 选 项 。 要 了 解 各选 项 和 详 细 情 况 请 参 考 xsetroot 的 帮 助 页 。 下 面 的 xsetroot 命 令 通 过 使 用 -solid 选 项 把 主 窗 口 的 背 景 设 置 为 蓝 色 。
Xsetroot-solidblue
文 件 / usr / X11R6 / lib / X11 / xinit / xinitrc 里 还 包 含 有 一 些 命 令 和 变量 , 它 们 用 来 配 置 Looking Glass 桌 面 , Xview 窗 口 管 理 器 和 fvwm 窗 口 管理 器 。
在 .xinitrc 脚 本 文 件 里 , 窗 口 管 理 器 的 启 动 往 往 是 最 后 一 条 命 令 。 无 论 .xinitrc
脚 本 文 件 的 最 后 一 条 命 令 是 什 么 , 在 执 行 完 这 条 命 令 后 X- W indows 将 会 退 出 。通 过 把 启 动 窗 口 管 理 器 的 命 令 放 在 最 后 , 在 退 出 窗 口 管 理 器 时 将 关 闭 X- W indows 进 程 。 用 户 想 初 始 启 动 的 任 何 其 它 程 序 都 应 放 在 窗 口 管 理 器 命 令 前面 。 如 果 想 在 任 何 时 候 执 行 startx 时 自 动 启 动 Netscape 或 Xfm 文 件 管 理 器 , 用 户 必 须 把 启 动 这 些 应 用 程 序 的 命 令 放 在 窗 口 管 理 器 命 令 前 面 。 在 应 用 程 序 后面 应 紧 跟 一 个 & 号 , 使 它 们 能 在 后 台 运 行 。 下 面 的 例 子 在 fvwm 启 动 时 , 自 动启 动 Xfm 文 件 管 理 器 和 Netscape 。
xfm& netscape& exec fvwm
下 面 是 .xinitrc 文 件 的 一 个 简 单 例 子 。 它 被 设 计 成 在 启 动 fvwm 窗 口 管 理 器
的 同 时 启 动 Xfm 文 件 管 理 器 。 变 量 OPENWINHOME 和 HELPPATH 为 需 要Xview 库 的 应 用 程 序 指 出 了 这 些 库 的 存 放 目 录 。 如 果 .xinitrc 文 件 在 用 户 主 目 录中 , 它 会 指 示 xinit 启动 fvwm 的 同 时 启 动 Xfm ( 注 意 文 件 .xinitrc 名 字 前 的 .。当 fvwm 启 动 时 , 任 务 栏 和 页 面 调 度 程 序 将 和 Xfm 窗 口 一 起 显 示 。 在 屏 幕 的 任何 位 置 点 鼠 标 左 键 都 会 弹 出 工 作 位 置 菜 单 。
.xinitrc
# !/ bin / sh
#$Xconsortium: xinitrc.cpp,v 1.4 91 / 08 / 22 11:41:34 rws Exp $ userresources=$HOME / .Xresources usermodmap=$HOME / .Xmodmap
sysresources= / usr / X11R6 / lib / X11 / xinit / .Xresources sysmodmap= / usr/ X11R6 / lib / X11 / xinit/ .Xmodmap export OPENWINHOME= / usr/ openwin
export HELPPATH=$ OPENWINHOME / help #merge in defaults and keymaps
if [ -f $sysresources] ; then xrdb -merge $sysresources
fi
if [ -f $sysmodmap ] ; then xmodmap $sysmodmap
fi
if [ -f $userresources ] ; then xrdb -merge $userresources
fi
if [ -f $usermodmap ] ; then xmodmap $usermodmap
fi
#start some nice programs xfm &
exec fvwm
在 目 录 / etc / X11 / xinit 下 有 一 个 名 为 xinitrc.before.fvwm 的 仅 有 简 单 框
架 的 .xinitrc 文 件 样 本 。 它 没 有 对 应 fvwm,Xview 以 及 Looking Glass(Caldera) 桌 面 的 配 置 命 令 。 但 是 , 这 是 一 个 仅 包 含 有 运 行 X- W indows 所 必 须 的 基 本 配 置操 作 的 好 例 子 。 该 脚 本 文 件 将 打 开 三 个 Xterm 窗 口 并 且 运 行 twm 窗 口 管 理 器 。如 果 需 要 , 用 户 可 以 把 这 个 脚 本 文 件 拷 贝 到 自 己 的 用 户 主 目 录 , 作 为 自 己的 .xinitrc 文 件 ( 如 果 用 户 现 在 有 自 己 的 .xinitrc 文 件 ,务 必 对 它 进 行 备 份 ) 。 然 后就 可 以 按 照 自 己 的 意 愿 添 加 配 置 操 作 和 命 令 。 例 如 , 可 以 移 去 一 些 xterm 命 令 , 启 动 另 一 个 不 同 的 窗 口 管 理 器 ( 添 加 需 要 的 配 置 变 量 ) , 或 者 启 动 一 个 应 用 程序 , 如 Netscape 。 如 果 不 想 启 动 xclock , 用 户 可 以 在 它 的 命 令 前 加 一 个 # 号 , 把 这 个 命 令 注 释 掉 。
字 体
X- W indows 的 字 体 文 件 存 放 在 目 录 / usr / X11R6 / .lib / X11 / fonts 下面 。 X- W indows 的 字 体 文 件 由 命 令 xfs 来 加 载 。 xfs 读 取 配 置 文 件 / etc / X11
/ fs / config , 这 个 文 件 在 项 目 catalogue 下 列 出 了 字 体 目 录 。 在 Xman 帮 助 页
里 有 关 于 字 体 的 详 细 讨 论 。 为 了 安 装 字 体 集 , 把 相 应 的 字 体 文 件 放 在 一 个 用 户能 够 把 它 的 路 径 添 加 到 catalogue 项 的 目 录 下 面 , 这 样 字 体 就 可 以 自 动 安 装 。用 户 也 可 以 用 带 + fp 选 项 的 xset 命 令 单 独 地 安 装 某 种 特 定 字 体 。 用 户 系 统 里 的字 体 由 字 体 路 径 指 定 。 字 体 路 径 是 一 些 文 件 名 , 每 一 个 文 件 存 放 一 种 字 体 。 文件 名 包 括 它 们 的 完 整 路 径 。 下 面 是 文 件 / etc / X11 / config 中 catalogue 项 的
- 个 例 子 。 这 是 一 串 以 逗 号 隔 开 的 目 录 清 单 。 X- W indows 首 先 在 这 些 目 录 中 寻找 字 体 文 件 。
Catalogue =
/ usr / X11R6 / lib / X11 / fonts / m isc, / usr / X11R6 / lib / X11 / fonts
/ Speedo / ,/ usr
/ X11R6 / lib / X11 / fonts / Type l/ ,/ usr / X11R6 / lib / X11 / fonts /
75dp i/ ,/ us r/ X11
R 6 / lib / X11 / fonts / 100dp i/
在 能 够 使 用 新 安 装 的 字 体 之 前 , 用 户 必 须 首 先 使 用 mkfontdir 命 令 对 它 们 进行 索 引 。 从 含 有 新 的 字 体 的 目 录 里 , 输 入 mkfontdir 命 令 。 用 户 也 可 以 把 目 录 路径 作 为 mkfontdir 命 令 的 一 个 参 数 。 在 对 字 体 索 引 完 以 后 , 用 户 可 以 使 用 带 有 选项 fp rehash 的 xset 命 令 装 入 这 些 字 体 。 为 了 能 够 自 动 装 载 这 些 字 体 , 把 目 录以 完 整 路 径 名 的 形 式 添 加 到 xfs 配 置 文 件 的 catalogue 项 中 去 。 下 面 的 例 子 显 示了 如 何 安 装 一 种 新 的 字 体 并 加 载 它 :
$ cp newfont.pcf~ / myfonts
$ mkfontdir ~ / myfonts
$ xset fp rehash
在 一 个 字 体 目 录 里 , 有 几 个 特 殊 文 件 保 存 着 关 于 字 体 的 信 息 。 fonts.dir 文件 列 出 了 它 所 在 目 录 下 的 所 有 字 体 。 此 外 , 用 户 可 以 通 过 建 立 一 个 fonts.alias 文 件 给 一 个 字 体 文 件 取 其 它 别 的 名 字 。 字 体 文 件 名 字 一 般 很 长 , 很 复 杂 。
Fonts.scale 文 件 存 放 着 可 伸 缩 字 体 的 名 字 。 详 细 情 况 请 参 考 xfs 和 mkfontdir
的 帮 助 页 。
用 带 有 + fp 和 -fp 选 项 的 xse t, 用 户 能 够 个 别 地 添 加 或 者 去 掉 特 定 的 字 体 。带 有 参 数 rehash 的 fp 将 加 载 字 体 。 在 default 参 数 的 情 况 下 , 将 恢 复 缺 省 字体 集 。 + fp 向 字 体 路 径 添 加 一 种 字 体 。 对 于 自 己 的 字 体 , 用 户 可 以 把 他 们 放 在任 何 目 录 下 并 且 指 定 它 们 的 名 字 ( 包 括 他 们 的 完 整 路 径 名 ) 。 以 下 的 例 子 把 在目 录 / usr / local/ fonts 下 的 myfont 字 体 添 加 到 字 体 路 径 。 然 后 带 有 参 数rehash 的 fp 选 项 装 入 字 体 。
xset + fp / usr / loca l/ fonts / myfont xset fprehash
要 移 去 这 种 字 体 , 须 运 行 xset -fp / usr / home / myfont 然 后 是 命 令
xset fp rehash 。 如 果 想 把 系 统 恢 复 到 缺 省 字 体 集 , 输 入 如 下 :
xsetfpdefault xsetfprehash
用 xlsfonts 命 令 , 用 户 列 出 目 前 安 装 在 系 统 上 的 所 有 字 体 。 如 想 显 示 已 安
装 的 字 体 以 查 看 它 的 外 观 , 使 用 xselfonts 命 令 。 用 户 可 以 浏 览 系 统 的 字 体 , 选择 几 种 自 己 喜 欢 的 。
编 译 X-W indows 应 用 程 序
为 了 编 译 X- W indows 应 用 程 序 , 用 户 必 须 确 信 安 装 了 Xfree86 开 发 包 和 其它 可 能 要 用 到 的 开 发 包 。 这 些 包 包 含 了 头 文 件 和 X- W indows 程 序 使 用 的 库 。 这类 包 的 名 字 含 有 词 deve l, 例 如 , Xfree86-devel-3.1.2-2.i386.rpm 。 还 有 , 许 多X-Windows 应 用 程 序 可 能 需 要 特 殊 的 共 享 库 。
例 如 , 有 些 应 用 程 序 可 能 需 要 xforms 库或 qt 库 。 这 些 库 中 的 某 些 部 分 可 能
必 须 从 在 线 站 点 得 到 , 但 大 多 数 都 可 以 从 RPM 形 式 的 Redhat contrib 目 录 得到 。
许 多 X-Windows 应 用 程 序 需 要 生 成 一 个 为 配 置 系 统 而 创 建 的 Makefile 文件 。 如 果 有 应 用 程 序 源 代 码 , 这 个 任 务 可 以 由 Imakefile 完 成 。 安 装 在 系 统 上 的xmkmf 命 令 能 够 take an Imakefile 并 且 生 成 合 适 的 Makefile 文 件 。 一 旦 有 了Makefile 文 件 , 就 可 以 用 make 命 令 编 译 应 用 程 序 。 xmkmf 命 令 实 际 上 调 用 程序 imake 从 Imakefile 生 成 Makefile 文 件 。 但 是 用 户 不 用 直 接 使 用 imake 。 关于 xmkmf 和 make 的 详 细 情 况 可 查 看 相 应 的 man 帮 助 页 ( 例 子 见 第 7 章 ) 。最 近 许 多 程 序 使 用 配 置 脚 本 文 件 生 成 Makefile 。 在 那 种 情 况 下 , 用 户 只 需 运 行 .
/ configure 命 令 , 而 不 是 xmkm f。
小 结 : 配 置 X-Windows
Xfree86 服 务 器 对 较 多 种 类 的 硬 件 提 供 支 持 , 但 配 置 它 们 是 很 富 有 挑 战 性 的一 项 任 务 。 如 果 用 户 已 经 正 确 地 安 装 了 XFree86 服 务 器 ( 见 表 21-1 ) , 可 以 通过 运 行 位 于 目 录 / usr / X11R6 / bin 的 XF86setup 程 序 配 置 它 。 也 有 其 它 的 配置 实 用 工 具 , 如 xf86config,Xconfigurato r。 所 有 这 些 实 用 工 具 会 问 一 些 关 于 当前 系 统 硬 件 的 问 题 然 后 创 建 一 个 / etc / XF86Config 文 件 。 当 X- W indows 启 动时 , 它 读 取 文 件 / etc / XF86Config 里 的 配 置 信 息 。
每 个 用 户 也 可 以 通 过 使 用 在 自 己 的 用 户 主 目 录 下 的 .xinitrc 文 件 , 创 建 自 己的 启 动 窗 口 管 理 器 和 桌 面 的 命 令 。 用 户 可 以 把 启 动 窗 口 管 理 器 、 桌 面 以 及 任 何其 它 想 要 的 X 应 用 程 序 的 命 令 放 到 这 个 文 件 中 。 也 可 以 只 指 定 一 个 窗 口 管 理 器 , 或 者 一 个 窗 口 管 理 器 和 一 个 桌 面 。 最 好 以 拷 贝 / usr / X11R6 / lib / X11 / xinit
/ xinitrc 文 件 的 方 式 创 建 .xinitrc 文 件 。
fvwm 窗 口 管 理 器 有 自 己 的 一 套 配 置 文 件 。 用 户 可 以 用 它 们 向 任 务 栏 添 加 按钮 , 或 向 工 作 位 置 菜 单 添 加 菜 单 项 , 或 指 定 想 初 始 启 动 的 程 序 。
表 21-1XFree86 服 务 器
服 务 器 类型
XFree86_SVGA 彩色 SVGA 服 务 器 。 包 括 大 部 分 显 示 卡 的 驱 动
程序
续 表XFree86_VGA16 16 色 SVGA 和 VGA 非 加 速 型 服 务 器XFree86_Mono 单 色 非 加 速 型 服 务 器
XFree86_S3 S3 加 速 型 服 务 器
XFree86_S3V S3ViRGE 和 ViRGE / VX 加 速 型 服 务 器 ( 许 多
3D 显 示 卡 )
XFree86_I128 Number 9 Imagine 128 加 速 型 服 务 器
XFree86_8514 8514 / A 加 速 型 服 务 器
XFree86_Mach8 ATI Mach8 加 速 型 服 务 器XFree86_Mach32 ATI Mach32 芯 片 加 速 型 服 务 器XFree86_P9000 We itek 加 速 型 服 务 器
XFree86_W32 ET4000 / W32 加 速 型 服 务 器
XFree86_agx IIT AGX 加 速 型 服 务 器
XFree86_Mach64 ATI Mach64 芯 片 加 速 型 服 务 器
表 21-2fvwm 配 置 文 件 和 键 盘 映 射
配 置 文 件 描 述
system.fvwmdesk 桌 面 启 动
system.fvwmrc 主 要 配 置 文 件
system.fvwmrc.bindings 鼠 标 和 键 盘 映 射
system.fvwmrc.config 配 置 变 量
system.fvwmrc.functions 函 数 定 义
续 表
system.fvwmrc.goodstuff 任 务 栏 项 目
system.fvwmrc.menus 菜 单 项system.fvwmrc.menus.exclude 专 用 菜 单 项system.fvwmrc.menus.prepfvwm 生 成 菜 单system.fvwmrc.modules 组 件
system.fvwmrc.options 选 项
system.fvwmrc.styles 程 序 窗 口 风 格功 能 键 键 盘 映 射
ALT-F1 工 作 位 置 菜 单
ALT-SHIFT-H 帮 助 菜 单
ALT-SHIFT-S Shells 菜 单
ALT-SHIFT-A 应 用 程 序 菜 单
ALT-SHIFT-G 游 戏 菜 单
ALT-SHIFT-D 桌 面 菜 单
ALT-SHIFT-T 终 端 菜 单
ALT-SHIFT-C 配 置 菜 单
ALT-SHIFT-Pproductivity 工 具 菜 单
ALT-SHIFT-F 图 形 菜 单
ALT-SHIFT-X 文 本 和 发 行 菜 单
ALT-SHIFT-V 软 件 开 发 菜 单
续 表
ALT-SHIFT-I 因 特 网 联 结 菜 单
ALT-SHIFT-R 娱 乐 菜 单
ALT-SHIFT-Y 系 统 管 理 菜 单
表 21-3X-Windows 命 令 、 配 置 文 件 、 参 数
X -W indows 命 令 解 释
X term 打 开 一 个 新 的 终 端 窗 口
Xset 设 置 X -W indows 选 项 ; 完 整 清 单 见 man 帮 助 页
-b 配 置 响 铃
-c 配 置 键 的 单 击
+ fp fontlist 添 加 字 体
-fp fontlist 移 去 字 体
led 打 开 或 关 闭 键 盘 LEDs
m 配 置 鼠 标
p 设 定 象 素 颜 色 值
s 设 置 屏 幕 保 护
q 列 出 当 前 设 置
xsetroot 配 置 主 窗 口
-cursor cursorfile maskfile
续 表设 置 当 鼠 标 不 在 任 何 窗口 时 所 显 示 的 pointer 位 图 图 象
-bitmap filename 设 置 根 窗 口 的 位 图 图 案
-gray 1 把 背 景 设 置 为 灰 色
-fg color 设 置 前 景 位 图 的 颜 色
-bg color 设 置 背 景 位 图 的 颜 色
-solid color 设 置 背 景 颜 色
-name string 把 根 窗 口 的 名 字 设 为 一字 符 串
xmodmap 配 置 输 入 设 备 ; 读取 .Xmodmap 文 件
-pk 显 示 当 前 的 键 盘 映 射 图
-e expression 设 置 键 的 映 射
keycode NUMBER- KEYSYMNAME
keysym KEYSYMNAME- KEYSYMNAME
把 键 设 置 为 指 定 的 键 符号
设 置 某 键 的 功 能 和 指 定键 相 同
pointer-NUMBER 设 置 鼠 标 键 代 码
续 表
xrdb 配 置 X-Windows 资 源 ; 读 取 .Xresources 文件
xdm X-Windows 显 示 管 理 器 ; 运 行 系 统 XFree86 服 务器 ; 通 常 被 .xinitrc 调 用
startx 执 行 xinit 启 动 X-Windows 并 且 指 示 xinit 读 取 文件 .Xclients
xfs config-file X-Windows 字 体 服 务 器
mkfontdir font-directory 对 新 的 字 体 进 行 索 引 , 使 它 们 能 被 字 体 服 务 器 存 取
xlsfonts 列 出 当 前 系 统 的 字 体
xfontse l 显 示 已 安 装 的 字 体
xdpyinfo 列 出 关 于 X- W indows 配 置 的 详 细 信 息
xinit 启 动 X-Window s, 首 先 读 系 统 的 .xinitrc 文 件 ; 当从 startx 启 动 时 , 它 也 读 取 用 户 的 .Xclients 文 件 ; xinit 并 不 被 直 接 调 用 , 而 是 通 过 startxxmkmf 使 用应 用 程 序 的 Imakefile 来 为 X-Windows 应 用 程 序 创建 一 个 Makefile ; 启 动 imake 生 成 Makefile( 不 必直 接 启 动 imake) 配 置 文 件 配 置 文 件
.Xmodmap 用 户 的 X- W indows 输 入 设 备 配 置 文 件
.Xresources 用 户 的 X- W indows 资 源 配 置 文 件
.Xdefaults 用 户 的 X- W indows 资 源 配 置 文 件
续 表
.xinitrc 如 果 这 一 文 件 存 在 , 用 户 的 X- W indows 配 置 文件 , 由 xinit 自 动 读 取
.Xclients 用 户 的 X- W indows 配 置 文 件 ( 在 Redhat 和 其 它
Linux 销 售 版 本 里 使 用 )
/ usr / X11R6 / lib /
X11
/ xinit/ xinitrc
/ usr / X11R6 / lib /
X11
/ xinit/ .Xresources
/ usr / X11R6 / lib /
X11
/ xinit/ .Xmodmap
/ usr / lib / X11 /
rgb.txt
/ usr / X11R6 / lib /
X11
/ xinit /
xinitrc.before.fvwm
系 统 X-Windows 初 始 化 文 件 ; 由 xinit 自 动 读 取
系 统 X-Windows 资 源 文 件 ; 由 .xinitrc 读 取
系 统 X-Windows 输 入 设 备 文 件 ; 由 .xinitrc 读 取
X- Windows 颜 色 ; 每 一 项 有 四 个 域 ; 头 三 个 是 代 表红 色 、 绿 色 、 蓝 色 的 数 字 ; 最 后 一 个 域 是 颜 色 的 名字
一 个 X -W indows 的 .xinitrc 样 本 文 件 , 里 面 没 有
fvwm 和 Caldera 桌 面 ( 在 OpenLinux 系 统 里 )
X -W indows 应 用 程 序 配 置 参 数
续 表
-bw num 框 架 边 界 的 宽 度 ( 单 位 : 象 素 点 )
-bd color 边 界 颜 色
-fg color 前 景 颜 色 ( 对 文 本 和 图 表 而 言 )
-bg color 背 景 眼 色
-display display-name 显 示 正 在 运 行 的 客 户 ; 显 示 主 机 名 组 成 的 名 字 , 显
示 器 编 号 , 屏 幕 编 号 ( 见 XMan 帮 助 页 )
-fn font 文 本 显 示 所 使 用 的 字 体
-geometry offsets X-Windows 应 用 程 序 窗 口 在 屏 幕 上 的 位 置 ; offset
( 偏 移 量 ) 是 相 对 显 示 屏 幕 而 言
-iconic 以 图 标 的 形 式 启 动 应 用 程 序 , 而 不 是 以 窗 口 形 式
-rv 对 换 背 景 和 前 景 的 颜 色
-title string 窗 口 标 题 栏 上 的 标 题
-name string 应 用 程 序 的 名 字
xrm resource-string 指 定 资 源 值 桌 面 , 窗 口 和 文 件 管 理 器 桌 面 、 窗 口 和
文 件 管 理 器
lg Caldera 桌 面
fvwm fvwm 窗 口 管 理 器
olvwm Xview 窗 口 管 理 器 ( OpenLook )
fvwm95 fvwm95(Windows95) 窗 口 管 理 器
qvwm qvwm(Windows95) 窗 口 管 理 器
续 表
mwm LessTif 窗 口 管 理 器
xfm Xfm 文 件 管 理 器
aftersetp AfterStep 窗 口 管 理 器
m lvwm Macintosh 窗 口 管 理 器
m fm Motif 窗 口 管 理 器