X Window是一种以位图方式显示的软件窗口系统,最初是1984年麻省理工学院的研究成果,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。X Window通过软件工具及架构协议来建立操作系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他操作系统上,几乎所有的操作系统都能支持与使用X Window,GNOME和KDE也都是以X Window为基础建构成的。X Window向用户提供基本的窗口功能支持,而显示窗口的内容、模式等可由用户自行定制,在用户定制与管理X Window系统时,需要使用窗口管理程序,窗口管理程序包括AfterStep、Enlightenment、Fvwm、MWM和TWM Window Maker等,供习惯不同的用户选用。可以定制的窗口环境在给用户带来了个性化与灵活性的同时,要求用户有相对比较高的使用水平,不过这种机制带来的好处也是明显的,它不象Microsoft Window那样将窗口元件的风格、桌面、操作方式等千篇一律地规定死,只可以换一下墙纸、图标、调整字体大小等等,在X Window系统中可以有多种桌面环境的选择。

基本部件X系统由3个相关的部分组合起来的。服务端(Server)Server是控制显示器和输入设备(键盘和鼠标)的软件。Server可以创建视窗,在视窗中绘图和文字,回应Client程序的“需求”(requests),但它不会自己完成,只有在Client程序提出需求后才完成动作。每一套显示设备只对应惟一的Server,而Server一般由系统供应商提供,通常无法被用户修改。对操作系统而言,Server只是一个普通的用户程序而已,因此很容易更换新版本,甚至更换成第三方提供的原始程序。客户端(Client)Client是使用系统视窗功能的一些应用程序。在X下的应用程序称做Client,原因是它是Server的客户,要求Server回应它的请求完成特定动作。Client无法直接影响视窗行为或显示效果,它们只能送一个请求(request)给Server,由Server来完成这些的请求。典型的请求通常是“在某个视窗中写‘Hello World’的字符串”,或者从A到B划一条直线。Client的功能大致可分为两部分:向Server发出“需求”只是它的一部分功能,其他的功能是为用户执行程序而准备的。例如输入文字信息、作图、计算等等。通常,Client程序的这一部分是和X独立的,它对于X几乎不需要知道什么。通常,应用程序(特别是只大型的标准绘图软件、统计软件等)对许多输出设备具有输出的能力,而在X视窗中的显示只是Client程序许多输出中的一种,所以,Client程序中和X相关的部分只占整个程序中很小的一部分。用户可以通过不同的途径使用Client程序:通过系统提供的程序使用;通过第三方的软件使用;或者用户为了某种特殊应用而自己编写的Client程序来使用。通讯通道 (communication channel)client藉著它送 "需求" 给server,而server藉著它回送状态 (status) 及一些其它的资讯 (information)。只要 client 和 server 都知道如何使用通道,通道的本身并不是很重要,在系统或网路上支援通讯型态的需求是内建於系统基本的X视窗函数馆(library),所有和通讯型态有关的事都从函数馆独立出来,client和server之间的通讯只要藉著使用这函数馆(在标准X版为xlib)。Server和Client之间的通信Server和Client通信的方式大致有两类,对应于X系统的两种基本操作模式。第一类,Server和Client在同一台机器上执行,它们可以共同使用机器上任何可用的通信方式做互动式信息处理。在这种模式下,X可以同其他传统的视窗系统一样高效工作。第二类,Client在一台机器上运行,而显示器和Server则在另一台机器上运行。因此两者的信息交换就必须通过彼此都遵守的网络协议进行,最常用的协议为TCP/IP。这种通信方式一般被称为网络透明性,这也几乎是X独一无二的特性

