日期:2014-05-16  浏览次数:21071 次

什么是X window?
用了好久的Linux,竟然不知道什么是X   window。
我想知道什么是X   window   ,还有GTK   与X   window   有关系吗?谢谢。

------解决方案--------------------
X Window是UNIX_Base操作系统的窗口程序, 独立于操作系统, 属于上层API.
采用C/S结构设计并开发, 服务器端是X服务器, 客户端就是我们在X下用的应用程序.

GTK是X下的一个图形库, 用C语言开发的, 你可以理解为类似Windows下的Platform SDK, 包含大量控件和图形方面的接口. 他们的共同点就是大量使用CALLBACK回调函数.

X和GTK是通过framebuffer联系的, 可以理解为共享内存. GTK把内容写到framebuffer, X负责在设备上显示.

我自己的理解就这么多了, 相关资料很多, 你可以搜搜看.
------解决方案--------------------
简单来说,与Windows不同,Linux下的窗口绘制与窗口样式是分开的。

Xwindows提供Linux下与窗口有关的绘图能力和键盘/鼠标输入能力。
但窗口没有标题,菜单,不能移动,看上去只是一个方块,为什么?因为没有东西画上去。

WindowManager就是用来画窗口标题、菜单,相应鼠标动作提供窗口移动,放缩等功能的组件。

与Windows相比,屏幕上象摸象样的窗口有了,但桌面上“我的电脑”和任务栏怎么办?回答是桌面管理器。

也就是说,Linux下的图形界面由以下3个模块组成:
XWindows(内部还可以再分成服务器,客户端,协议等)
WindowManager
DesktopManager

对应的常用软件为:
Xfree86
Enlightenment
GNome

GTK是GNOME的开发库