分享
 
 
 

设置和修改X-Window的显示模式

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一. X Window 工作方式略谈

(如果你之关心如何对 X Widow 进行设置, 可以跳过这一节. 只是理解这一节所讲的知识对于理解下面的各设置步骤有一定帮助)

X Window 的工作方式跟 Microsoft Windows 有着本质的不同. MS Windows的图形用户界面 (GUI) 是跟系统紧密相联的. 而 X Window 则不是, 它实际上是在系统核心 (kernel) 的上面运行的一个应用程序.

X Window 的运行分为四层. 最底层的是 X Server(服务器), 提供图形界面的驱动, 为 X Window 提供服务. 上面的一层是用于网上通信的网络协议 -- X网络协议. 这部分使远程运行 X Window 成为可能. 只需要在服务器上运行一个X Server, 而客户机 (Client) 上运行更上一层的程序, 则可以实现 X Widow 的远程运行. 再往上的一层是称作 Xlib 的低层函数接口, 介于网络和和基础系统于较高层的程序之间. 应用程序的实现是通过调用这一层的函数实现的. 最顶层就是管理窗口的窗口管理器了, 也就是一般所说的 WM (Window Manager). 在这一层的软件是用户都比较常接触的, 比如 fvwm, AfterStep, Enlightment 以及WindowMaker 等等.

从上面的介绍来看, X Window 的运行是一种客户机/服务器(Client/Server)的模式, 服务器用于显示客运的应用程序, 又被称为显示服务器(Display Server)显示服务器位于硬件和客户机之间, 它跟踪所有来自输入设备比如键盘, 鼠标的输入动作, 经过处理后将其送回客户机. 这样, 使用户甚至可以在 MS Windows的机器上运行 X Client, 截取并传送用户的输入, 只是将 X Window 的屏幕输出显示在用户的屏幕上. 客户机的输入和输出系统跟 X 服务器之间的通信都是遵守X 协议的.

由于本文档的主要目的在于介绍如何设置, 因此对 X Window 不再作进一步的介绍. 更详细的资料可以参考有关的 HOWTO, man 页等等.

二. 关于 X Window 的设置

1. X Server

在 Linux 下, 这些服务器的程序是存放在 /usr/X11R6/bin/ 下面, 并且都由XF86_ 打头, 一般来说, 会提供单显 Mono, 标准 VGA 和 SVGA 的驱动, 分别命名为: XF86_Mono, XF86_VGA16 和 XF86_SVGA, 另外可能还会有 S3 和其他一些带有图形加速功能的显卡的驱动. 下面是作者本人机器上运行的 RedHat Linux6.1 中所带有的 X Server 驱动:

XF86_3DLabs XF86_Mono XF86_I128 XF86_VGA16

XF86_P9000 XF86_8514 XF86_Mach32 XF86_S3

XF86_W32 XF86_AGX XF86_Mach64 XF86_S3V

XF86_FBDev XF86_Mach8 XF86_SVGA

如果你的 /usr/X11R6/bin 下面没有上面某个文件或者多了某个文件, 不必在意, 这主要决定于你的机器的硬件. 其实一般只需要跟自己硬件相配套的驱动即可.比如作者正在使用的机器上使用的是 3D Lab Permedia II 的芯片的显示卡, 因此只有 XF86_3DLabs 是有作用的.

如此之多种类的显示适配器驱动程序, 系统当然需要一个固定和统一的方法去访问它, 一般说来, 系统是使用一个名为 X 的符号连接去访问具体的 X Server 的.这个 X 也同样是存在于 /usr/X11R6/bin/ 目录中, 可以使用如下命令打印他的具体指向:

ls -l /usr/X11R6/bin/X

得到的结果如:

lrwxrwxrwx 1 root root 8 Dec 14 03:40

/usr/X11R6/bin/X - XF86_3DLab

前面的属性 "lrwxrwxrwx" 中第一个字母 l 表示它是一个连接, 在最后由箭头指出它所指向的具体目标. (这里的换行是为了阅读的方便)

明白了这个, 在以后需要更换 X Server 的时候就可以通过改变这个联系来实现了, 具体命令如下:

ln -sf /usr/X11R6/bin/X??????? /usr/X11R6/bin/X

其中问号代表的字母根据具体情况决定. 有些时候, 由于这个连接不正确, 导致无法运行 X Window, 这时可以使它指向 XF86_VGA16, 使用 16 色的 VGA 模式进入X Window, 注意如果需要运行 XF86Setup 程序 (是个图形界面的 X Window 配置工具程序), 那么这个 XF86_VGA16 驱动一定要存在, 这是由于该驱动所提供的显示模式是一般显示卡和显示器都支持的, 故该配置程序使用此 X Server 为驱动. 当用户的显卡是比较特殊的型号时, 需要装特定的驱动程序, 也需要作此工作.

驱动程序的获得有多种途径, 一般的 Linux 发行版本都提供了丰富的驱动程序,可以满足大部分要求, 比较特殊的驱动程序, 可以在网上获得. 当然现在 Linux 对硬件的支持还不是很完善, 但这已经超出了本文档的访问, 不在作更多的表述.

2. 显示模式

