X窗口应用系统由Xserver和Xcient组成。Xserver监听来自Xclient的图形显示请求,将结果显示于显示设备。
Xclient的显示是否正常输出需要满足以下条件:
1、Xserver的监听打开。
近期的linux一般只打开unix socket端口的监听,不打开tcp的监听。如果要通过TCP网络连接Xserver,必须在Xserver端打开tcp的监听。
Xserver的监听端口规则是:对于 :n:m显示,其监听端口是6000+n,例如,如果把显示设备成 :0.0则其监听端口是6000,如果调成 :1.0 ,则其监听端口是6001。
检查tcp监听端口是否打开可以用以下命令:
netstat -lnp |grep tcp
不同linux版本配置tcp端口是否打的配置文件不一样。
centOS7的配置文件是/usr/share/gdm/gdm.schemas ,其中的一节DisableAllowTCP缺省禁止的tcp监听,把default的变量改成false,然后重启gdm服务就可。
2、Xclient正确设置DISPLAY环境变量
export DISPALY=host:display:screen
3、Xserver允许接收来自client的图形请求
可以利用命令xhost添加被允许的client:
xhost + clienthost
例如:xhost + 192.168.17.111
可以利xhost 不带参数查看被允许的client列表。