在xwindows体系中,提供界面显示,响应外设操作的是xserver,而运行程序业务逻辑,接受xserver发来的各种事件通知的,是xclient。

当xclient和xserver 在同一台机器上的时候,这种情况下,应用程序调用xclient的接口请求xserver为创建窗口,应用程序可以通过xlib库的过程调用请求xserver创建窗口中子元素,例如滑动条,按钮等。而xserver的作用是提供在屏幕上绘制基础元素的功能,例如填色,画线,画圆等动作,xserver会通过调用底层驱动程序完成这些功能。而xclient通过x协议向xserver发送请求去完成对应的界面操作。

下面是网上一个说的比较清楚的例子:

如果从一台 XP上用Reflection通过 XDMCP 登录到一台 Linux服务器,我们很容易将Reflection当成客户端,而将Linux机器当成服务器。这就完全搞错了。理解了Xwindow的工作原理,这个区别就会很明显。X server 不是指某台机器,而是指一个进程,它负责接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘,鼠标,窗口消息)通知客户程序。比如上面说的Reflection,它其实是才是Xserver,它负责控制那台XP上的显示,Linux机器上的程序,xterm, xxgdb, dtwm(CDE的窗口管理器),……是客户程序。它们通常会使用TCP 6000 号端口连接XP,而XP的6000号端口是由Reflection绑定并侦听的,显然这里Reflection才是Xserver。比如,当你通过telnet 启动Linux机器上的xterm,就会在Reflection 的屏幕上显示一个窗口。实际发生的事情是:xterm 请求连接XP的6000 号端口和Reflection,跟Reflection建立连接,然后xterm请求得到资源,然后xterm 请求在屏幕上显示一个窗口。当在xterm 的窗口里按下”A”键时,Reflection 会把这个事件通知 xterm 进程,然后xterm 会发送数据报,请求Reflection, “请在坐标(100,30)处显示一个字母A,然后在后面显示一个矩形作为光标。” 这样xterm 窗口里就会多显示一个字母。至于KDE和Gnome,他们是桌面系统不是Xwindow,他们只是一些运行在Xwindow上的程序,他们发出要显示什么东西的请求,比如要在桌面底部显示一个面板、在桌面显示些图标。

http://blog.sina.com.cn/s/blog_4e415c0b0100lulu.html

什么是xserver和xclient相关推荐

  1. Windows下运行XServer,XServer和XClient

    一 XServer和XClient X windows,笼统的称为X,是一种位图显示的视窗系统,是建立图形用户界面的标准工具包和协议.X 是协议,不是具体的应用程序.X 为GUI环境提供了基本的框架: ...

  2. xhost和XServer相关概念汇总

    1. xhost 控制什么人可以访问当前主机上的增强 X-Windows. 语法:xhost [ + | - ] [ Name ] 2. xhost 是用来控制X server访问权限的. 通常当你从 ...

  3. XServer基本概念 + x11vnc配置远程桌面

    前言 读研发论文难啊,之前所有的blog都写在了自己的笔记本上,因为觉的写的太好了浪费时间,自己可以看懂就够了,但是白岩松老师的"机会大多数取决于别人背后怎么评价你"和雄子的&qu ...

  4. Linux的XServer

    linux本身没有图形界面,linux现在的图形界面的实现只是linux下的应用程序实现的:          图形界面并不是linux的一部分,linux只是一个基于命令行的操作系统,linux和X ...

  5. KDE与GNOME的起源与发展

    在介绍KDE和Gnome之前,我们有必要先来介绍UNIX/Linux图形环境的概念.对一个习惯Windows的用户来说,要正确理解UNIX/Linux的图形环境可能颇为困难,因为它与纯图形化Windo ...

  6. linux opengl 实例,一篇文章入门Ubuntu的OpenGL开发

    因为有点小野心,想写个可以在Linux下跑的渲染库,于是就费了点功夫研究Ubuntu下OpenGL的开发.但是,由于完全没有Ubuntu下开发的经验,遇到了各种问题,折腾了一阵子,总算是有点收获,写篇 ...

  7. windows7远程linux,用XManager在Windows7下远程桌面连接Linux

    用XManager在Windows7下远程桌面连接Linux XManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Lin ...

  8. 在 Windows 下远程桌面连接 Linux - XManager 篇

    XManager是一个简单易用的高性能的运行在Windows平台上的X-Server软件,而Gnome和KDE就是X-Client,Linux下的X-Server则为Xorg.它能把远端Unix/Li ...

  9. startx 及xinit 介绍

    X-server管理鼠标.键盘.显卡.显示器 X-client处理程序的运行 ------------------------------------------------------------- ...

  10. startx 及xinit 介绍(经典)

    X-server管理鼠标.键盘.显卡.显示器 X-client处理程序的运行 ------------------------------------------------------------- ...

最新文章

  1. HTML5 离线存储之Web SQL
  2. 【代码笔记】iOS-获得设备型号
  3. PMCAFF微课堂|前codefollow运营女神:深剖女性社群电商的心理需求和特征
  4. Java上机操作练习题-助力期末
  5. 从产品展示页面谈谈Hybris系列之二: DTO, Converter和Populator
  6. 【Elasticsearch】Elasticsearch 理解mapping中的store属性
  7. windows下编译c语言文件路径,解决JNI在Windows环境下因长路径导致编译失败问题
  8. 腾讯校园招聘笔试 2019-8-17 第三题
  9. 【声明】前方不设坑位,不收费!~ 我为NET狂官方学习计划
  10. next主题配置文件解读
  11. 转载-计算机基础教程之屏蔽软件联网
  12. Matlab 并行代码
  13. C#文件操作——文件、数据流与注册表
  14. 汽车CAN通信基础知识-Java之Socket通信实战
  15. Linux下Apache服务的部署和配置
  16. MFC+opencv实现摄像头的打开与关闭
  17. HTML练习—东风破
  18. C#:今日上机问题描述:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。
  19. 人工智能里的数学修炼 | 隐马尔可夫模型:基于EM的鲍姆-韦尔奇算法求解模型参数
  20. 【无人机】【2017.06】无人机应用于风力涡轮转子叶片超声无损检测的可行性研究

热门文章

  1. 计算机网络系统承接查验,智能化系统承接查验.doc
  2. Linux下安装vim命令
  3. MAML小样本学习算法解读及基于飞桨的代码实现
  4. PHP开票接口,云增值税发票API详情
  5. axios的简单封装处理
  6. 湖北省疫情数据可视化分析
  7. linux中sendto函数路径,Linux下send、sendto、sendmsg函数分析
  8. x509证书验签方法,支持国密证书
  9. 从苹果供应商看2018年全球电子产业链的中国势力变化
  10. 5G下行候选新波形简介(1)--FBMC、UFMC、GFDM