动态更改显示比例

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

显示比例设置

你必须看看xrandr 。 我说这是首选工具。

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

查看更多示例: man xrandr

@ 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 '[>|<]' 

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

在我的系统中,当我将比例因子从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.251.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命令使用,并且可以处理setscalefactor1.5作为参数,当它在没有参数的情况下执行时它将销售为1.脚本将打印和一些状态消息。

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

在此处输入图像描述