X Window System(X11)
于是,X 系统仅由三部分组成,X Server,X Client,X Protocol。我在前面聊互联网发展史和其背后的哲学时,涉及到 “网络最初是基于对等通信,逐步走向内容提供和消费”,而 X 系统在此过程中,从早期加入 C/S 一族,恰好服务于系统本身,也就是说,它是系统的组成部分,于是,X 视角下的整个网络就是一台分布式处理机。典型的场景,Windows 主机的显示器坏了,需要换一台显示器,
2006 年那会儿接触 Linux,觉得 X 系统非常有意思,为研究它我还让老婆利用吉大日语系的打印机打印了很多网页,晚上回去看。
Linux 桌面竟然可以运行在别的机器上,这和我们理解的完全相反。
比如现在的移动互联网云时代,手机上各种 App 其实只是一个显示和渲染,计算都在远程的云上完成,X 系统则是计算在分布不同位置的主机上进行,显示和渲染则在一台 X Server 上完成。而且很容易展示这个过程。
一般情况下,我们在操作 Linux 桌面时,X Server 就在本地,所以没能看到 “显示在远处” 的效果,为了显示这个效果,只需要在 Linux 主机上安装一个 X 程序,比如 xeyes,然后配置 DISPLAY 环境变量 DISPLAY=192.168.56.1:0,意思是图形显示器在 192.168.56.1 上:
评价时间。
X 系统是一个根于网络的设计,它把网络视作其基础运行环境(没有网络活不了,哪怕 127.0.0.1 都行),这种设计使得 X 系统非常适合分布式计算环境,特别是在早期网络资源有限的情况下,X 系统通过 C/S 模型实现了高效的远程图形显示。
我在前面聊互联网发展史和其背后的哲学时,涉及到 “网络最初是基于对等通信,逐步走向内容提供和消费”,而 X 系统在此过程中,从早期加入 C/S 一族,恰好服务于系统本身,也就是说,它是系统的组成部分,于是,X 视角下的整个网络就是一台分布式处理机。
X 系统的核心功能尽可能简单,将复杂的图形操作(如窗口管理,渲染等)交给外部工具或库(如 Xlib,XCB,窗口管理器)。极简主义使得 X 系统高度模块化,易于扩展和定制,开发者可以根据需求选择不同的工具和库。
于是,X 系统仅由三部分组成,X Server,X Client,X Protocol。X Protocol 沟通 X Server 和 X Client,理论上,世界的所有主机都可以共享同一个显示主机,正如世界上所有主机都可以渲染同一台服务器的计算结果一样,网络就是计算机,X Server 是显示器,X Client 是主机,X Protocol 是 VGA/HDMI/DP。
X 系统遵循 Unix 哲学中的 “单一职责原则” 和 “组合小工具” 思想,每个组件只负责一个功能,通过组合实现复杂的功能。这种思想是自然而然的,而后来 Windows 的 Kernel 显示逻辑才是异端,只是我们已经习惯了,也就成自然了。
典型的场景,Windows 主机的显示器坏了,需要换一台显示器,而 X 系统可以直接显示到别人的显示器上,Windows 的窗口系统崩了,系统就崩了,X 系统只需要重启进程。X 系统多数情况下只是借用暂居 127.0.0.1 罢了。
十年没摸 Windows 系统,重新拾起操作不顺,屡次点击叉号就把程序给关了,甚至来不及保存状态,屡次装完组件需要重启生效,让我不敢开太多程序,我不知道什么时候才能装完,也许永远也装不完。Windows 的 vbox 内部网络两台 Linux 虚拟机互相 ping,时延 mdev 竟然有 5~10ms,同样配置的机器,Macos 的 vbox 环境 mdev 只有 < 2ms。真的,Windows 能用,在专业和技术角度看,差点意思。
浙江温州皮鞋湿,下雨进水不会胖。
更多推荐



所有评论(0)