Xorg中每个应用程序的窗口缩放,以实现高dpi显示


28

我运行的是带有4k显示器的Gnome Shell,我使用的一些应用程序无法完全实现高分辨率。

这是LMMS的示例,该应用程序尚未移植到Qt 5,因此它不具有高dpi缩放功能:

屏幕截图
(点击图片放大)

是否可以在不更改显示分辨率的情况下缩放特定的X窗口?

我当前的解决方案是显示分辨率的一半,但这会降低其他所有支持正确dpi缩放的应用程序的分辨率:

屏幕截图

Answers:


20

我最终设法找到了一种可扩展旧应用程序的解决方案,而没有任何明显的视觉或性能下降。

多亏了kaueraal,您现在可以使用来扩展旧应用程序run_scaled。如果您正在运行Arch Linux ,则可以从其GitHub页面或通过AURrun_scaled-git获取脚本。

这是两个并行运行的应用程序的示例:

  • 左侧具有HiDPI支持的Firefox
  • LMMS run_scaled在右侧运行

在此处输入图片说明

我通过Arch Linux Wiki发现了此脚本。


在Ubuntu上,您需要安装xpra
Pablo A,

该程序确实非常消耗CPU。
L29Ah

6

如果没有看到您遇到的确切问题,建议您使用

GDK_SCALE=x

要么

GDK_DPI_SCALE=x

在启动每个应用程序之前。您可能必须手动更改.desktop文件或从shell运行,在命令前加上以下命令GDK_SCALE=x

GDK_SCALE只允许整数值,但是 GDK_DPI_SCALE=x允许十进制值,例如GDK_DPI_SCALE=0.66

对于其他基于SDK的应用程序,各个套件可能具有相似的设置。但是,由于您的问题出在gnome桌面上,因此我将提供此解决方案。

我没有尝试使用4k显示器,但是运行GDK_DPI_SCALE=1.66 gnome-calculator会演示该解决方案。

资料来源:https : //developer.gnome.org/gtk3/stable/gtk-x11.html


1
感谢您的回答,但这不适用于Xlib应用程序。
Ho1 2015年

3
谢谢您的回答,但这并不是我真正想要的。我只在不使用GTK3的应用程序中遇到缩放问题。我希望找到可以应用于任何X应用程序的解决方案。
MetaDark

wiki.archlinux.org/index.php/HiDPI提供的信息可能对GTK和非GTK应用程序都有帮助。我会为此提供答案,但是我不想将信息抄录到答案中。
艾玛莉·威尔逊

2

我有一个生成许多窗口的应用程序,并且目前无法xpra按照已接受的run_scaled解决方案的要求进行使用。我也不能容忍gnome-tweak-tool的2倍缩放。太大了 需要1.5倍。

我发现TigerVNC Java客户端支持150%的客户端显示缩放。

因此,我以2 / 3rds大小和最小的Windows Manager启动了vncserver:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

然后,我连接TigerVNC的v1.7 Java客户端(1.8.0一直崩溃对我来说):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

除了命令行以外,您还可以单击F8以获取VNC查看器选项。屏幕->缩放系数-> 150%。这会将分辨率从4k的2 / 3rds缩放到4k。

在此处输入图片说明

VNC中的原始MWM,左侧缩放比例为150%。花式Gnome桌面(本机)在右侧,无缩放比例。您会注意到这些小图标。否则,在gnome-tweak-tool中使用1.5倍字体缩放将Gnome调整为4k,但是图标无法缩放。这只是一个示例应用程序-以这种方式推动我前进的应用程序中的图标和缩放比例要差得多。

不幸的是,这是整个1.5倍缩放的桌面,带有单独的窗口管理器。它为我的多窗口应用程序创建了一个不错的隔离区域,但是又有了第二个窗口管理器很烦人。但是,VNC是我长期使用后所熟悉的东西,而且确实可以很容易地应用到笔记本电脑上,因此也许可以使用。


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.