Ubuntu 22.04.2环境下如何强制Chromium使用正确版本的GTK保存对话框
Ubuntu 22.04.2环境下如何强制Chromium使用正确版本的GTK保存对话框
我之前在Unity/Lightdm环境下也碰到过一模一样的问题——从Debian仓库装的Chromium因为GTK版本不兼容,导致文件选择器完全“变味”,输入文件名直接变成搜索,简直头疼。结合我当时的解决经验,给你几个可行的方案:
先确认问题根源
首先可以先验证一下Chromium当前依赖的GTK版本,打开终端运行:
ldd /usr/bin/chromium | grep gtk
如果输出里同时出现libgtk-3.so和libgtk-4.so,那就实锤是版本混搭导致的冲突了。
方案一:临时强制GTK3启动Chromium
直接在终端用环境变量指定Chromium使用GTK3,运行以下命令试试:
GTK_USE_PORTAL=0 GTK_BACKEND=gtk3 chromium
如果这个命令能让文件选择器恢复正常,说明问题确实是GTK版本不匹配导致的。
方案二:修改桌面快捷方式,永久生效
每次开终端启动太麻烦,我们可以修改Chromium的桌面快捷方式,让它每次点击图标都用GTK3启动:
- 找到Chromium的.desktop文件,一般路径是
/usr/share/applications/chromium.desktop(系统级)或者~/.local/share/applications/chromium.desktop(用户级) - 用文本编辑器打开它,找到所有以
Exec=开头的行(一般有3-4行,对应不同的启动模式) - 把每行的
chromium %U前面加上环境变量,比如改成:Exec=env GTK_USE_PORTAL=0 GTK_BACKEND=gtk3 chromium %U - 保存文件后,重启Chromium就能生效了。
方案三:更换为适配Ubuntu Unity的Chromium版本
如果你用的是Debian仓库的Chromium,它可能默认编译为优先支持GTK4,而Unity是基于GTK3的桌面环境,天然存在兼容性问题。可以考虑换成Ubuntu官方适配的版本:
- 先卸载当前的Debian版本Chromium:
sudo apt remove --purge chromium chromium-browser sudo apt autoremove && sudo apt clean - 安装Ubuntu官方的Chromium(22.04默认是Snap包,对Unity的兼容性更好):
如果你不想用Snap,也可以添加第三方PPA获取Deb版本的GTK3适配版,比如:sudo snap install chromiumsudo add-apt-repository ppa:saiarcot895/chromium-beta sudo apt update && sudo apt install chromium-browser
补充一下:你遇到的“输入文件名变成搜索”,本质是GTK4文件对话框的默认行为(即时搜索)和GTK3传统输入框的差异,强制Chromium用GTK3就能回到你熟悉的操作逻辑啦。
备注:内容来源于stack exchange,提问作者Dave Ankin
相关产品推荐
相关产品推荐

