|
楼主 |
发表于 2004-7-28 18:04:34
|
显示全部楼层
我知道了
还是动手查资料快,对原理感兴趣的人大概不多.
~/.Xauthority中每一个记录有三个字段
第1个.display name.
第2个.这个display name 使用的协议,常用的为MIT-MAGIC-COOKIE-1
第3个.随机16进制的串,是用来认证的magic code,可以使用命令行mcookie产生这个随机串
工作原理如下所写:
Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就同意连接啦.
观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证 |
|