在使用linux的过程中,有时会出现:“Xlib: extension "RANDR" missing on display xxx”的提示信息。一般来说,这个信息是可以忽略的,但是,由于RANDR 扩展的不存在,会导致在使用的过程中无法动态改变屏幕的大小。这在xvnc中几乎是一个通病,除非你用的是如realvnc企业版之类vnc。
那么RandR是什么呢?wikipedia中说道:“The X Resize, Rotate and Reflect Extension (RandR)[2] allows clients to dynamically change X screens, so as to resize, rotate and reflect the root window of a screen.”
使用xdpyinfo就可以查看到x所支持的所有扩展了。我们也可以很明显的看到本机的xserver和xvnc(如tightvnc)的扩展数量是相差很大的。
在xvnc中扩展RandR是一个“卖点”,在realvnc的企业版中,特别加入如下信息:
“
Desktop Scaling
Desktop Scaling to a particular size, by a particular ratio, or dynamically to whatever size you choose.
”
可借,人家不开源。网上也有自己动手的,参考这里。
这篇文章当作一个备忘。刚好我要加入RandR扩展。若真的能够实现,再进行总结。