![在 Linux 中设置单个应用程序的 DPI](https://linux22.com/image/1348899/%E5%9C%A8%20Linux%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%E5%8D%95%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%20DPI.png)
为了测试我正在开发的 Qt 应用程序,我需要使用各种 DPI 设置来运行它,以查看其外观。我可以通过几种方式全局更改 DPI 设置(外观->字体或在 ~/.Xresources 中输入“Xft.dpi: NNN”),但这很麻烦。
有没有一种简单的方法可以只为特定应用程序更改 DPI 设置而不是全局更改(影响整个桌面)?
答案1
DPI 是在 X 内设置的(基于每个显示器),并且我认为不能基于应用程序进行设置。所以,不行。
答案2
参加聚会有点晚了,但是的,你可以用一个技巧来做到这一点。
#!/usr/bin/bash
OLDDPI=$(xrdb -query | awk '/Xft.dpi/ {print $2}')
xrdb -merge <(echo "Xft.dpi: 108")
$* & disown
sleep 3
xrdb -merge <(echo "Xft.dpi: $OLDDPI")
您可以将其保存为脚本,每当您需要更改应用程序的 DPI 时
答案3
有几种解决方案:
- 修改通常位于的.desktop 文件并在 Exec 命令行中
/usr/share/applications/
添加选项。--force-device-scale-factor=1.5
- 某些应用程序(例如 Zoom)在 ~/.config 中创建一个 .conf 文件,您可以在其中指定比例参数:
ScaleFactor
。
如果这还不够的话,您可能会在这里找到解决方案:
https://wiki.archlinux.org/title/HiDPI(本 wiki 中列出的大多数解决方案并不特定于 Arch,并且适用于各种桌面环境)