linux(ubuntu)系统什么叫:桌面管理器,窗口管理器?

linux(ubuntu)系统什么叫:桌面管理器,窗口管理器 不理解。求解释

我看到主流桌面有unity/Gnome/KDE/和xface,等等其他的。
他们和compiz/metacity/nautilus等等有什么关系?(层次关系/并列关系)
(为什么有这种疑问呢?答:ubuntu下以前用Gnome2,后来,出了Gnome3,采用unity桌面系统。可以在unity下安装compiz窗口管理器来管理特效,好像意思就是说要是不装compiz的话,窗口就由metacity管理的了,要是禁用compiz的话还要切换回来。记得以前compiz-setting里面可以设置 哪个程序来管理窗口。总之上面的话是我的说法,里面把我自己都说晕了,谁和compiz是并列关系,还有哪些?他们完成了哪些功能?gnome和它又有什么关系?求大婶解释一下,我完全晕着呢。)
回答:
GNOME、KDE、XFCE 叫做 DE 全称是 Desktop Environment,也就是桌面环境。也就是一个整体的环境,包括应用程序、窗口管理器登录管理器,桌面程序,设置界面等等等等。
unity 是一个桌面的界面。提供你看见的那些东西,但窗口的装饰和一些功能控制的相关东西,他不提供,需要 compiz 来提供。

你要知道 Linux是一大堆程序组成的,桌面环境也是如此,其实你看到的 GNOME 的工具条,KDE 的 K 菜单面板,其实都是程序,你的桌面也一样,是一个程序运行提供一个全屏幕的处在最底层的显示,窗口和桌面上的各种面板控件都在他的上一层显示。
窗口管理器,是提供管理窗口显示隐藏,前后和大小的后台程序,这个才是和 X-server 真正进行交互控制的程序(Xorg 是程序,Linux 的是 C/S 结构)。所以 compiz 这个东西可以实现窗口的特效。因为是由他告诉 X ,窗口大小,层次关系和形状的,同时他也告诉被他管理的程序,他们的窗口大小,是否焦点,是否显示隐藏等等的信息。metacity 并不会自己重新绘制窗口外观,只是忠实的体现窗口本身的样子。compiz 会根据特效的设置,自己重新绘制窗口所在位置的图像,告诉 Xorg 服务更多的绘制内容,实现诸如变形,半透明,窗口阴影等等的特效。

你要是想研究桌面,最好去看看 LXDE ,这个东西是极简化的桌面环境,组成很简单。
在我的理解上一般说来,可以工作的图形桌面,至少有一个会话程序,一个窗口管理器,一个面板,一个桌面程序。
会话程序就是保证 X 的正常运行(Xinit 运行他,他就会一直保持运行,直到你选择注销、重启、关机等等),提供启动另外三个或者更多个程序的运行,作为他们的主进程。
窗口管理器就是管理所有平面上显示的东西,没有他就没有办法管理程序哪个是当前操作的窗口,哪个窗口在前,哪个在后,窗口大小,是否隐藏,是否关闭退出。面板就是你看到的哪个显示任务,的东西,没他你就没办法运行程序,提供用户交互。桌面程序就是背景显示,的相关功能。
当然这 4 个东西不一定都要有,但是就像我前面说的,没有的话,那么对应的功能就无法提供了。这些程序也可以整合,不一定非要分成4个,但这 4 部分的功能却是必须要保证的,你可以用各种其他的方式实现。
你可以认为 unity 其实就是这四部分中的面板功能。而不提供窗口管理器的功能,所以需要compiz或者metacity。


你可能感兴趣的:(linux(ubuntu)系统什么叫:桌面管理器,窗口管理器?)