FreeBSD 使用手册
上一页 | 第5章 　X Window 系统 | 下一页

# 5.4 配置 X11

Contributed by Christopher Shumway.

## 5.4.1 开始之前

在配置 X11 之前， 您需要了解所安装的系统的下列信息：

- 显示器规格

- 显示卡的芯片类型

- 显示卡的显存容量

显示器的规格被 X11 用来决定显示的分辨率和刷新率。 这些规格通常可以从显示器所带的文档中， 以及制造商的网站找到。 需要知道两个数字范围： 垂直刷新率和水平刷新率。

显示卡的芯片类型将决定 X11 使用什么模块来驱动图形硬件。 尽管系统能自动检测出绝大多数的硬件， 但事先了解在自动检测出错的时候还是很有用处的。

显示卡的显存大小决定了系统支持的分辨率和颜色深度。 了解这些限制非常重要。

## 5.4.2 配置 X11

对于 Xorg 7.3 这个版本， 可以不需要任何的配置文件就能运行，在提示符下键如下命令：

    % startx

如果这个命令并不能启动 X11， 也许是默认的配置文件不适合你机器的配置， 这时候就需要手工配置 X11 了。

> 注意: 诸如 GNOME， KDE 或 XFce 之类的桌面环境， 大多都提供了一些允许用户非常易用的工具， 来设置像分辨率这样的显示参数。 所以如果你觉得默认的配置并不适合， 而且你打算安装一个这样的桌面环境， 那么就请继续完成桌面环境的安装， 并使用适合的显示设置工具。

配置 X11 需要一些步骤。 第一步是以超级用户的身份建立初始的配置文件：

    # Xorg -configure

这会在 `/root` 中生成一个叫做 `xorg.conf.new` 的配置文件 (无论您使用 su(1) 或直接登录， 都会改变默认的 `$HOME` 目录变量)。 X11 程序将尝试探测系统中的图形硬件，并将探测到的硬件信息写入配置文件， 以便加载正确的驱动程序。

下一步是测试现存的配置文件， 以确认 Xorg 能够同系统上的图形设备正常工作。 要完成这个任务，只需：

    # Xorg -config xorg.conf.new

如果用户看到一个黑灰的格子和一个 X 形的鼠标指针，那么配置就是成功的。 要退出测试， 只要同时按下 Ctrl+Alt+Backspace。

> 注意: 如果鼠标工作不正常， 则需要先配置它。 参见 FreeBSD 安装一章中的 第 2.10.10 节。

接下来是调整 `xorg.conf.new` 配置文件并作测试。 用文本编辑器如 emacs(1) 或 ee(1) 打开这个文件。 要做的第一件事是为当前系统的显示器设置刷新率。 这些值包括垂直和水平的同步频率。 把它们加到 `xorg.conf.new` 的 `"Monitor"` 小节中：

    Section "Monitor"
            Identifier   "Monitor0"
            VendorName   "Monitor Vendor"
            ModelName    "Monitor Model"
            HorizSync    30-107
            VertRefresh  48-120
    EndSection

在配置文件中也有可能没有 `HorizSync` 和 `VertRefresh`。 如果是这样的话， 就只能手动添加， 并在 `HorizSync` 和 `VertRefresh` 后面设置合适的数值了。 在上面的例子中， 给出了相应的显示器的参数。

X 能够使用显示器所支持的 DPMS (能源之星) 功能。 xset(1) 程序可以控制超时时间， 并强制待机、挂起或关机。 如果希望启用显示器的 DPMS 功能， 则需要把下面的设置添加到 monitor 节中：

            Option       "DPMS"

关闭 `xorg.conf.new` 之前还应该选择默认的分辨率和色深。 这是在 `"Screen"` 小节中定义的：

    Section "Screen"
            Identifier "Screen0"
            Device     "Card0"
            Monitor    "Monitor0"
            DefaultDepth 24
            SubSection "Display"
                    Viewport  0 0
                    Depth     24
                    Modes     "1024x768"
            EndSubSection
    EndSection

`DefaultDepth` 关键字描述了要运行的默认色深。 这可以通过 Xorg(1) 的 `-depth` 命令行开关来替代配置文件中的设置。 `Modes` 关键字描述了给定颜色深度下屏幕的分辨率。 需要说明的是， 目标系统的图形硬件只支持由 VESA 定义的标准模式。 前面的例子中， 默认色深是使用 24位色。 在采用这个色深时， 允许的分辨率是 1024x768。

