如何在现代Linux发行版禁用X11 backing store测试应用重绘行为?
解决方案:禁用X11 Backing Store以测试Expose事件
一、在Linux Mint 20.2 Cinnamon中禁用Backing Store
可以通过修改Xorg服务器配置实现:
- 创建Xorg配置文件
在/etc/X11/xorg.conf.d/目录下新建99-disable-backingstore.conf文件,写入以下内容:Section "ServerFlags" Option "BackingStore" "off" EndSection - 重启X服务器或系统
可直接重启系统,或在Cinnamon中启用Ctrl+Alt+Backspace快捷键后重启X服务。 - 验证生效
运行目标应用后,用xprop命令点击窗口,查看输出中是否包含BACKING_STORE(INTEGER) = NotUseful;或通过xwininfo -stats查看窗口统计信息,确认Backing Store状态为禁用。
二、支持该操作的现代受支持发行版
几乎所有仍在官方支持周期内、基于Xorg的Linux发行版都支持通过上述配置禁用Backing Store,例如:
- Debian 12(Bookworm)稳定版
- Ubuntu 22.04 LTS及后续版本
- Arch Linux
- Fedora 38及更新版本
只需按照第一步的配置步骤修改对应系统的Xorg配置即可。
三、替代测试环境方案
如果修改当前系统配置有顾虑,可采用以下轻量方案:
1. 嵌套X服务器(Xephyr/Xnest)
使用Xephyr启动一个禁用Backing Store的嵌套X环境:
Xephyr -bs :1
在新终端中设置DISPLAY变量并运行测试应用:
export DISPLAY=:1 ./your-x11-app
2. Docker容器环境
构建或使用包含Xorg的Docker镜像,启动时配置禁用Backing Store,通过X转发运行应用。示例命令:
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm your-x11-test-image
容器内的Xorg配置同样按照第一步的方法设置即可。
内容的提问来源于stack exchange,提问作者Kristian Spangsege
相关产品推荐
相关产品推荐

