X window 初体验

 

X server 与 X client

 

X window中最大的特色莫过于server与client模式了。他属于C/S结构,但又和我们常见的C/S结构不同,恰好颠倒过来了。如ftp服务,ftp服务器提供服务,ftp客户端则向服务器端发起连接、使用服务。而在X window中,服务器端只是负责显示,真正的服务是在客户端运行的。

X window的组成可以分为X server、X client、X protocol三部分。

X server主要控制输入输出,维护字体,颜色等相关资源。它接受输入设备的输入信息并传递给X client,X client将这些信息处理后所返回的信息,也由X server负责输出到输出设备(即我们所见的显示器)上。而server于client之间的通信规则就是第三部分X protocal了。

X server传递给X client的信息称为Event,主要是键盘鼠标输入和窗口状态的信息。X client传递给X server的信息则称为Request,主要是要求X server建立窗口,更改窗口大小位置或在窗口上绘图输出文字等。X client主要是完成应用程序计算处理的部分,并不接受用户的输入信息,输入信息都是输入给X server,然后由X server以Event的形式传递给X client。X client对收到的Event进行相应的处理后,如果需要输出到屏幕上或更改画面的外观等,则发出Request给X server,由X server负责显示。


 

让对方的gvim程序在我的机器上显示

 

通常情况下X server与X client都在同一台电脑上运行,但是X window的优秀设计使得他们两者可以很容的分拆在两台电脑上。

假设局域网内有两台电脑,当前登录的这台叫local-a(可以是windows也可以是linux,windows需要安装xmanager等类似工具,下面假设local-a为linux进行实验),另一台想远程登录的叫remote-b(linux)。现在想让remote-b上的gvim程序在local-a上显示。那么根据X window的C/S模式,local-a属于server端,remote-b属于client端。

首先 ,因server端是默认是关闭TCP连接的(基于安全考虑),所以两台PC间连时需要打开TCP连接。

找到gdm.conf(ubuntu下默认是gdm.conf-custom),将里面的

DisallowTCP=true

改为

DisallowTCP=false

并重启X

其次 ,在server端,增加remote-b的访问权限

xhost + remote-b-ip

再次 ,使用ssh登录到remote-b机器上,设置环境变量

export DISPLAY=local-a-ip:0

最后 ,所有准备工作都已搞定,此时在连到remote-b的终端里输入gvim即可。此时你就看到remote-b上的gvim就在local-a上跑起来了!

 

Happy yourself!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值