X服务器配置指南

Gentoo Logo

2009年6月5日,升级到1.5.3后进不了X,在xorg.conf中增加以下配置问题解决。

Section "ServerFlags"
   Option "AllowEmptyInput" "false"
EndSection

X服务器配置指南

内容 :

1.  什么是X Window服务器?

图形界面 vs 命令行

大多数用户对于命令行的使用感到恐惧。有时我们会想:既然Gentoo(或者其他的Linux发行版)给我们提供了一定的自由度,那么我们能否通过鼠标的 点击来完成我们的工作呢?呵呵,你当然可以这么做 :-) Linux提供了许多优秀的用户界面和环境,你可以在现有的系统基础上来对它们进行安装和设置。

许多新用户会碰到一个令他们十分惊奇的事实:一种图形用户界面只不过是运行在系统上的一个应用程序。它不是 Linux内核的一部分,也没有 集成在你的系统里。它是一个可以为你的工作站提供图形化工作界面的强大工具。

由于标准的重要性,有人为窗口的绘制和移动、通过鼠标的移动和键盘实现程序和用户间的互动,以及其它重要的方面创建了一种标准,这种标准就叫做X Window系统 ,它通常缩写为X11 或者X 。它广泛应用于Unix,Linux,以及其他类Unix操作系统上。

为Linux用户提供运行图形化用户界面条件并且使用X11标准的应用程序是Xorg-X11――XFree86项目的一个分支。由于XFree86决定使用与GPL相悖的许可证,我们推荐使Xorg。当前的官方Portage上已经不再提供XFree86。

X.org项目

X.org 项目创建并且拥有一个可供自由散布的开源X11系统实施方案。它是一个基于X11的开源桌面构架。

Xorg在你的硬件和你想运行的图形界面软件之间提供了一个接口。除此之外,Xorg完全具有网络意识功能,这意味着当你在一个系统上运行某个程序,你同时可以在另一个系统上查看它。

2.  安装 Xorg

使用 emerge

闲聊先就此打住,让我们开始做正事吧。要安装Xorg,你需要运行emerge xorg-x11 。但安装Xorg确实需要一段时间,因此在这期间你可以吃上一点点心。

在安装Xorg之前,你需要在/etc/make.conf 文件中设置两个重要的变量。

第一个变量是VIDEO_CARDS 。用来设置你所使用的显示驱动,通常这由你的显卡牌子和类型决定。最普通的设置是Nvidia显卡使用nvidia 而ATI Radeon显卡使用fglrx 。这些都是针对Nvidia和ATI的专门驱动。如果你希望使用开源版本,使用nv 替代nvidia ,但恐怕该驱动没有3D加速支持。ATI显卡的radeon 开源驱动在老的Radeon显卡上可以完全支持3D加速,但在新的显卡上行不通。变量VIDEO_CARDS 可以包含多个驱动,如果需要请用空格分开。

第二个变量是INPUT_DEVICES ,用于给定输入设备的驱动。通常情况下keyboard mouse 就可以正常工作。

现在你需要确定使用的驱动并在/etc/make.conf 文件中添加相应的设置:

代码 2.1: make.conf选项例举

(对鼠标于键盘的支持)

INPUT_DEVICES="keyboard mouse"
(对Nvidia显卡)
VIDEO_CARDS="nvidia"
(或,对ATI Radeon显卡)
VIDEO_CARDS="fglrx"

更多有关如何设置Nvidia和ATI显卡的指导可以在Gentoo Linux nVidia指南Gentoo Linux ATI FAQ 找到。如果你不知道应该选择何种驱动,请参考这些指导获得更多信息。

注意: 如果所建议的设置不能起作用,你应该运行emerge -pv xorg-server ,检查所有选项并选择那些适用你的系统。下面的例子是针对amd64体系和xorg-server-1.2

代码 2.2: 显示所有驱动选项

# emerge -pv xorg-server


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] x11-base/xorg-server-1.2.0-r3 USE="dri nptl xorg (-3dfx) -debug
-dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse -acecad
-aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev
-fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax
-penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom"
VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx
-glint -i128 (-i740) -i810 (-impact) (-imstt) -mach64 -mga -neomagic (-newport)
(-nsc) -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB

设置完所有需要的变量后你就可以进行安装Xorg。

代码 2.3: 安装Xorg

# emerge xorg-x11

