Xming基于Cygwin/X,最重要的区别是它用MinGW交叉工具链重新构建,可以“原生”地运行于Windows系统中,脱离了对Cygwin项目的UNIX模拟层(cygwin1.dll)的依赖,全称叫“Xming X Server for Windows”。Xming旧版本采用GPL授权,代码托管地址 https:///projects/xming上,最近为2016年8月发布的6.9.0.31,新的版本已停止GPL授权。新版的主页 http://www./XmingNotes,是一个开发者个人网站,作者期望给予项目捐赠才允许下载新版本。
Xming十分小巧,完全安装也仅占约9MB空间。 xming界面
vcXsrv
vcXsrv基于X.Org Server,另有说法是基于Xming的老版本,因Xming新版本已停止GPL授权,vcXsrv图标及关闭提示等多处与Xming相同。vcXsrv最大特点是,它是切换到Windows本地使用Visual C++ 或 Visual Studio构建,自由开源,开发活跃,代码托管地址 https:///projects/vcxsrv。
X Client和X Server的直接通信是不加密的,我们通过终端经由ssh远程登录Linux主机时,可以顺手利用ssh的X11转发(X11 Forwarding)功能,可以减小对配置的修改,也使得运行X Client程序更加安全。远端主机上X Client程序的绘图请求数据,也会被ssh服务器一并转发回来,ssh客户端根据配置的显示器,再交给指定的X Server处理。远端主机并不需要定义或修改DISPLAY环境变量,尽可能降低对其他用户、其他程序的影响。
在ssh客户端和服务端,均需要设置“X11Forwarding yes”,ssh客户端还需要指定 x display,同远端主机DISPLAY环境变量意义一致。图形界面的ssh客户端,设置操作更为简单。 putty中设置X11转发
总结
xeyes程序跑通了以后,Cygwin中其他X应用程序都是一样的过程,WSL2中的X应用程序也可以和Xming配合着跑,甚至把GTK、KDE这样的桌面环境也可以都跑起来。WSLg更进一步,专门做了一套“WSLg System Distro”专门跑X Server,把X应用程序的图形窗口“无缝”地集成到Windows桌面环境,详见WSLg:为WSL增光添彩。