很多人不明白Linux/Unix下面的X机制,在系统进不去图形界面的时候很多人都大喊救命,如果你了解了Linux/Unix下面X的机制你局不会这样了,最后以我使用的操作系统Debian FreeBSD为例说明一下我电脑里面具体用的都是什么?
别的系统也是这样的,只是想找个具体例子,Linux/Unix本身并不带图形界面,我们使用的图形界面其实是一组应用程序,这组程序包括:x服务器(x-server);窗口管理器(wm);图形界面的应用程序(比如firefox,xchat);登录管理器(xdm);
每个组成部分的作用如下:
1.x服务器(x-server):这个负责管理你的显示器、显卡、鼠标、键盘。就是说只有这个部分知道你是用什么显卡,什么显示器,什么键盘以及什鼠标,下面的几个部分都不管这些细节。
很多人进不去图形界面多数是因为这个没有配置好,这个的配置文件就是xorg.conf在里面指定你的显卡驱动,显示器分辨率,鼠标以及键盘的驱动,就可以了。
所以很多时候你只是编辑一下这个文件就可以了,因为xorg提供的开源驱动多数情况下已经安装在你的系统之中了,你只是要告诉xorg在你的电脑上使用哪个驱动模块就好了。
如何下xorg.conf呢?这个问题比较负责,你可以man xorg.conf,在里面有这个文件详细的语法介绍。
2.窗口管理器(wm):负责指定你开启的各个程序在你桌面上放置的位置,还有就是你要通过她来指定一个当前控制的窗口,比如我正在输入的这些东西,系统必需知道我是在望那个程序里面输入。
3.图形界面的应用程序(比如firefox,xchat):这个的用途就不用说了。
4.登录管理器(xdm):负责在你打开电脑以后以一个图形界面的方式让你选择你需要的语言以及需要的窗口管理器或者是桌面环境。
5.桌面环境:就是有一些人实现已经把窗口管理器和图形界面的应用程序放在一起了,这样就不用用户自己去寻找以及配置每个部分。
以我的电脑为例:
debian系统:
x服务器:xorg,这里面包含有x服务器,常见显卡的驱动模块,以及基本的字体。
xdm:gdm这个是gnome项目提供的登录管理器。
窗口管理器:Metacity,这个也是gnome目前使用窗口管理器。
图形界面的应用程序:这个就太多了,就不介绍了。
FreeBSD系统:
x服务器:xorg,这里面包含有x服务器,常见显卡的驱动模块,以及基本的字体。
xdm:gdm这个是gnome项目提供的登录管理器。
窗口管理器:Metacity,这个也是gnome目前使用窗口管理器。
图形界面的应用程序:这个就太多了,就不介绍了。
内容和Debian的一样,因为我就是复制粘贴的,目的在于告诉读这篇文章的人,不同发行版的linux以及FreeBSD下面的X机制都是一样的,都需要这几部分,
很多人可能选择自己安装一个窗口管理器比如fvwm,但是这需要自己配置你自己安装的窗口管理器和你自己安装的应用程序之间的关系,才能让她们很好的接合在一起,
这些开源程序在开发过程中可能使用了不同的图形库,就导致了配置方法的不一致,所以配置起来是比较费事的,
这也是为什么我选择gnome的原因,因为这个项目下面的程序给予相同的图形库,并且已经有开发人员进行了相关的配置,所以我拿过来就能使用了。
至于kde,由于qt的版权问题,我就不打算使用了。