📄 doc119.htm
字号:
<html><title>X Windows</title>
<body>
<a href="doc120.htm">Next</a>
<a href="doc000.htm">Up</a>
<a href="doc118.htm">Previous</a>
<a href="doc000.htm">Contents</a>
<a href="doc136.htm">Index</a>
<hr>
<h2><a name="sE.8">E.8 X Windows</a></h2>
<a name="i1292">
<p><h3><a name="sE.8.1">E.8.1 我听说有一个新版本的 XFree86, 或者
我因为老版本不支持我的显卡而需要最新版本的 XFree86, 我怎样安装它?
</a></h3>
<a name="i1293">
<p>在升级 XFree86 以前, 你应该确认已经安装了来自 RedHat ftp 站点
的最新补丁. 查看 ftp.redhat.com/pub/redhat/updates 以确认是否
RedHat 已经加入了新的更新.
<p> 到 1998年4月为止, RedHat 5.0 系列目前有如下的补丁.
<p><blockquote><font size=-1><tt>
<pre>
ftp://ftp.redhat.com/pub/redhat/updates/5.0/i386/ \
Xconfigurator-3.26-1.i386.rpm
ftp://ftp.redhat.com/pub/redhat/updates/5.0/i386/ \
xserver-wrapper-1.1-1.i386.rpm
</pre>
</tt></font></blockquote>
<p>最新版本 XFree86 在站点:
<blockquote><font size=-1><tt>
<pre>
ftp://ftp.redhat.com/pub/home/wanger/XFree86/i386/
</pre>
</tt></font></blockquote>
<p>你将发现如下适合于 XFree86 的文件:
<p><blockquote><font size=-1><tt>
<pre>
XFree86-100dpi-fonts-X.X.X-Y.i386.rpm
XFree86-X.X.X-Y.i386.rpm
XFree86-75dpi-fonts-X.X.X-Y.i386.rpm
XFree86-8514-X.X.X-Y.i386.rpm
XFree86-AGX-X.X.X-Y.i386.rpm
XFree86-I128-X.X.X-Y.i386.rpm
XFree86-Mach32-X.X.X-Y.i386.rpm
XFree86-Mach64-X.X.X-Y.i386.rpm
XFree86-Mach8-X.X.X-Y.i386.rpm
XFree86-Mono-X.X.X-Y.i386.rpm
XFree86-P9000-X.X.X-Y.i386.rpm
XFree86-S3-X.X.X-Y.i386.rpm
XFree86-S3V-X.X.X-Y.i386.rpm
XFree86-SVGA-X.X.X-Y.i386.rpm
XFree86-VGA16-X.X.X-Y.i386.rpm
XFree86-W32-X.X.X-Y.i386.rpm
XFree86-devel-X.X.X-Y.i386.rpm
XFree86-libs-X.X.X-Y.i386.rpm
</pre>
</tt></font></blockquote>
<p>(注释: X.X.X 代表 XFree86 的当前版本号码, Y 代表软件包的修订号.
到1998年4月为止, 最新版本的 XFree86 是 3.3.2, 最新的包修订号码是 5.)
<p>你至少需要这些文件:
<blockquote><font size=-1><tt>
<pre>
XFree86-X.X.X-Y.i386.rpm
XFree86-75dpi-fonts-X.X.X-Y.i386.rpm
XFree86-100dpi-fonts-X.X.X-Y.i386.rpm
XFree86-libs-X.X.X-Y.i386.rpm
XFree86-VGA16-X.X.X-Y.i386.rpm
</pre>
</tt></font></blockquote>
<p>还有 XFree86-XF86Setup-X.X.X-Y.i386.rpm<br>
在 /pub/contrib/hurricane/i386 中.
<p>如果你想重建 X 应用(如果你不是一个程序员, 我怀疑能否成功).
同时你也需要<br>
XFree86-devel-X.X.X-Y.i386.rpm .
<p>你也许还需要一个适应于某种适配卡的服务器程序. 准确地说, 需要
那一个服务器程序决定于那一个支持你的显卡. 有几个办法可以发现那一个
服务器程序可以使用. 首先, 你需要知道你的显卡类型. 如果你不知道,
查一查手册. 若这样还不行, 打开你的计算机, 直接看一下显卡, 或者
使用 SuperProbe , 它位于目录 /usr/X11R6/bin/.
<p>然后阅读 XFree86 FAQ, 它位于目录 /urlhttp://www.xfree86.org/FAQ/,
版本相关的信息位于目录 /urlhttp://www.xfree86.org/X.X.X/index.html,
他们可以帮助你决定使用那一个服务器程序. 你也可以查阅 XFree86-X.X.X-Y.i386.rpm
附带的文档, 位于目录 /usr/X11R6/lib/X11/doc/. 注意, 你必须安装它,
然后才能读取文档.
<p>将所有的软件包下载到一个临时目录, 例如 /tmp.
记住一定要使用 ftp 的 binary 模式下载文件.
你可以使用 rpm -K -nopgp *.rpm 检查软件包 -- 检查
他们是否在传输过程中发生损坏.
<p>你可以像下面所示安装一切软件包:
<p><blockquote><font size=-1><tt>
<pre>
rpm -Uvh --force XFree86*
</pre>
</tt></font></blockquote>
<p>一旦完成安装, 运行 Xconfigurator 或 XF86Setup 配置系统.
<p>如果你使用 XF86Setup 配置 X(你也许必须使用它, 因为 Xconfigurator
不知道一些新型号显卡如何配置, 而 XFree86 支持), 你也许需要手工纠正
一些符号连接. 下面指示怎样做, 假设你安装了 xserver-wrapper (也许):
<p>/usr/X11R6/bin/X 应该是一个符号连接, 指向 xserver-wrapper
and /etc/X11/X 应该是一个符号连接, 指向你所选择的适应于某种显卡的
服务器程序, 例如 XF86_SVGA.
<p>这里是一个如何建立符号连接的例子, 需要 root 权限:
<p><blockquote><font size=-1><tt>
<pre>
ln -sf /usr/X11R6/bin/xserver-wrapper /usr/X11R6/bin/X
ln -sf "../../usr/X11R6/bin/XF86_SVGA" /etc/X11/X
</pre>
</tt></font></blockquote>
<p>XF86Setup 并不知道如何做这些工作, 所以在运行完 XF86Setup,
产生 /etc/X11/XF86Config 后, 需要手工完成(符号连接的建立).
<p><h3><a name="sE.8.2">E.8.2 当我使用 startx 命令运行 X 系统时,
它报告错误说安装没有服务器程序, 然后回到提示符下. 什么地方错了?
</a></h3>
<a name="i1294">
<p>当你看到一个没有安装服务器程序的错误时, 首先你应该检查是否安装
了正确的 X 服务器程序和(符号)连接是否已经建立.
<p>如果你使用最新版本的 RedHat 系统, 你应该使用 xserver-wrapper
来保护你的系统, 应付各种安全性问题.
<p>/usr/X11R6/bin/X 应该是一个符号连接, 指向 xserver-wrapper
and /etc/X11/X 应该是一个符号连接, 指向你所选择的适应于某种显卡的
服务器程序, 例如 XF86_SVGA.
<p>这里是一个如何建立符号连接的例子, 需要 root 权限:
<p><blockquote><font size=-1><tt>
<pre>
cd /usr/X11R6/bin
ln -sf xserver-wrapper ./X
cd /etc/X11
ln -sf "../../usr/X11R6/bin/XF86_SVGA" ./X
</pre>
</tt></font></blockquote>
<p>这样就可以正确地为你的系统建立符号连接.
<p><h3><a name="sE.8.3">E.8.3 当我启动 X 系统后, 我只能看到灰色地背景和一个游标.
</a></h3>
<a name="i1295">
<p>一个最可能的原因是你没有使用正确的命令启动 X 服务器.
启动 X 窗口系统的最好命令是:
<p><blockquote><font size=-1><tt>
<pre>
startx
</pre>
</tt></font></blockquote>
<p>如果你使用了这个命令, 依然只有灰色背景, 那么还有别的原因.
首先, 你是否已经等待了足够长的时间? 或是由于处理器的速度, 或是
由于内存容量(少于16M), 或是由于网络问题, X 窗口系统也许需要
6分钟才能全部启动完毕. 在大多数情况下, 你可以依次为提示查出问题(
更快的处理器, 更多的内存, 网络那里断掉等等).
<p>另一个问题是启动脚本不能启动某些命令.
你可以产生一个很简单的 /.xinitrc, 然后运行 startx, 看看有没有
问题. 也可以检查流水纪录文件 /var/log/Xerrors, 也许对你解决问题有帮助.
<p><h3><a name="sE.8.4">E.8.4 我如何定制 X window manager?
</a></h3>
<a name="i1296">
<p>为了定制缺省的 window magnager 设置参数, 例如从菜单中增加或删除程序,
或是改变自动启动的程序, 你需要修改文件 /etc/X11/AnotherLevel.
请参见 xinit, startx, AnotherLevel,
fvwm2, FvwmM4, 和 wmconfig 的帮助信息(man pages).
<p><h3><a name="sE.8.5">E.8.5 我不喜欢类似 Windows 95 的(界面)配置, 我如何改变它?
</a></h3>
<a name="i1297">
<p>如果不喜欢缺省的 window manager 配置, 你可以从 Preferences 菜单选项中选择另外一种风格,
然后点击 WM Style 菜单选项.
<p>如果对其他的 window manager 感兴趣, 你可以到这个主页参观:
<p>/urlhttp://www.plig.org/xwinman/
<p><h3><a name="sE.8.6">E.8.6 我发现一个错误 'errno=111', 这是什么意思?我该做什么? </a></h3>
<a name="i1298">
<p>当 XFree86 Xserver 崩溃, 死机, 停止或其他难解的问题时,
你将看到 '_X11TransSocketUNIXConnect: Can't connect: errno = 111'或其他
类似的信息.
<p>这条信息是由 X-客户方(任何运行在 XFree86 Xserver 下的程序, 例如
window manager)发出的, 通知你它尝试连接 Xserver, 但是由于某些原因失败了.
<p>为了进一步诊断此问题, 你需要查看服务器的输出. 一般来说, 你可以看到真正的
错误信息(为什么服务器停止工作), 就在 错误 111 信息的前面几行信息.
如果你仍然不能确定错误原因, 记住在发送问题报告(发往技术支持或讨论组时), 一定
要引用全部的服务器输出信息.
<p>别像许多人所做的一样, 只是提交错误 111 问题, 这样是不可能解决你的问题的.
必须提交全部的服务器输出信息, 这可以通过重定向标准输出和标准错误输出到一个
文件中做到. 你可以如下运行 X :
<p><blockquote><font size=-1><tt>
<pre>
startx &> startx.out
</pre>
</tt></font></blockquote>
<p>其他有用的信息是, 检查 X 的符号连接, 检查 .xinitrc(如果存在), 或者检查
发生错误时正在运行的命令.
<p><h3><a name="sE.8.7">E.8.7 我的键盘映射在 X 下不能正确地工作. 我该做什么?
</a></h3>
<a name="i1299">
<p>如果使用 Metro-X, 你需要作如下工作
<p><blockquote><font size=-1><tt>
<pre>
cd /usr/X11R6/lib/X11/xkb/keymap
cp xfree86 metro
</pre>
</tt></font></blockquote>
<p>这可以解决大多数已经发现的问题. 但是由于一些 XFree86 的映射
已经落后于现代的键盘, 因此这并不是一个完整的解决方案. 如果你依然
存在键盘影射问题, 那么需要使用 xmodmap 和 xev 命令来解决问题.
请将这些纠正措施发往 bugs@redhat.com 和 bugs@xfree86.org,
这样他们就可以在主要的发行版本中纠正这些问题.
<p><h3><a name="sE.8.8">E.8.8 我发现一个错误, 不能打开 libX . 或者由于
某些库文件的丢失, 我不能编译 X 应用程序.
</a></h3>
<a name="i1300">
<p>一般来说, 这些必须的库文件并没有安装. 你需要安装(或重新安装)这些软件包
来获得(必须的库文件).
<p>插入安装光盘.
<p><blockquote><font size=-1><tt>
<pre>
mount /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm -Uvh --force XFree86-devel* XFree86-libs* Xaw3d*
</pre>
</tt></font></blockquote>
<p>这样可以安装大多数你需要的 X 库文件. 如果依然出错, 那说明
我们并没有提供这些你所需要的库文件(qt,xforms, motif, 等等).
<p><h3><a name="sE.8.9">E.8.9 我有一块 AGP 的显示卡. 系统能支持它吗?
</a></h3>
<a name="i1301">
<p>3.3.2以前的 XFree86 不支持 AGP 显卡. 如果安装了 3.3.2, Xconfigurator
将显示它所支持的 AGP 显卡. 注意 Red Hat Linux 5.1 和其后的版本已经带有
XFree86 3.3.2(或更高版本).
<p>如果你还没有版本3.3.2, 那么需要考虑升级到这个版本.
请参观他们(XFree86)的网页以获得更多的信息 /urlhttp://www.xfree86.org/ .
<p><h3><a name="sE.8.10">E.8.10 我的计算机的显卡是使用 NeoMagic 芯片组,
怎样让 X 工作?
</a></h3>
<a name="i1302">
<p>NeoMagic 显卡目前不能被 Red Hat Linux's X 服务器支持.
这是因为 NeoMagic 要求在提供编程信息之前, 必须签署不公开(内容)的
协议, 这就排除了发行源码的可能性.
<p>Xi Graphics' Accelerated X 已经可以在膝上型 X 服务器中支持 NeoMagic 芯片组.
可以到他们的主页 /urlhttp://www.xig.com/ 得到更多关于他们的 X 服务器的信息.
<p><h3><a name="sE.8.11">E.8.11 我是从版本 4.1(或更早)升级的, 现在我运行
startx, 但是计算机好像已经挂起, 只有灰色的屏幕.
</a></h3>
<a name="i1303">
<p>这个问题是由于每一个用户目录中的(.Xclients)文件引起, 其中:
<p><blockquote><font size=-1><tt>
<pre>
fvwm95-2 -cmd 'FvwmM4 -debug /etc/X11/TheNextLevel/...'
</pre>
</tt></font></blockquote>
<p>但是 5.0 中并没有包括他们的 window manager, 这可以通过如下命令解决:
<p><blockquote><font size=-1><tt>
<pre>
rm -f ~/.Xclients
</pre>
</tt></font></blockquote>
<p>(超级用户 root 可以采用如下命令解决所有用户的问题):
<p><blockquote><font size=-1><tt>
<pre>
rm -f /home/*/.Xclients
</pre>
</tt></font></blockquote>
<p><h3><a name="sE.8.12">E.8.12 当我启动 netscape 时, 颜色显示不正确, 或者得到一些
关于颜色的错误信息和警告信息.
</a></h3>
<a name="i1304">
<p>这个问题是由如下错误引起:
<p><blockquote><font size=-1><tt>
<pre>
Cannot allocate colormap entry for default background.
</pre>
</tt></font></blockquote>
<p>原因是不能为应用程序提供更多的颜色深度(许多16和256色应用发现了这个问题).
你可以尝试如下的方法解决这个问题:
<p><ul>
<li>
<ol>
<li> 使用 -install 选项运行 netscape . 由于许多颜色的闪烁, 将会显得难看.
<li> 使用 15bpp 或更高的颜色深度运行 X. 你可以使用如下的命令行运行 startx,
以获得超过缺省8位的颜色深度.
<p><blockquote><font size=-1><tt>
<pre>
startx -- -bpp 16
</pre>
</tt></font></blockquote>
<p>如果还不能工作, 参考你的 X 驱动程序手册, Xconfigurator 或升级你的显卡.
</ol>
</ul>
<p><h3><a name="sE.8.13">E.8.13 我有一个微软的串行鼠标, 但是在 Linux 下
不能工作, 我该做什么修正它?
</a></h3>
<a name="i1305">
<p>我们发现 2.1A或更高版本的微软串行两键鼠标是一种'智能'鼠标.
经过测试, 它等待来自 windows 的唤醒信号, 否则它并不回应计算机.
<p>所以 X 或 gpm 不能工作, 因为这种鼠标并不按照他们期望的方式反应.
若想唤醒这种类型的鼠标, 让它工作, 有几种方法. 使用 mouseconfig 在运行 X
以前设置此种鼠标.
<p><blockquote><font size=-1><tt>
<pre>
mouseconfig --kickstart --device cuaX
</pre>
</tt></font></blockquote>
<p>X 是 0 (串口一) 或者 1 (串口二)
<p>另外一种办法是安装 gpm-1.13, 带所示参数运行 gpm -t pnp
-R, 然后配置 XFree86 使用 /dev/gpmdata 作为(鼠标)设备,
运行 MouseSystems 协议.
<p><p><hr>
<a href="doc120.htm">Next</a>
<a href="doc111.htm">Up</a>
<a href="doc118.htm">Previous</a>
<a href="doc000.htm">Contents</a>
<a href="doc136.htm">Index</a>
<hr>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -