Я использую Ubuntu 18.10.
Я пытаюсь создать два псевдонима в моем .bashrc для команд «resdown» и «resup» (т.е. уменьшать и увеличивать разрешение экрана соответственно).
Команда resdown выглядит следующим образом и отлично работает:
xrandr --output DP-2 --mode 3840x2160
У меня проблема с resup . Когда я запускаю следующее:
xrandr --output DP-2 --mode 3840x2160
Масштабирование пользовательского интерфейса возвращается к 100%. Мне нужно изменить масштаб до 200%, или все на моем дисплее 4K невероятно маленькое.
Я экспериментировал с параметром «--scale» для xrandr, но он полностью портит мой дисплей . Таким образом, я не уверен, что он делает то, что я думаю:
xrandr --output DP-2 --mode 3840x2160 --scale 2x2
Если бы я использовал свой второй монитор, чтобы вернуться в gnome -control-center, я могу установить разрешение экрана и масштабирование нормально, и все вернется в норму. Однако я хочу сделать это из командной строки.
В основном - я хочу знать, как установить параметр «Масштаб», который вы видите в gnome-control-center (см. Ниже), из командной строки. Как я могу это сделать?:
Tl;Dr:
sed -i -e '/<масштаб>/ s/1/2/' ~/.config/monitors.xml && sudo systemctl перезапустить gdm
Mutter слушает некоторые настройки в Gsettings, и, взглянув на код, в gsettings есть поддержка устаревших настроек, таких как gsettings ui-scaling-factor. Для других вещей он поддерживает использование XML для конфигурации.Вам, вероятно, потребуется Alt+F2, r
, чтобы перезапустить gnome-shell для применения настроек... или выяснить детали dbus из кода.
Вот мой конфиг для старого монитора... обратите внимание на строку... легко sed
~/.config/monitors.xml
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<primary>yes</primary>
<transform>
<rotation>upside_down</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>HDMI-1</connector>
<vendor>ACR</vendor>
<product>V226HQL</product>
<serial>T0WAA0072442</serial>
</monitorspec>
<mode>
<width>1920</width>
<height>1080</height>
<rate>60</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
Я собрал приведенные выше коды, чтобы сделать 200x. Это работает на Wayland и X, но вы выйдете из системы. Если вы можете сделать ALt + F2, r
, это, очевидно, будет лучше ... Я пытался сделать это с помощью команды терминала и просто продолжал сбой gnome. Можно использовать Robot.js или xdotool для отправки команды перезапуска... например,
xdotool keydown alt && sleep 1 && xdotool key F2 keyup alt && sleep 1 && xdotool key r && sleep 1 && xdotool key KP_Enter
My полная версия для X11 swap-res.sh
... это работает и с сочетаниями клавиш Ubuntu
#!/bin/bash
File=~/.config/monitors.xml
if grep -q "<scale>1" "$File"; then
sed -i -e '/<scale>1/ s/1/3/' "$File"
else
sed -i -e '/<scale>3/ s/3/1/' "$File"
fi
# Unix Utils
xdotool keydown alt && sleep 1 && xdotool key F2 keyup alt \
&& sleep 1 && xdotool key r key KP_Enter
Источник: https://gitlab.gnome.org/GNOME/mutter/ (буквально, оставить звездочку!)
SEO / Похожие вопросы:
Масштабирование экрана входа в Gnome на дисплее HiDPI
Как использовать Mutter с GNOME Shell?
Изменение масштабирования пользовательского интерфейса из командной строки