ArchLinux应用程序缩放问题
Zane Lv4

ArchLinux应用程序缩放问题

本文最后更新于:2022年2月3日 晚上

引言


对于 ArchLinux 中很多应用程序没有完善的设置界面,并且小部分应用程序的缩放大小与电脑设置是不同步的,多发生在高分辨率的显示器下,因为分辨率过高导致相同缩放时其界面还有字体显示非常小。

正文


以 Spotify 为例

对于通过 yay 或 pacman 下载的应用程序,一般都会根据系统设置同步应用程序缩放的设置,但使用 Spotify 过程中并没有自动更改;

sudo vim /usr/share/application/spotify.desktop

1
2
3
4
5
6
7
8
9
10
11
[Desktop Entry]
Type=Application
Name=Spotify
GenericName=Music Player
Icon=spotify-client
TryExec=spotify
Exec=spotify --uri=%U --force-device-scale-factor=2 %U
Terminal=false
MimeType=x-scheme-handler/spotify;
Categories=Audio;Music;Player;AudioVideo;
StartupWMClass=spotify

找到 Exec 的选项,在 %U 前添加 –force-device-scale-factor=2;

重新打开 Spotify 即可;

以 Charles 为例


对于类似 Charles 这种解压 tar.gz 后缀的应用程序,其在 ArchLinux 下的打开方式都是通过官方配置好的 .sh 文件,打开 /bin/charles

1
2
3
4
5
# HiDPI
if [ -x /usr/bin/gsettings ]; then
GDK_SCALE=$(/usr/bin/gsettings get org.gnome.desktop.interface scaling-factor | awk '{print $2}')
export GDK_SCALE
fi

可以看到这个应用程序是支持HiDPI(高分辨率小尺寸的显示器),也就是说他在运行时会自动调整程序缩放与系统设置同步;

单独运行/usr/bin/gsettings get org.gnome.desktop.interface scaling-factor

得到 unit32 0 ,其中 0 就表示该程序不进行缩放,通过查看 ArhLinux 关于 HiDPI 的文档,系统设置与上述设置应该是等晓的,即系统设置缩放为%200,那么上述指令打印出来的应该是unit32 2

解决方法

因此找到原因后解决就很简单了,只需要单独是设置其缩放的 value 就好,根据 ArchLinux文档使用下方指令就行;

1
$ gsettings set org.gnome.desktop.interface scaling-factor 2

总结

对于这个问题仍然处于似懂非懂的层面,可能再研究就是下次碰到什么应用程序缩放有问题了;

由 Hexo 驱动 & 主题 Keep