CXserver 起源于一个叫 xlab 的录放软件, 它是截取X Server和X Client之间的通讯
记录鼠标相对于窗口的位置和鼠标按钮状态. 然后再模拟并自动播放操作过程. 这种
机制被CXserver用于显示/输入汉字. SUN公司也开发了Solaris上的类似软件. 严格来
说, CXserver应属于外挂式中文平台, 只是它与普通外挂式中文平台截取函数的区别
是它截取函数的位置是在X Server和X Client之间.
CXserver 不是一个真正的X server, 它只不过是处在通常的X Server和应用程序之间
的一个X 协议翻译器. 也就是说, 当客户程序往X Server送请求的时候, 它搜索其
中有关汉字的部分, 并把它翻译成普通X Server可以理解的请求, 使之可以正确地
显示汉字. 另一方面, 当X Server往客户程序送事件的时候, 它把其中的键盘信号
截取下面, 并将其送到chinput, 再把它翻译成相应的键盘信号, 从而达到输入中
文的目的.
CXserver的设计, 是使它模拟一个X Display. 一般情况下, X server 的
DISPLAY 变量是localhost:0.0或者:0.0. 运行了这个CXserver以后, 系统似乎多
出了一个DISPLAY, 缺省情况下DISPLAY=localhost:1.0. 对XServer而言, 它是一
个客户程序, 而对于那些需要显示中文的程序, 它又是一个X Server. 只要在运行
程序之前, export DISPLAY=localhost:1, 程序就能够显示和输入中文. 这种设计
实际完全独立于Xserver和Xlib以及客户程序的设计, 可以极容易地在各种环境下工
作.