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。
ps aux|head -1ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ps aux|head -1ps aux|grep -v PID|sort -rn -k +4|head欢迎分享,转载请注明来源:内存溢出
评论列表(0条)