我正在使用Ubuntu 20.04
和Linux Kernel 5.7.10-050710-generic
。GNOME Shell 3.36.3
我已将字体缩放因子设置为,1.25
但最近当我重新启动时,缩放因子会持续到 UI,但它不会应用于 gnome shell。
为了使其再次工作,我必须手动将其重置1.25
。
有什么建议么?
答案1
我在全新安装 Ubuntu 20.04 时也遇到了这个问题。我发现这个问题的根本原因已经找到了(https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1892440)。
我可以提供我的解决方法:在自动启动中添加一个简单的命令,在登录后明确设置“文本缩放因子”。 GNOME shell 将正确注意到此更改,从而使 GNOME shell 文本正确缩放。
为此,请创建一个$HOME/.config/autostart/fix-font-scaling.desktop
包含以下内容的文件:
[Desktop Entry]
Name=Fix Font Scaling
GenericName=Fix Font Scaling
Exec=/home/michalis/bin/fix-font-scaling.sh
Terminal=false
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true
此处/home/michalis/bin/
仅是举例,是我保存脚本的地方。
然后编写一个脚本/home/michalis/bin/fix-font-scaling.sh
,内容如下:
#!/bin/bash
set -eu
# wait a bit, otherwise the change seems to not be noticed properly
sleep 1s
# change to 1.5 then to 1.25, it seems necessary for GNOME shell to register this "change"
gsettings set org.gnome.desktop.interface text-scaling-factor 1.5
gsettings set org.gnome.desktop.interface text-scaling-factor 1.25
使其可执行(chmod +x /home/michalis/bin/fix-font-scaling.sh
)。
并根据需要调整上面的1.25。
请注意,这将覆盖您通过设置设置的文本缩放比例(“辅助功能 -> 大文本”,或 GNOME 调整工具“文本缩放”)。
注意: 做什么set -eu
?
它使编写 bash 脚本更安全,所以我学会了在所有 bash 脚本中自动使用它:)
set -e
它是和的快捷方式set -u
。
这
set -e
意味着一旦某个命令以非零状态退出,bash 脚本也会以非零状态退出。例如,如果sleep
命令因任何奇怪的原因失败,gsettings
则不会执行后续调用。如果没有set -e
,bash 脚本会顺利地继续执行,即使途中某些东西报告失败。这
set -u
意味着当您尝试使用未定义的变量(如)时,脚本会失败echo ${SOMETHING_UNDEFINED}
。这样set -u
可以更轻松地捕获脚本中的错误。它对不使用变量的特定脚本不起作用 :) 这只是我的习惯使然。
有一篇很棒的文章讨论了这个(以及一些相关的)bash构造,以使bash脚本更容易编写/调试,http://redsymbol.net/articles/unofficial-bash-strict-mode/。