首页 > 系统相关 >X Windows的理解

X Windows的理解

时间:2023-06-11 19:56:43浏览次数:41  
标签:Windows window client xx 理解 Linux server

X Windows的理解

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

x window可以理解为操作系统的GUI程序,这个程序接管了键盘、鼠标、显示器、显卡。
你在屏幕上看到所有的窗口、图片、文字都是由它绘制的,鼠标键盘等事件也是由它处理和分发。

x window system

可以分为如下三部分

  1. 1. x client

    2. x server

    3. x protocol

x window是采用C/S结构设计的。

x server是服务器,处理x client发过来的请求,并将结果返回给clients,它们之间的数据交互格式是由x protocol规定。
x server管理了键盘、鼠标、显示器、触摸板、显卡等I/O设备,所有窗口、文件和图片都是由x server绘制的。   例:键入一个字母G,x server得到这个事件后,会将该事件转发给对应的程序(假使此时对应的应用程序就是某一个client),client接收到事件后,需要显示这个字母,然后就会发一个请求给x server,要求在xx,xx地方显示一个大小为xx颜色为xx,字体为xx的字母,x server收到请求后,就按照要求把字母c画出来了。

x window system 使用C/S结构设计的优点

 

 

  1. 资源统一管理,方便共享。由于x server接管了硬件,client不需要直接使用。x server方便获得输入事件,主动发给各个client。

  2. 远程显示。一般来说server和client是在同一台电脑上,但是也可以不在不同网络的不同电脑上。这样即使你远程登录,也可以在本机上显示远程端的程序。

  3. 采用C/S,clinet和server可以解耦。client可以采用任意语言开发,只要符合x protocol要求就可以了。

 

在X Windows基础上开发图形应用程序的时候,是不需要自己发请求给x server的

 

  看下图:

client请求过程


  xlib封装了交互内容的打包和解包等操作
  x toolkit实现很多常用的组件,比如说GTK+,QT就是很流行的x toolkit。
  所以平时开发应用的时候,只需要使用QT等就可以了,无需理会x server等存在。

标签:Windows,window,client,xx,理解,Linux,server
From: https://www.cnblogs.com/cnhk19/p/17473461.html

相关文章

  • 最新版 Adobe2023 全家桶 for Windows 直装版
     Adobe2023全家桶直装版更新日期2023-06-11,包含:AdobeIllustrator、AdobeAcrobatProDC、AdobePremierePro、AdobeAudition、AdobePhotoshop、LightroomClassic、AdobeAfterEffects、AdobeInDesign、AdobeBridge、AdobeAnimate、AdobeMediaEncoder、AdobeInCopy......
  • Burp Suite Professional / Community 2023.6 (macOS, Linux, Windows) - Web 应用安
    BurpSuiteProfessional/Community2023.6(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023/,查看最新版。原创作品,转载请保留出处。作者......
  • 打开Windows测试模式
    0概述为了在发布前测试Windows驱动,需要在本地计算机上做验证,就需要打开Windows“测试模式”,即TestMode。1步骤关闭“安全启动”,即secureboot;打开“测试模式”,即testmode;安装驱动1.1关闭“安全启动”(secureboot)首先查看计算机是否已开启secureboot,如果未开启,则直......
  • 彻底理解GPT tokenizers
    彻底理解GPTtokenizers你可能已经听说过GPT这个词,它是一种人工智能模型,可以生成各种各样的文本,比如小说、诗歌、对话、新闻等等。GPT的全称是GenerativePre-trainedTransformer,意思是生成式预训练变换器。生成式表示它可以根据一些输入(比如一个单词或一句话)来创造新的内容,预训......
  • 实现Windows服务并安装,控制
    我们进行Windows编程的时候,经常涉及到Windows服务编程,针对Windows服务我们该怎么编程呢,我们先来实现一个Windows服务并实现之,请见注释代码分析。1./*头文件*/2.#include<windows.h>3./*全局变量*/4.SERVICE_STATUSSplSrvServiceStatus;5.SER......
  • 在 Windows 上运行 Podman: 操作指南
    在Windows上运行Podman:操作指南 在Windows上运行Podman:操作指南https://www.redhat.com/sysadmin/run-podman-windows2021年9月的时候,我写过一篇关于如何在Windows上运行Podman的文章。在那篇文章中,我讨论了为什么你必须设置WSL(WindowsSubsystemfor......
  • 在Windows上无docker直接将基于Solon的jar包通过IDEA部署到Linux的docker上
    为何会选择学习solon?springboot对于我开发小企业应用太重,启动太慢,下班太晚!为何都用windows,还想着不安装dockerdesktop洁癖,运行路径能短就短。步骤(以solon官网的helloword为例)1、下载helloworld代码传送阵:点击我2、通过IDEA打开代码,并运行它(我是下载基于maven版本的)。3......
  • 5.28学习总结thread多线程理解
    多线程早在大二刚来的时候就听王建民老师提到过,但是当时觉得多线程肯定很难,而且现在也用不到,就没有接触。现在看来多线程的学习还是比较简单的。下面演示代码均为PythonfromthreadingimportThreadth=thread(target=,args=())#target指向新线程执行的目标函数,args中......
  • Windows配置Java环境变量(下载、安装、配置环境)
    Windows配置Java环境变量(下载、安装、配置环境)1.进入官网下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html本篇文章使用10.0+版本的2.Windows键+E组合键打开页面(若知道自己的操作系统位数可以跳过)3.根据系统情况进行下载:4.......
  • WGLCOUD简述 - 远程实现重启和关机windows
    WGCLOUD有个功能模块叫做下发指令,可以将关机或重启的指令下发给多个主机执行,使用起来非常简单下发指令同时支持windows主机和Linux主机,其他主机也可以如下,只要选择需要执行指令的windows主机,然后填写指令shutdown-s-t60,再选择执行时间就可以了这个指令标识1分钟后进行关机等执行......