显示模式包括分辨率, 扫描频率, 色深等等. 这也是网友在显示方面提问最多的一个问题. 对于现在的显示卡和显示器, 一般都可以使用 1024 x 768 x 16 bit 色的显示模式. 当然保险起见, 在使用下面所叙述的方法设置您所使用的显示模式的时候,请确定您的显示卡和显示器能够达到该模式的要求, 否则可能会有损坏硬件的危险.

在各发行版本中, 都会提供一些设置 X Window 的工具软件, 如 Xconfigurator,XF86Setup, XF86Config 等等, 这些程序无一例外的是提供了一个修改 X Window 的配置文件 XF86Config 的简便方法. 当然使用起来比较方便, 但是对于一些需要灵活调整的场合就不是非常适合, 需要手动调整配置文件中的参数达到最好效果. 您不必一定这样做, 这里只是介绍这样一种方法, 使您可以在有疑问的时候方便地解决.

一般这个文件是存在于 /usr/X11R6/lib/X11/ 目录下, 在 /etc 或者 /etc/X11目录中有它的一个符号连接. 它是一个文本文件, 可以使用 vi 对它进行修改. 下面对该文件中各部分的作用做个详细的介绍. (如有遗漏, 欢迎提出)

在这个文件中有这样几个概念: 段 (Section) 和子段 (Subsection). 每个段或子段分别给出了不同的参数, 格式分别为:

Section

......

Endsection

Section

Subsection

......

Endsubsection

Endsection

一个完整的配置文件中包含六个段, 分别是 File (文件), SeverFlag (服务器特殊标志), Keyboard (键盘), Pointer (指示设备, 一般是鼠标), Monitor (监视器), Device (显示适配器, 即显卡), Screen (屏幕设置信息).

File 段: 这一段指示出一些运行 X Window 所需要的文件的位置, 比如颜色的别名文件 rgb.txt (注意这里是不需要写出该文件的扩展名), 比如:

RgbPath "/usr/X11R6/lib/X11/rgb"

如果您看过 /usr/X11R6/lib/X11/rgb.txt 的内容, 你会很容易的知道它是干什么用的. 有了它, 你可以使用 red1 代表 RGB 颜色值 255 0 0 等等.

接下来是字体文件的路径, 这里的设置将影响到中文字体的输出. 这里对路径的设置可以是多个, 例如下面的这样:

FontPath "unix/:-1"

FontPath "/usr/share/zhfont/X11:unscaled"

FontPath "/usr/share/zhfont/TTF"

FontPath "/usr/X11R6/lib/X11/fonts/local"

FontPath "/usr/X11R6/lib/X11/fonts/chinese"

FontPath "/usr/X11R6/lib/X11/fonts/TTF"

FontPath "/usr/X11R6/lib/X11/fonts/Type1"

FontPath "/usr/X11R6/lib/X11/fonts/Speedo"

FontPath "/usr/X11R6/lib/X11/fonts/misc"

FontPath "/usr/X11R6/lib/X11/fonts/75dpi"

FontPath "/usr/X11R6/lib/X11/fonts/100dpi"

在使用一个字体目录之前, 需要使用 mkfontdir 命令把一条路径中的字体作个列表, 在该目录中生成 font.dir 作为对字体的索引, 如:

mkfontdir /usr/X11Ry/lib/X11/fonts/100dpi

具体该命令的用法, 请使用 man 命令查看其 man page (手册页), 或者会在本文档的后续版本中提供详细的说明.

ServerFlag 段: 这个段指明了一些具体的参数, 如下:

NoTrapSignals 这个标志将使调试信号对 X Server 不起作用. 调试信号会使 X Server "转储核心", 把内存中有关的 X Server 的信息存储到硬盘上, 即所谓的 "Core dump". 这样的目的是便于对 X Server 进行调试.

DontZap 这个标志将使 X Server 收到 "Ctrl + Alt + Back Space" 键组合发出的信号时 *不* 停止工作. 当然一般是不建议使用的.

DontZoom 这个标志使 X Window 不能在各种图形模式之间进行切换. X Window 的缺省状态是在用户设定了多组分辨率, 刷新频率和颜色的组合的情况下, 运行 X Window 的过程中可以通过 Ctrl + '+' 和 Ctrl + '-' 两组键的组合在多个图形模式之间进行动态切换.

Keyboard 段: 这个段指明了 X Window 环境中所使用的键盘映射以及其他一些参数. 如下是作者的键盘配置:

Section "Keyboard"

Protocol "Standard"

AutoRepeat 500 5 # 指定延迟 (delay) 和 速率 (rate)

# 这里的设定分别为 500 和 0

LeftAlt Meta

RightAlt Meta # 使用左右 Alt 键作 Meta 键.

# 关于 Meta 键, 希望以后能够补充完整

ScrollLock Compose

RightCtl Control

XkbKeycodes "xfree86"

XkbTypes "default"

XkbCompat "default"

XkbSymbols "us(pc101)"

XkbGeometry "pc"

XkbRules "xfree86"

XkbModel "pc101"

XkbLayout "us"

EndSection

这段设置出了 XkbLayout 会影响键盘各按键的表现以外, 其他都只是一些功能上的设置

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有