为啥图形窗口接口要称为 X 呢?因为就英文字母来看 X 是在
W(indow) 后面,因此,人们就戏称这一版的窗口接口为 X
,有下一版新窗口之意
X系统由3个相关的部分组合起来的。
服务端(Server)
Server是控制显示器和输入设备(键盘和鼠标)等硬件的软件。
它负责检测具体那个设备有什么动作,如键盘按下、鼠标滑动,但它不能将这些动作转化为绘图数据。
它还负责 设备发出动作以后,到底该如何显示。
客户端(Client)
Client的主要工作是接受服务器传来的动作,将其转化为绘图数据,再将这写数据送去服务端。
Server和Client之间的通信
Server和Client通信的方式大致有两类,对应于X系统的两种基本操作模式。
第一类,Server和Client在同一台机器上执行,它们可以共同使用机器上任何可用的通信方式做互动式信息处理。在这种模式下,X可以同其他传统的视窗系统一样高效工作。
第二类,Client在一台机器上运行,而显示器和Server则在另一台机器上运行。因此两者的信息交换就必须通过彼此都遵守的网络协议进行,最常用的协议为TCP/IP。这种通信方式一般被称为网络透明性,这也几乎是X独一无二的特性。
用windows 远程访问 linux时
windows作为通常的c端,需要装x系统中的 x server。
我们在 Windows
中将鼠标向右移动时,首先,X server 会侦测到鼠标移动,但是他不知道应该怎么绘图!他将鼠标这个动作告知 linux 下的X Client, X
Client 就会去运算,得到其实要将鼠标向右移动几个位素的,然后将这个结果告知 X server , 接下来,您就会看到 X Server
将鼠标向右移动了。
X Window Manager:特殊的 X Client ,负责管理所有的 X client 软件
刚刚前面提到,X
Client 的主要工作是将来自 X Server 的数据处理成为绘图数据,再回传给 X server
而已, 所以 X client 本身是不知道他在
X Server 当中的位置、大小以及其他相关信息的。这也是上面
我们谈到的, X client
彼此不知道对方在屏幕的哪个位置啊!为了克服这个问题,因此就有 Window
Manager (WM, 窗口管理器) 的产生了。 窗口管理器也是 X
client ,只是他主要在负责全部 X client
的控管,还包括提供某些特殊的功能,例如:
提供许多的控制元素,包括任务栏、背景桌面的设定等等;
管理虚拟桌面 (virtual desktop);
提供窗口控制参数,这包括窗口的大小、窗口的重迭显示、窗口的移动、窗口的最小化等等。
我们常常吩到的 KDE, GNOME, XFCE
,都是一些窗口管理器的项目。
linux X window system
时间: 2024-11-01 21:24:32
linux X window system的相关文章
X Window System介绍
1.概述 X Window System是1984年由麻省理工学院(MIT)和DEC公司共同开发研究的,是执行在UNIX系统上的视窗系统.严格地说,X Window System并非一个软件,而是一个协议,这个协议定义一个系统成品所必需具备的功能(就如同TCP/IP.DECnet或IBM的SNA,这些也都是协议,定义软件所应具备的功能).能满足此协议及符合X协会其它规范的系统便可称为X.X Window System独有的网络通透性(Network Transparency),使其成为UNIX平
关于linux挂载window下共享文件
关于linux挂载window下共享文件的方法: ①事先建立linux下文件夹,例如" /mnt/linux-folder" ②用mount命令挂载 mount -o username=windows下共享文件的访问用户名,password=windows下共享文件的访问密码 //ip/windows下共享文件名 /mnt/linux-folder 还有要实现开机时自动挂载这个共享,具体再调查试试 http://blog.csdn.net/Kendiv/article/details/
VMware中linux与window文件夹共享
在虚拟机下来实现在windows下共享一个文件夹: (前提已安装完成vmtools:http://blog.csdn.net/pipisorry/article/details/21318931) 打开VMware->工具栏->虚拟机->选择 设置->选项 共享文件夹 点添加,按提示来添加一个windows下的文件夹.在/mnt/hgfs下就是你在windows下共享的文件夹了 不行的话直接将文件(夹)从linux拖曳到windows桌面上(文件夹中不能包含快捷方式) 两台wind
Samba实现Linux与Window文件的传输
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. Windows向Linux传输文件 01.Windows上建立共享目录Linux上登录 smbclient -L //192.168.1.105 -U mvp #查询共享目录 smbclient //1
(原创)Linux跟Window共享文件的两个简单方法
第一中种方法: Linux中启动shell,输入如下命令: mount -t cifs -o username="my-pc-name",password="my-password" //my-ip-addr/sharefolder /mnt/my-linux-sharefolder 回车,ok. 第二种方法: 1. linux的/etc/smb.conf备份,然后touch smb.conf一个新文件. 2. vi smb.conf如下: [global] wor
linux挂载window共享目录
环境: 1.windows 7主机 IP:192.168.80.1 共享文件夹:E:\windowgx 2.Linux:RedHat 5.6(虚拟机安装) IP:192.168.80.141 步骤: 1.设置windows共享文件夹并检查是否可用,本机运行\\127.0.0.1查看本机共享 2.在windows上添加用户abc/123456 3.Linux下挂载共享文件夹 mount //192.168.80.1/windowgx /mnt -o username=abc,password=12
用KGdb和VMware调试Linux内核,System Call
Linux的内核和System Call不好调试,参考这里: http://stackoverflow.com/questions/5999205/cannot-step-into-system-call-source-code 简单来说,如果想在本机调试system call,那么当你进入system call时,系统已经在挂起状态了,那么它又怎样能响应用户的输入? 所以,有一个UML(http://user-mode-linux.sourceforge.net/)的方式,把内核当成一个进程启
linux下代替system的基于管道的popen和pclose函数
linux下使用system需要谨慎,那么代替它的方法是什么呢? 标准I/O函数库提供了popen函数,它启动另外一个进程去执行一个shell命令行. 这里我们称调用popen的进程为父进程,由popen启动的进程称为子进程. popen函数还创建一个管道用于父子进程间通信.父进程要么从管道读信息,要么向管道写信息,至于是读还是写取决于父进程调用popen时传递的参数.下在给出popen.pclose的定义: 01 #include <stdio.h> 02 /* 03 函数功能:popen(
13 X window system 学习浅记
一.X window system:指通过图形接口(Graphical user interface,GUI)操作;那么为甚图形窗口接口成为X呢?因为英文字母X在W(window)后面,故人们就戏称这一版接口为X啰(下一版新窗口之意). 1.定义: a.在 Unix Like 上面癿图形用户接口 (GUI) 被称为 X 戒 X11: b.X11 是一个『软件』而不是一个操作系统: c.X11 是利用网络架构来进行图形接口的执行不绘制: d