4K 显示器上的 Gnome + i3wm - 破坏了我在 Gnome 中的 DPI 缩放

4K 显示器上的 Gnome + i3wm - 破坏了我在 Gnome 中的 DPI 缩放

我在 Gnome 3.38 下遇到用户界面缩放问题。我仅在配备 2160p 4K 显示屏的 Dell XPS 15 英寸笔记本电脑的内部显示屏上使用它。带有专有驱动程序的 Nvidia dGPU。 Wayland 被禁用,我正在使用标准 xorg 会话。在安装 i3 窗口管理器之前,gnome-settings 中的 UI 缩放设置按预期工作并应用于所有 UI 元素。今天我安装了i3。由于 i3 的标准配置使所有字体都未缩放且很小,因此我在我的主目录中创建了一个新文件“.Xresources-i3wm”,其中包含以下内容:

Xft.dpi: 192
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb
Xcursor.size: 80

为了让 i3wm 在登录时加载此配置,我修改了 下的 i3-config ~/.config/i3/config,添加了以下行:exec_always --no-startup-id "xrdb -merge ~/.Xresources-i3wm"

这有效,窗口管理器现在在登录时以正确的 *2 缩放启动。

再次登录 Gnome 会话后,UI 的某些元素不再正确缩放。受影响的 Shell 元素包括:Gnome 顶部栏字体大小、按钮字体大小、窗口标题栏字体大小以及 Gnome 应用程序启动器中的应用程序图标字体大小。我还注意到,具有 Gtk+ 外观和感觉的 Java Swing GUI 应用程序无法识别 gnome-settings->Displays 下的“Scale”已设置为 200%。由于“GDK_SCALE=2”被设置为环境变量,它们现在缩放至两倍大小 (400%)。

我可以通过将 Gnome Shell 主题 *.CSS 文件中的字体大小加倍来解决该问题。这修复了顶部栏和应用程序启动器字体,但没有修复 Windows 标题栏上的字体。如果我导出 $GDK_SCALE=1 并使用 Gtk+ 启动 Java 应用程序,我会得到正确的缩放比例,但之后 $GDK_SCALE 会再次自动设置为 2,无论出于何种原因。

发生这种情况后,我重置了 dconf,使用 gnome-tweaks 来回切换主题,来回切换分辨率,重新启动系统几次并使用“xrandr --dpi”设置进行播放。所有这些都没有帮助,看起来 i3wm 和我搞砸了 Gnome 中的 DPI 缩放。这是我现在在 Gnome 下的“xrdb -query -all”的输出:

Xft.dpi: 192
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xcursor.size: 96
Xcursor.theme: Adwaita

我希望有人能帮助我解决这个问题。提前致谢,

尤达

相关内容