最后就是将配置文件存盘， 并使用前面介绍的测试模式测试一下。

> 注意: 在发现并解决问题的过程中， 包含了与 X11 服务器相关的各个设备的信息的 X11 日志文件会为您发现和排除问题有所帮助。 Xorg 日志的文件名是 `/var/log/Xorg.0.log` 这样的格式。 实际的日志文件名可能是 `Xorg.0.log` 到 `Xorg.8.log` 等等。

如果一切准备妥当， 就可以把配置文件放到公共的目录中了。 您可以在 Xorg(1) 里面找到具体位置。 这个位置通常是 `/etc/X11/xorg.conf` 或 `/usr/local/etc/X11/xorg.conf`。

    # cp xorg.conf.new /etc/X11/xorg.conf

现在已经完成了 X11 的配置全过程。 Xorg 可以通过 startx(1) 工具来启动。 除此之外， X11 服务器也可以用 xdm(1) 来启动。

> 注意: 有一个图形配置工具 xorgcfg(1)， 会随 X11 软件包一同安装。 它可以通过选择合适的驱动和设置交互式地定义配置。 这个程序可以从控制台通过命令 `xorgcfg -textmode` 来直接启动。 欲了解详情， 请参考 xorgcfg(1) 的联机手册。

> 另外还有一个叫做 xorgconfig(1) 的文本界面配置工具 这是一个控制台工具， 对用户而言不太友好， 但也正因它使用的是纯文本界面， 因此当其他工具无法工作时， 您仍可使用这个工具。

## 5.4.3 高级配置主题

### 5.4.3.1 配置 Intel® i810 显示芯片组

配置Intel i810芯片组的显示卡需要有针对 X11 的能够用来驱动显示卡的 `agpgart` AGP程序接口。 请参见 agp(4) 驱动程序的联机手册了解更多细节。

这也适用于其他的图形卡硬件配置。 注意如果系统没有将 agp(4) 驱动程序编译进内核，尝试用 kldload(8) 加载模块是无效的。 这个驱动程序必须编译进内核或者使用 `/boot/loader.conf` 在启动时加载进入内核。

### 5.4.3.2 添加宽屏平板显示器

这一节假定您了解一些关于高级配置的知识。 如果使用前面的标准配置工具不能产生可用的配置， 则在日志文件中提供的信息应该足以修正配置使其正确工作。 如果需要的话， 您应使用一个文本编辑器来完成这项工作。

目前的宽屏 (WSXGA、 WSXGA+、 WUXGA、 WXGA、 WXGA+， 等等) 支持 16:10 和 10:9 或一些支持不大好的显示比例。 常见的一些 16:10 比例的分辨率包括：

- 2560x1600

- 1920x1200

- 1680x1050

- 1440x900

- 1280x800

有时， 也可以简单地把这些分辨率作为 `Section "Screen"` 中的 `Mode` 来进行配置， 类似下面这样：

    Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Viewport  0 0
        Depth     24
        Modes     "1680x1050"
    EndSubSection
    EndSection

Xorg 能够自动地通过 I2C/DDC 信息来自动获取宽屏显示器的分辨率信息， 并处理显示器支持的频率和分辨率。

如果驱动程序没有对应的 `ModeLines`， 就需要给 Xorg 一些提示了。 使用 `/var/log/Xorg.0.log` 能够提取足够的信息， 就可以写一个可用的 `ModeLine` 了。 这类信息如下所示：

    (II) MGA(0): Supported additional Video Mode:
    (II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
    (II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
    (II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
    (II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

这些信息称做 EDID 信息。 从中建立 `ModeLine` 只是把这些数据重新排列顺序而已：

    ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

如此， 本例中的 `Section "Monitor"` 中的 `ModeLine` 应类似下面的形式：

    Section "Monitor"
    Identifier      "Monitor1"
    VendorName      "Bigname"
    ModelName       "BestModel"
    ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
    Option          "DPMS"
    EndSection

经过简单的编辑步骤之后， X 就可以在您的宽屏显示器上启动了。

上一页 | 起始页 | 下一页
安装 X11 | 上一级 | 在 X11 中使用字体

本文档和其它文档可从这里下载：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读文档，如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.