认识
在 RandR 出现之前(X11R6.8 版本以前),配置显示器是一场噩梦:
- 静态配置:所有的显示设置(如分辨率、刷新率)都必须在启动 X 服务器之前,在庞大的 xorg.conf 配置文件中静态写好。
- 需要重启:任何更改(比如插上投影仪)都需要重启整个 X 会话。这意味着你必须关闭所有正在运行的应用程序,改配置,再重新登录,效率极低。
- 功能匮乏:对多显示器的支持非常原始和困难。
RandR,Resize and Rotate,作为 X11 协议的扩展的通信协议。RandR 还负责设置屏幕刷新率。RandR 的引入实现了动态、实时、无需中断工作流程的显示配置。
改进
Wayland
Wayland 协议本身不包含 RandR 协议。在 Wayland 体系中,显示管理功能由合成器(Compositor,例如,GNOME Mutter、KDE KWin、……)直接负责。它们会提供自己的 API 和工具(例如 KDE 的 kscreen 框架,或通用的 wlr-randr 工具),但其实现的思想和最终效果与 RandR 非常相似。
参考
Wikipedia/RandR
DeepSeek / RandR 与 XRandR 的区别
DeepSeek / 介绍 RandR