安装结束后,你可能需要重新初始化一些环境变量后才能继续。你只需要运行env-update 后再运行source /etc/profile 就可完成这一工作。

代码 2.4: 重新初始化环境变量

# env-update

# source /etc/profile

3.  配置Xorg

xorg.conf文件

Xorg的配置文件xorg.conf ,在/etc/X11 。Xorg-X11软件包提供了一个样本配置文件在/etc/X11/xorg.conf.example ,你可以参考它来创建自己的配置文件。它有非常详细的文档注释,但如果你确实需要更多的有关语法的文档信息,请不要犹豫去查看man帮助手册:

代码 3.1: 阅读xorg.conf man帮助手册

# man 5 xorg.conf

希望你能快乐的阅读这些文档,当然,这是不可能的,所以我们下一步就来看看如何自动创建配置文件。

默认操作:自动创建xorg.conf

Xorg可以自动为你配置好大多数的选项。在多数情况下,你只需要修改其中的某些行列来调整你想要的分辨率。如果你对深层次的优化感兴趣,那么请务必阅读文章最后所提供的资源。但首先,我们需要生成一个Xorg配置文件(希望它能正常工作)。

代码 3.2: 创建xorg.conf文件

# Xorg -configure

当Xorg检测完你的硬件后,请务必注意屏幕上的最后一行显示。如果它告诉你某个地方检测失败,那么你就不得不自己手工编辑一个xorg.conf 文件;如果没有,那么它会告诉你/root/xorg.conf.new 已经创建并可以供你测试了。那么,就让我们测试一下吧 :)

代码 3.3: 测试xorg.conf.new文件

# X -config /root/xorg.conf.new

如果一切顺利,你会看到一个简单的黑白模式。检查鼠标是否工作正常,分辨率是否OK。如果得到有关"/dev/mouse"的错误,请在xorg.conf 文件中的"InputDevice"处,试试将你的鼠标设备改成/dev/input/mice 。你也许不能够准确地判断分辨率,但应该能够看出是否太低。你可以随时按下Ctrl-Alt-Backspace来退出。

可选操作:半自动创建xorg.conf

Xorg提供了一个名叫xorgconfig 的工具,它将询问你有关系统的各种信息(图形适配器、键盘……)。它将根据你输入的信息来创建xorg.conf 文。

代码 3.4: 半自动创建xorg.conf

# xorgconfig

Xorg提供的另一个工具,是xorgcfg ,它首先会尝试运行Xorg -configure 然后启动X服务器进行更多的调整。

代码 3.5: 使用xorgcfg

# xorgcfg

(如果X崩溃或者配置失败,试试:)
# xorgcfg -textmode

拷贝xorg.conf

先让我们将xorg.conf.new 拷贝为/etc/X11/xorg.conf ,这样我们就不必每次运行Xorg -config 了――直接输入Xstartx 显然要轻松得多。:)

代码 3.6: 拷贝xorg.conf

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

使用startx

现在尝试运行startx 启动X服务器。startx 是一个运行X session 的脚本,它启动了X服务器并在其上运行一些可视化应用程序。同时根据以下的逻辑它将决定使用何种应用程序:

  • 如果在home目录下存在一个名为.xinitrc 的文件,它将会执行文件中列出的命令。
  • 否则,它将会读取XSESSION变量并执行/etc/X11/Sessions/ 中可用的一个会话。你可以在/etc/rc.conf 中设置系统上所有用户的默认XSESSION变量值。
  • 如果以上所有都失败了,那么它将会回到一个简单的窗口管理器,通常是twm

代码 3.7: 启动X

# startx

如果你看到一个丑陋而令人讨厌的窗口管理器,就是twm 。结束twm会话,请在出现的xterm中输入exit 或Ctrl-D。你也可以使用Ctrl-Alt-Backspace组合键来杀掉X会话。然而这样或许让X退出的不是很光彩但请相信这样没有什么坏处。:)

4.  调整xorg.conf

设置分辨率

如果你觉得屏幕分辨率有点问题,你需要检查配置文件中的两个段落。首先看看Screen 段落,它列出了X服务器可以运行的所有分辨率。在默认情况下,这个段落往往不存在任何分辨率。如果是这种情况,Xorg将根据Monitor 段落中的信息来给出一个大概的分辨率。

