动态更改显示缩放比例

动态更改显示缩放比例

我正在寻找键盘快捷键或 CLI 指令来动态更改显示比例。似乎 compiz-config 管理器中没有任何东西可以处理这个问题?

显示比例设置

答案1

这个答案@rubo77 提供了类似问题的出色解决方案。我将在最后一部分中详细说明以实现这个结果

如果你打开终端,你可以找到设置更改的位置:

gsettings list-recursively > /tmp/before
echo 'Now unity-control-center should open. Please change the scaling in "Displays" and close.'
unity-control-center
gsettings list-recursively > /tmp/after
diff /tmp/before /tmp/after | grep '[>|<]'

将以上几行复制并粘贴到终端中。这些命令将创建两个临时文件 -比例因子的变化。Enter关闭 Unity Control Center 后按 执行最后一行,将比较这两个临时文件。

在我的系统中,当我将比例因子从 1 更改为 1.5 时,上述输出为:

< org.gnome.desktop.interface text-scaling-factor 1.0
> org.gnome.desktop.interface text-scaling-factor 1.5
< org.gnome.desktop.interface cursor-size 24
> org.gnome.desktop.interface cursor-size 36
< com.ubuntu.user-interface scale-factor {'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 8}
> com.ubuntu.user-interface scale-factor {'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 12}

因此新的价值观是:

> org.gnome.desktop.interface text-scaling-factor 1.5
> org.gnome.desktop.interface cursor-size 36
> com.ubuntu.user-interface scale-factor {'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 12}

1我记录了缩放因子为、1.25和时的值1.5

这些值可以通过命令行使用命令 进行更改gsettings set。因此,根据原始答案,我创建了一个名为 的脚本,setscalefactor并将其放置在 中/usr/local/bin/,因此它将作为 shell 命令使用:

sudo touch /usr/local/bin/setscalefactor
sudo chmod +x /usr/local/bin/setscalefactor
sudo nano /usr/local/bin/setscalefactor

我的脚本内容是:

#!/bin/bash

if [ -z "${1}" ] || [ "$1" == "1" ] || [ "$1" == "1.0" ]; then
    # set scaling to 1.0
    gsettings set org.gnome.desktop.interface text-scaling-factor 1.0
    gsettings set org.gnome.desktop.interface cursor-size 24
    gsettings set com.ubuntu.user-interface scale-factor "{'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 8}"
    echo "Set Scale factor: 1.0"; notify-send "Scale Factor" "1.0"
elif [ "$1" == "1.25" ]; then
    # set scaling to 1.25
    gsettings set org.gnome.desktop.interface text-scaling-factor 1.25
    gsettings set org.gnome.desktop.interface cursor-size 30
    gsettings set com.ubuntu.user-interface scale-factor "{'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 10}"
    echo "Set Scale factor: 1.25"; notify-send "Scale Factor" "1.25"
elif [ "$1" == "1.5" ]; then
    # set scaling to 1.5
    gsettings set org.gnome.desktop.interface text-scaling-factor 1.5
    gsettings set org.gnome.desktop.interface cursor-size 36
    gsettings set com.ubuntu.user-interface scale-factor "{'VGA-1': 8, 'HDMI-0': 8, 'HDMI-1': 12}"
    echo "Set Scale factor: 1.5"; notify-send "Scale Factor" "1.5"
else
    echo "ERROR: Something went wrong!"; notify-send "Scale Factor" "ERROR: Something went wrong!"
fi

exit
  • 复制以上内容并使用nanoShift+Insert粘贴;Ctrl+OEnter保存;Ctrl+X退出。
  • 将后面的内容替换gsettings set为您的系统中的值!
  • 请注意引号:"{'VGA-1': ...}"

现在setscalefactor可以用作 shell 命令并能处理1.01.251.5作为参数,而且当它在没有参数的情况下执行时它将转换为 1。该脚本将打印一些状态消息。

下一步是创建可通过以下方式访问的脚本快捷键组合。转到:Unity 控制中心(系统设置)> 键盘 > 快捷键 > 自定义快捷键。然后创建您的自定义快捷键,如图所示:

在此处输入图片描述

答案2

你必须看看兰德. 我说它是首选工具。

编辑:xrandr --output "output_name" --scale 0.9x0.9

查看更多示例:man xrandr

答案3

使用以下命令检查显示面板接口名称:

xrandr

然后缩放:

xrandr --output HDMI-1-1 --scale 1x1

这里HDMI-1-1是我的显示面板接口,因为我通过 HDMI 端口连接到我的第二个显示器。

在此处输入图片描述

相关内容