用分数HiDPI缩放比例显示在Kate和Konsole中的丑陋水平线


18

这是问题的图片:

在此处输入图片说明

请注意,文本的所有行都有与下划线类似的水平线。但是,这是纯文本编辑器(Kate),并且没有强调。没有格式应用于此文本。

我选择了文字,使线条在照片中显示得更好。但是,即使不选择文本,这些行也存在。有时它们更浓密,更暗。有时它们很轻。有时他们根本不会在那里,只是随机返回。

Konsole有相同的问题。在黑色背景上带有白色文本的情况下,Konsole有时会显示多色的水平线。有时,Konsole中的每一行都有这个丑陋且分散注意力的底线。有时只有一部分行具有它。

有时,行是如此的密集和不堪重负,以致于难以阅读文本。其他时间,线条较温和,如所附照片中所示。

大约十个月前,我在台式机上首次看到此问题。我以为用户在字体设置上做了一些非常疯狂的事情。但是现在我在新笔记本电脑上看到了该问题,而默认设置没有任何重大更改。

两种系统都运行完全更新的Arch Linux KDE。在这台笔记本电脑上,我将所有字体设置(在“系统设置”中)重置为默认值。我还将Konsole配置文件外观重置为默认设置(即使设置已经是默认值)。

但是,水平线不会消失。

这些应用程序可以正常运行(除了有时难以阅读文字)。复制的文本不包含水平线。Konsole中的命令不受水平线外观的影响。这似乎是一个显示故障,但不是特定于任何GPU(影响Intel或nvidia)或任何显示屏(我在台式机上测试了不同的显示器)或其他任何我可以确定的东西。

在过去的十个月中,我在受影响的台式机上尝试了各种修复程序,但我也没有在该计算机上解决它。

我还有其他多台没有问题的Arch KDE计算机。

有谁知道这可能是什么原因的线索吗?还有其他人看到吗?

编辑:请参阅有关Konsole的KDE错误报告:
373232 –具有分数HiDPI缩放比例的水平线


临时解决方案:QT_SCREEN_SCALE_FACTORS=1 konsole。您可以使用此命令创建桌面应用程序链接。
drinor

Answers:


9

据报道,此问题已在QTBUG-66036版本5.12中得到解决。在撰写本文时,Arch Linux上的QT版本为5.11.2-1。其他常见发行版也未发布带有Qt 5.12的软件包。但是,当Qt 5.12发布时,开发人员希望此问题能够得到解决。

要检查您的Qt版本,您可以打开一个终端并输入:

qmake --version

输出将类似于此

QMake version 3.1
Using Qt version 5.11.1 in /usr/lib

当您看到Qt版本5.12时,您可以期待解决方案。如果没有,请通过QTBUG-66036告知开发人员。

同时,有一种解决方法,如下面的错误报告所述。

重现步骤:

  1. 显示->比例->比例因子:1.3(或1.4等)
  2. 重新开始
  3. 打开Konsole或Kate,输入内容

解决方法:将比例因子设置回1.0(或设置为2或3等整数)。

这里有Konsole的类似错误报告

373232 –具有分数HiDPI缩放比例的水平线
https://bugs.kde.org/show_bug.cgi?id=373232


4
这种解决方法在4k + btw上是荒谬的
tomasb

2
是的,我同意这种解决方法很糟糕。期待适当的修复。
BugBuddy '18年

发现整数因子可以很好地工作(例如2.0、3.0等)
tomasb

请在错误报告中添加评论:bugs.kde.org/show_bug.cgi?id=373232
MountainX

3
@tomasb-如果要解决此问题,请考虑创建登录名,以便让开发人员知道它会影响您。如果您懒得这样做,那么您无权抱怨变通方法(或其他任何方法)“荒唐”。如果您使用开放源代码,请即使您仅对错误报告进行投票或评论,也要找到贡献的方法。成为社区的一部分。
BugBuddy

8

升级到Qt 5.12很好,但是似乎不能立即解决该问题。在高级选项卡下的Konsole配置文件设置中,将“行距”更改为1。这为我解决了水平线问题。


必须将其增加到5,但效果很好。谢谢。
User1291

2
Konsole 19.8版中不提供“行间距”选项。
WeKa

1
右键单击>编辑当前配置文件...>外观>其他>行距
ooXei1sh

我最多可以将行距更改为8,但有时仍有行。这根本不是功能性修复,因为间隔破坏了界面。
misantroop

2

解决方法是,您可以更改Fonts DPI

  1. 转到Fonts,选中复选框Force Fonts DPI
  2. 设置为适当的值(我144在2560x1440屏幕上使用,您可能要尝试1924K)
    • 更高的DPI会转换为屏幕上更大的文本
  3. 将显示比例因子设置回1
  4. 注销并登录到您的用户(或重新启动)

此时,水平线应该消失了,您应该能够阅读屏幕上的所有内容


1
这是目前唯一可行的解​​决方案,它还将调整UI元素的比例(不仅仅是字体大小)。专用的“比例显示”功能仍被破坏,并导致多个KDE应用程序使用线条瑕疵进行渲染。
tiguchi

2

另一个解决方法是在“设置”->“编辑当前配置文件...”->“高级”->“终端功能”下将“行距”设置为1。几乎不明显(行之间多了一个像素),但是可以解决此问题。


0

在此处输入图片说明在此处输入图片说明在此处输入图片说明对我来说最好的解决方法是:

  1. 使用Breeze Dark。
  2. 缩放到1.3,1.4,任何您想要的。
  3. 使用GTK替代方案。因为任何基于QT的编辑器都会使该文本呈现故障。
  4. 对于Konsole,我更喜欢Tilix(它对gtk的依赖最少,如5mb)。对于Dolphin终端集成,请遵循https://bbs.archlinux.org/viewtopic.php?id=211524。使用“在此处打开Tilix”服务(您可以从Dolphin配置>服务菜单下载)。只需在家庭中创建一个文件夹,如上述服务文档所述。并从“ KDE设置”>“默认应用程序”中更改默认终端,以便您可以将Shift + F4从Dolphin移入Tilix。
  5. 对于Kate或Kwrite,我更喜欢Gedit或任何IDE,例如Br​​ackets或SublimeText或Atom。

0

遵循Nico关于将系统文本DPI更改为更高的值(例如144、192等)的说明之后,便有一种方法可以再次打开显示比例并使Kate看起来不错。但是,结果在桌面环境之间可能会有所不同。

将您的显示比例设置为所需的分数(我碰巧使用1.5倍)。

您可以QT_SCREEN_SCALE_FACTORS=1为一次对Kate的调用设置环境变量。

QT_SCREEN_SCALE_FACTORS=1 kate

您可以为所有对Kate的调用制作包装脚本

#!/bin/bash
cd $HOME
# Add home binaries directory & cd into it
mkdir -p bin && cd bin
# Symlink Kate executable as kate0
ln -s $(which kate) kate0
# Create the wrapper script
echo '#!/bin/bash' > kate
# This tells Kate to use a 1x scale factor, and to pass all arguments from wrapper
echo 'QT_SCREEN_SCALE_FACTORS=1 kate0 "$@"' >> kate
# Make the wrapper script executable
chmod +x kate

然后确保它$HOME/bin在您的计算机中$PATH。如果不是,则可以通过以下方式添加

export PATH="$HOME/bin:$PATH"

添加它以~/.profile使其永久。

请注意,为了使其正常工作,您的主脚本必须/usr/bin位于$PATH环境变量中原始Kate可执行文件(例如)的路径之前。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.