在 Ubuntu 22.04 下修复 Clash Verge UI 问题
- 笔记
- 1天前
- 7热度
- 0评论
背景
在 Ubuntu 22.04.5 LTS(默认 Wayland 会话)下使用 Clash Verge 2.4.5 时,很多用户会遇到 UI 显示异常的问题,例如:
这是一个 已知的 Wayland + WebKit 渲染兼容性问题,并非 Clash Verge 本身的逻辑错误。
Clash Verge 官方 FAQ 中推荐的解决方案之一是:
禁用 WebKit 的 DMABUF GPU 渲染路径
对应的环境变量是:
WEBKIT_DISABLE_DMABUF_RENDERER=1
本文记录如何在 Ubuntu 22.04.5 LTS 上,将该方案永久写死到 Clash Verge 的启动器中,实现 GUI 启动无感修复。
适用环境
- OS:Ubuntu 22.04.5 LTS
- 桌面:GNOME(Wayland)
- Clash Verge:2.4.5
- 安装方式:
.deb
方案说明
我们采用的是官方的 启动失败:Error 71 解决方案:
WEBKIT_DISABLE_DMABUF_RENDERER=1 clash-verge
但不是每次手动在终端输入,而是:
修改 Clash Verge 的
.desktop启动器,让系统每次启动都自动携带该环境变量
这种方式的优点:
- 不切换系统会话(仍然使用 Wayland)
- 不影响其他应用
- GUI / 搜索 / Dock 启动都生效
- 更新 Clash Verge 不容易被覆盖
具体步骤
1. 找到 Clash Verge 的 desktop 文件
系统级 desktop 文件一般位于:
/usr/share/applications
检查是否存在 Clash Verge:
ls /usr/share/applications | grep -i Clash
通常可以看到:
Clash-verge.desktop
2. 复制 desktop 文件到用户目录(重要)
不要直接修改系统目录下的文件,否则可能在更新时被覆盖。
mkdir -p ~/.local/share/applications
cp /usr/share/applications/Clash-verge.desktop ~/.local/share/applications/
之后我们只修改用户级启动器。
3. 编辑 Clash Verge 启动器
使用文本编辑器打开:
nano ~/.local/share/applications/Clash-verge.desktop
找到 Exec= 行,通常是:
Exec=clash-verge
或:
Exec=clash-verge %U
4. 修改 Exec 行(核心步骤)
将其修改为:
Exec=env WEBKIT_DISABLE_DMABUF_RENDERER=1 clash-verge
如果原本带参数(如 %U),请保留:
Exec=env WEBKIT_DISABLE_DMABUF_RENDERER=1 clash-verge %U
5. 保存并退出
在 nano 中:
- 按
Ctrl + O保存 - 回车确认
- 按
Ctrl + X退出
6. 重新启动 Clash Verge
- 关闭当前所有 Clash Verge 窗口
- 不要用终端启动
- 从 应用菜单 / 搜索 / Dock 启动 Clash Verge
验证方式(可选)
如果 Clash Verge UI 显示正常,说明已经生效。
也可以通过进程查看(非必须):
ps aux | grep clash-verge
原理简述
Clash Verge 的 UI 基于 WebKit / WebView。
在 Wayland + 部分显卡驱动 环境下,WebKit 默认使用 DMABUF(GPU buffer)渲染路径,可能会在创建 GBM buffer 时失败,导致 UI 渲染异常。
环境变量:
WEBKIT_DISABLE_DMABUF_RENDERER=1
会强制 WebKit 使用 软件/兼容渲染路径,从而绕过该问题。
这是 Clash Verge 官方 FAQ 中明确给出的解决方案之一。


