如何在禁用覆盖滚动条的主题(如Numix)中强制启用该功能?
强制在Numix主题中启用GNOME覆盖滚动条(含通用方案)
我之前也碰到过Numix主题默认显示旧式滚动条的问题,折腾了几种方法,亲测有效,分享给你:
方法一:全局强制启用覆盖滚动条(通用GNOME方案)
GNOME本身提供了全局设置,可以强制所有应用使用覆盖滚动条,不管主题是否默认支持:
- 打开终端,执行以下命令开启全局覆盖滚动条:
gsettings set org.gnome.desktop.interface overlay-scrolling true - 验证设置是否生效,执行:
返回gsettings get org.gnome.desktop.interface overlay-scrollingtrue就说明设置成功了。
如果部分GTK3应用还是没生效,可以通过xsettings强制覆盖主题的设置:
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/OverlayScrolling': <1>}"
这个设置的优先级比主题自身的配置更高,能覆盖大部分应用的主题设置。
方法二:修改Numix主题文件(专属彻底方案)
如果全局设置还是被Numix的主题CSS覆盖,直接修改主题文件是最彻底的办法:
- 先确认Numix主题的安装路径:
- 系统级安装:
/usr/share/themes/Numix/ - 用户自定义安装:
~/.themes/Numix/(如果是手动复制到用户目录的)
- 系统级安装:
- 编辑GTK3的CSS文件,以系统级为例,用nano打开:
如果是用户目录下的主题,不需要sudo nano /usr/share/themes/Numix/gtk-3.0/gtk.csssudo:nano ~/.themes/Numix/gtk-3.0/gtk.css - 在文件的任意位置(推荐开头)添加以下CSS规则,强制所有控件启用覆盖滚动条:
* { -GtkOverlayScrolling: 1; } - 保存并退出编辑器(nano按
Ctrl+O回车保存,再按Ctrl+X退出) - 重启GNOME Shell(按
Alt+F2输入r回车)或者注销重新登录,设置就会生效。
小提示:避免主题更新覆盖修改
如果修改的是系统目录下的主题文件,下次Numix主题更新时你的修改会被覆盖。建议先把主题复制到用户目录再修改:
cp -r /usr/share/themes/Numix ~/.themes/
之后修改~/.themes/Numix/下的文件即可,这样系统更新不会影响你的自定义设置。
注意事项
- 对于老旧的GTK2应用,覆盖滚动条的支持本身就不好,可能还是会显示旧式滚动条,这是GTK2的技术限制,暂时没有完美的解决办法,但大部分现代应用都是GTK3/4,不受影响。
- 如果设置后还是没效果,可以尝试重置主题设置后重新应用:
然后注销登录即可。gsettings reset org.gnome.desktop.interface gtk-theme gsettings set org.gnome.desktop.interface gtk-theme "Numix"
内容的提问来源于stack exchange,提问作者ubuntroll
相关产品推荐
相关产品推荐