Xorg检查Monitor 段落中的HorizSyncVertRefresh 设置后会计算出一个有效的分辨率。眼下,先把这些东西放到一边,只有当Screen 段落(接下来将会提到)中更改后的设置无法正常工作时,你才需要看看你的显示器相关规格然后赋予正确的数值。你也可以使用工具来检测你的显示器信息,比如sys-apps/ddcxinfo-knoppix

警告: 不要 在不加考虑的情况下更改这两个与显示器规格有关的变量,任何超出同步率的设置都有可能损坏显示器。

现在让我们来更改分辨率。在接下来的/etc/X11/xorg.conf 的例子中,我们将加入ModesDefaultDepth 使X服务器把24位色深和1024x768分辨率作为默认值启动。不要在意下面给出的例子――它只是一个样本,里面的大多数设置都将与你的计算机设置不同

代码 4.1: 修改/etc/X11/xorg.conf中的Screen段落

Section "Screen"
Identifier "Default Screen"
Device "S3 Inc. ProSavage KN133 [Twister K]"
Monitor "Generic Monitor"
DefaultDepth 24
# 为了便于寻找和阅读请跳过一些内容
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection

运行X(startx ),看它是否启用了你所需要的分辨率:)

配置键盘

要设置X以使用国际键盘布局,请找到与键盘设置相关的InputDevice 段落,并且加入XkbLayout 选项来指明你想使用的键盘布局。比如,接下来我们将为你说明如何应用比利时的键盘布局。你只需要将国家代码替换为你自己的即可。

代码 4.2: 更改键盘布局

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "be"
EndSection

配置鼠标

如果你的鼠标没有正常工作,你应该首先检查你的鼠标是否已经被系统内核检测到。鼠标应该是作为/dev/input/mouse0 (或/dev/input/mice 如果你想用多鼠标)出现。有些情况下使用/dev/psaux 。其他情况你可以通过移动鼠标并输出这些文件来检查设备所标识的鼠标。结束会话请使用Ctrl-C

代码 4.3: 检查设备文件

# cat /dev/input/mouse0

(不要忘记按Ctrl-C来结束这项工作)

如果你的鼠标未被检测到,请检查必要的模块是否已经被载入。

如果你的鼠标已经被检测到,那么就在InputDevice 段落中合适的位置填入你的设备。在接下来的例子中,你可以看到我们将设置其它两个选项:Protocol (它列出了可以使用的鼠标协议――大多数用户使用的是PS/2或者IMPS/2)以及ZAxisMapping (对鼠标滚轮的支持(如果可用的话)。

代码 4.4: 在Xorg中改变鼠标设置

Section "InputDevice"
Identifier "TouchPad Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
EndSection

运行startx 然后期待结果吧:)恭喜,(希望)现在你的系统上已经有一个正常工作的Xorg了。接下来就是删除这个既不美观又不实用的窗口管理器,然后装上一个功能丰富的窗口管理器(甚至是桌面环境),比如KDE或者GNOME,但是这已经超出我们所讨论的范围了 :)

5.  资源

创建并优化xorg.conf

首先,man 5 xorg.conf 为你配置相关设置提供了快速而又完备的参考。当你编辑你的配置文件的时候,请在最接近编辑窗口的位置打开终端并阅读这些资料。

在你系统上的第二个资源是/usr/X11R6/lib/X11/doc 的目录,它下面包含了各种图形芯片相关的README

互联网上有许多关于编辑修改xorg.conf 的资源,我们只在这里列出其中的一小部分,你可以使用Google 来搜索更多的资料:)由于xorg.confXF86Config (XFree86项目使用的配置文件)在多数配置上使用相同的句法,而且有关XF86Config 的信息相对更多一点,因此我们也同样列出了XFree的相关资源。

其他资源

如果你希望升级久的整体化Xorg到新的模块化Xorg 7,请参考Migrating to Modular X HOWTO(迁移到模块化X指南)

更多的有关如何配置不同软件包在X环境下工作的信息可以在这里Gentoo桌面文档资源 找到。



打印

更新于2007年 6月 20日

总结: Xorg是一个允许用户通过简单的设置来使用图形界面环境的X Windows服务器。这篇指南解释了什么是Xorg,如何配置Xorg以及相关的其它各种配置选项。

Sven Vermeulen
作者

dragonnapalm
译者

jeffkyjin
译者

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark


Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值