有没有办法修复使用默认 Windows 缩放比例从 WSL(Ubuntu 18.04)运行时 Linux GUI 应用程序中的模糊字体?到目前为止,我尝试过的方法:
使用 Xming:
- 尝试禁用 Windows 缩放并从 Linux 端使用 进行设置
GDK_DPI_SCALE=2.5
,这样做的问题是上下文菜单图标等几项功能无法正常显示,并且通常无法缩放。如果没有GDK_DPI_SCALE=2.5
,应用程序基本上无法使用,因为文本非常小。 - 尝试安装 C:\Windows\Fonts 中的所有字体并
C:\Program Files\Xming\fonts\TTF
运行mkfontscale
,但也无法使其以这种方式工作。 - 尝试使用 VcXsrv,有同样的问题。
截图
- 克莱昂:
- emacs(WSL)与 VS Code(Windows 原生)的比较
我迄今为止查找过的所有资源:
- 为什么使用 Xming 渲染的 WSL GUI 应用程序字体模糊?:这里的答案专门针对基于 Firefox 和 Electron 的应用程序。
- Gnome-Terminal 在 Xming 上模糊不清:除了建议禁用缩放并使用 Xming 以外的其他东西之外,没有任何特别有用的信息。
- 在 4K 屏幕上运行 GUI 程序时出现 DPI 问题:建议使用VcXsrv。
这样做的主要目的是能够从 WSL 运行文本编辑器 (emacs)/IDE (Clion)。而且,我无法安装其 Windows 等效版本的原因是我们只针对 Linux 进行开发。
一些系统细节:
屏幕
4K(3840x2160)-15.6英寸
操作系统
视窗:Windows 10 家庭版 v1803 内部版本:17134.345
西弗吉尼亚海岸:Ubuntu 18.04(
Linux username 4.4.0-17134-Microsoft #345-Microsoft Wed Sep 19 17:47:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
)
答案1
免责声明:以下步骤可能因系统中的实际硬件而异。设置可能会在您的设置中发生变化。
首先,为 X 服务器可执行文件启用高 DPI 设置。关闭该 X 服务器的任何正在运行的实例。打开您已安装 X 服务器的文件夹,例如 VcxSrv、Xming、X410 等。这里我选择D:\MyFolder
VcxSrv 作为示例。打开该文件夹,右键单击vcxsrv.exe
VcxSrv 或Xming.exe
Xming。选择属性 > 兼容性选项卡 > 更改高 DPI 设置 > 启用覆盖高 DPI 缩放 > 更改为“应用程序”(或“系统增强”选项)。以下是更改设置后的屏幕截图:
对文件也执行上述步骤xlaunch.exe
。此更改将添加以下注册表值:
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"D:\\MyFolder\\xlaunch.exe"="~ HIGHDPIAWARE"
"D:\\MyFolder\\vcxsrv.exe"="~ HIGHDPIAWARE"
接下来,覆盖 X11 环境的 GTK+ 设置。这篇 Gnome 文章深入了解环境变量。GDK_SCALE
将按特定因子缩放窗口。GDK_DPI_SCALE
将缩放 DPI 以适应缩放感知应用程序。在 bash(或其他 shell)中使用以下命令启用设置。
export GDK_SCALE=0.5
export GDK_DPI_SCALE=2
根据您的系统更改这些值。现在执行 X 服务器和 X11 程序。这个reddit帖子也有帮助。