这是问题的图片:
请注意,所有文本行都有类似于下划线的水平线。然而,这是一个纯文本编辑器 (Kate),它不做下划线。没有格式应用于此文本。
我选择了文字,以便线条在照片中显示得更好。但是即使没有选择文本,这些线条也存在。有时它们更厚更黑。有时它们很轻。有时他们根本不在那里,只是随机回来。
Konsole 也有同样的问题。对于黑色背景上的白色文本,Konsole 有时会显示多色水平线。有时 Konsole 中的每一行都有这种丑陋且令人分心的下划线。有时只有部分行有它。
有时,线条如此密集和压倒性,以至于难以阅读文本。其他时候线条很温和,如附图所示。
大约十个月前,我在台式计算机上第一次看到这个问题。我认为用户刚刚在字体设置中做了一些非常疯狂的事情。但是现在我在一台新笔记本电脑上看到了这个问题,而默认设置没有任何重大更改。
两个系统都运行完全更新的 Arch Linux KDE。在这台笔记本电脑上,我将所有字体设置(在系统设置中)重置为默认值。我还将 Konsole 配置文件外观重置为默认设置(即使设置已经是默认值)。
但是,水平线不会消失。
应用程序正常工作(除了有时难以阅读文本)。复制的文本不包括水平线。Konsole 中的命令不受水平线外观的影响。这似乎是一个显示故障,但它并不特定于任何 GPU(影响 Intel 或 nvidia)或任何显示屏(我在桌面上测试了不同的显示器)或我能确定的任何其他东西。
在过去的十个月里,我在受影响的桌面上尝试了各种修复程序,但我也没有在那台机器上解决它。
我有多台其他没有问题的 Arch KDE 计算机。
有没有人知道可能导致这种情况的原因?有其他人看过吗?
编辑:请参阅 Konsole 的 KDE 错误报告:
373232 – 带有小数 HiDPI 缩放的水平线
升级到 Qt 5.12 很好,但似乎并不能立即解决问题。在高级选项卡下的 Konsole 配置文件设置中,将“行间距”更改为 1。这为我解决了水平线的问题。
据报道,这已在 5.12 版的QTBUG-66036中得到解决。在我写这篇文章的时候,Arch Linux 上的 QT 版本是 5.11.2-1。其他常见的发行版也没有发布带有 Qt 5.12 的软件包。然而,当 Qt 5.12 发布时,开发人员希望这个问题能够得到解决。
要检查您的 Qt 版本,您可以打开一个终端并输入:
输出将与此类似
当您看到 Qt 版本 5.12 时,您可以期待一个解决方案。如果没有,请通过QTBUG-66036让开发人员知道。
同时,有一种解决方法,如下面的错误报告中所述
重现步骤:
解决方法:将比例因子设置回 1.0(或整数,例如 2 或 3)。
Konsole 这里有一个类似的错误报告
373232 - 带有分数 HiDPI 缩放的水平线
https://bugs.kde.org/show_bug.cgi?id=373232
作为一种解决方法,您可以更改Fonts DPI:
Fonts
,勾选方框Force Fonts DPI
144
在 2560x1440 屏幕上使用,您可能想尝试192
4K)此时水平线应该消失了,您应该能够阅读屏幕上的所有内容
另一种解决方法是在设置 -> 编辑当前配置文件 ... -> 高级 -> 终端功能下将行间距设置为 1。它几乎不明显(行之间多了一个像素),但解决了这个问题。
在按照 Nico 的说明将系统文本 DPI 更改为更高的值(如 144、192 等)后,有一种方法可以再次打开显示缩放并让 Kate 看起来不错。但是,结果可能因桌面环境而异。
将显示比例设置为所需的小数值(我碰巧使用 1.5x)。
QT_SCREEN_SCALE_FACTORS=1
您可以为对 Kate 的单次调用设置环境变量。你可以为所有对 Kate 的调用创建一个包装脚本
然后确保它
$HOME/bin
在你的$PATH
. 如果不是,那么您可以通过添加它以
~/.profile
使其永久化。请注意,为了使其工作,您的主脚本必须位于环境变量中原始 Kate 可执行文件(例如
/usr/bin
)的路径之前。$PATH
对我来说最好的解决方法是: