Изменить масштабирование экрана на лету

Я ищу сочетание клавиш или инструкцию CLI, чтобы изменить масштаб отображения на лету. Кажется, в диспетчере compiz-config нет ничего, чтобы справиться с этим?

2 ответа

Решение

Вы должны взглянуть на 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 '[>|<]'

Скопируйте и вставьте вышеуказанные строки в терминал. Эти команды создадут два временных файла - до и после изменения масштабного коэффициента. Нажмите 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/ Таким образом, он будет доступен в виде команды оболочки:

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
  • Скопируйте вышеуказанный контент и используйте в nano: Shift + Вставка для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.
  • Заменить содержимое после gsettings set со значениями из вашей системы!
  • Обратите внимание на кавычки: "{'VGA-1': ...}",

Сейчас setscalefactor доступно как команда оболочки и может обрабатывать 1.0, 1.25 а также 1.5 в качестве аргументов, также, когда он выполняется без аргумента, он будет продаваться 1. Скрипт напечатает и некоторые сообщения о состоянии.

Следующим шагом является создание этого скрипта, доступного через комбинацию клавиш. Перейдите в: Центр управления Unity (Системные настройки) > Клавиатура> Сочетания клавиш> Пользовательские сочетания клавиш. Затем создайте свои собственные ярлыки, например, как изображение:

Используйте команду ниже, чтобы проверить имя интерфейса панели отображения:

       xrandr

Затем масштабировать:

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

здесь HDMI-1-1 - это интерфейс моей панели дисплея, так как я подключен ко второму дисплею через порт hdmi.

Другие вопросы по тегам