x-window简介相关推荐

  1. BOM中window简介

    一.BOM-window简介 ①window.location.href和window.location.assign均可跳转页面,支持回退 ②window.location.replace可以跳转页 ...

  2. 如何通过cmd怎么打开计算机管理

    如何通过cmd怎么打开计算机管理 适用平台:window 简介 如何才能让别人以为你是电脑高手呢?在很多人的眼里,能够在电脑上使用黑窗口进行命令操作的人就让人觉得很厉害,本期就给大家介绍如何通过简单的 ...

  3. 兄弟连Linux在线课堂:第1讲 Linux应用与发展

    大家好,我是李明,Linux爱好者,我计划推出一套Linux学习的在线课及视频教程,课程内容主要针对Linux初学者,大概每周一讲,差不多在春节前完成Linux基础入门与系统管理部分,总计分为十讲,内 ...

  4. 前端:JS/24/BOM和DOM简介,for...in循环遍历,window对象的属性和方法,延时器,定时器,screen屏幕对象,location地址栏对象,history历史记录对象

    BOM 和DOM简介 BOM ,Browser Object Model ,浏览器对象模型: BOM主要提供了访问和操作浏览器各组件的方式: 浏览器组件:window(浏览器容器), location ...

  5. linux 图形用户界面 x window system 简介

    X window 是Unix/Linux系统上的图形用户界面,一个Linux的发行版,比如说Ubuntu,都是Linux内核加上图形用户界面(比如GNome,KDE)再加一堆应用软件组成的.所以说x ...

  6. JavaScript浏览器window对象→简介、消息对话框、计时器、history、打开新窗口及模式showModalDialog、location、navigator、screen、窗口位置尺寸

    window对象 alert消息提示对话框 confirm消息确认对话框 prompt互动对话框 计时器 setInterval周期计时器 setTimeout延迟计时器 window.history ...

  7. Javascript第五章DOM简介和window对象第一课

    更多免费教学文章请关注这里 ECMAScript参考:https://blog.csdn.net/qq_30225725/article/details/88621180 Javascript第五章w ...

  8. window.showModalDialog 简介

    基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来创建一个显 ...

  9. Window对象简介

    Window对象是JavaScript层级中的顶层对象. Window对象表示一个浏览器窗口或一个框架,它在<body>或<frameset>出现时被自动创建. Window对 ...

  10. Window.open简介

    一.方法介绍 Window.open():打开一个新窗口 四个参数: URL 可选.打开指定的页面的URL.如果没有指定URL,打开一个新的空白窗口 name 可选.指定target属性或窗口的名称. ...

最新文章

  1. NeHe OpenGL教程 第二十三课:球面映射
  2. *LeetCode--Add Two Numbers
  3. 同一个项目相互调接口_超详细——接口测试总结与分享(一)
  4. Oracle实用技巧
  5. Java反射基础(一)--Class对象获取
  6. 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包。
  7. 异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)...
  8. 深入解读Service Mesh的数据面Envoy
  9. leetcode解题笔记-Summary Ranges
  10. 常见概率分布图表总结
  11. Pytorch 多GPU数据并行(DataParallel)
  12. java离线地图web
  13. 体系结构实验(4)—— Tomasulo算法
  14. 使用Openxal框架开发加速器模型相关的java应用程序
  15. 蛇形字符串、驼峰字符串转换
  16. 几个简单的论文下载方法
  17. 1602 c语言驱动程序,[共享]发一个LCD1602驱动程序(四位数据线)
  18. 详解Vue中使用scope进行样式隔离
  19. 今日学习的关于笔记本电脑和origin绘图的一些
  20. 位运算符和位运算(与,或,异或等)

热门文章

  1. pandas-综合实践
  2. 随机画五角星,空心五角星
  3. 【并发编程】CPU多级缓存与缓存一致性
  4. 平方根倒数速算法(Fast Inverse Square Root)
  5. 熵(entropy)、交叉熵(cross-entropy)
  6. PIC单片机入门_中断系统详解
  7. 教育:时间的质量等于生命的质量
  8. c#winform窗体如何实现数据的保存和读取
  9. 第25章 MySQL ALTER命令教程
  10. Android开发面试题 71道经典题目