更新时间:2023-05-23 12:12
xorg是X11的一个实现,而X Window System是一个C/S结构的程序,Xorg只是提供了一个X Server,负责底层的操作当你运行一个程序的时候,这个程序会连接到X server上,由X server接收键盘鼠标输入和负责屏幕输出窗口的移动,窗口标题的样式等等。
XOrg基金会
XOrg基金会的X11开源实现 (XOrg Foundation Open Source Public Implementation of X11) (the XOrg Server) 是X Window System的官方参考实现。当前的发布版本是X11R7.0,发布于2005年2月10日。它是开放源代码的自由软件。这个项目由X.Org基金会运作,存放于freedesktop.org的主机上。由于在XFree86 4.4最终版本采用新许可证问题上的分歧,Xorg服务器的第一个版本X11R6.7.0从XFree86 4.4 RC2派生出来,并加入了X11R6.6的一些改动。许多原先XFree86的开发者加入了这个比XFree86更开放的项目。 XOrg服务器逐渐在开源Unix风格操作系统中流行。它被以下发行版本采用以代替XFree86:FreeBSD、Debian GNU/Linux、Solaris、Gentoo Linux、Fedora Core、openSUSE、Mandriva Linux、Slackware、Ubuntu Linux等等
Xorg
Xorg是X11的一个实现,而X Window System是一个C/S结构的程序,Xorg只是提供了一个X Server,负责底层的操作当你运行一个程序的时候,这个程序会连接到X server上,由X server接收键盘鼠标输入和负责屏幕输出窗口的移动,窗口标题的样式等等,都是由一种叫做窗口管理器的程序来完成的,你看到的这些,不但有Xorg,有那三个窗口对应的程序,还有个窗口管理器:Xorg自带的twm如果你想要很好的使用图形界面,那你需要根据自己的情况安装窗口管理器,并进行相应的配置。如果为了省事的话,最好装上KDE或者Gnome之类的桌面环境比较好。
什么是X:
严格的说X是一个标准,也就Unix系统上图形界面的基本模式,顺便说一句,最早实现图形界面的是在Unix上,不是在Windows上。这个标准指定了一个Server/Client的基本模型来实现图形界面功能,具体的细节不需要太过深入。通常情况下,谈到X时就是指的图形界面。X的设计体现了Unix的哲学,也就是模块化,各个模块之间遵守相同的标准,所以运行X需要很多组件,包括x-server、x-client、window manager、x display manager,下面我们分别介绍每一个组件的具体含义。
什么是X-server:
在一般的server/client模型中,server总是代表性能比较高,处理很多数据的那个机器,比如你登录一个ftp站点或者是某个网站的时候,server指的是对方的系统。但是在X的server/client模型中恰好相反,这里面server仅仅负责鼠标、键盘、显卡、显示器这些输入输出部件,而x-client却是负责处理数据的。我们在FreeBSD系统里面使用x-server是:xorg-server。除此之外还有其他的商业的x-server,但是在FreeBSD上以及Linux这些自由的开源系统上使用的x-server主要是由xorg提供的xorg-server。所以,如果你想在自己的FreeBSD运行X,那么x-server是必须的。这就是为什么在安装图形界面的时候一定要先安装xorg或者是xorg-minimal,这两个port都是meta port,就是说这个port本身是一个空的port,但是这个port有很多依赖关系,这样可以帮助使用者迅速地安装软件。
由于x-server负责鼠标、键盘、显卡、显示器这些输入输出部件,你必须在安装好以后,告诉x-server你当前系统使用的是什么样的鼠标、键盘、显卡、显示器。由于当前硬件厂商众多,所以不要指望x-server自动识别出所有需要的参数,通常你需要编辑一下/etc/X11/xorg.conf这个文件来提示它一下。你应该知道为什么论坛上总有人在买了USB鼠标以后相互讨论如何修改xorg.conf了。
什么是X-Client:
X-server负责管理鼠标、键盘、显卡、显示器,而X-client则负责处理程序的运行。比如说,我桌面上有一个gvim的图标,我移动鼠标点击了一下gvim的图标,那么X-server会告诉X-client:“用户移动了鼠标到什么位置,然后单击了一下鼠标的左键”。X-client收到这个信息以后会对这个行为做出反应,经过一番思考,它发现,我这个行为是要打开一个叫gvim的程序,于是X-client会运行gvim,然后告诉X-server:“你在显示器上给用户画出一个像gvim的东西来”。然后,我就在我的屏幕上很高兴地看见了我可爱的gvim编辑器了,当然还有伟大的DejaVu Sans Mono等宽字体。