Как я могу сделать шкалу lightdm на экране hidpi?
3 ответа
Я нашел небольшое исправление, которое, кажется, работает при входе в систему, но не на экране блокировки. Это решение также делает верхнюю панель немного неуклюжей, так как текст слишком большой для конфинсов - возможно, тема костюма будет лучшим решением? Кроме того, вероятно, настольный компьютер уже установил значение Xft.dpi выше.
- Откройте терминал и запустите
xrdb -query | grep dpi - открыто
/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml - Найти по ключу-имени ="xft-dpi" type="d"
- Замените значение по умолчанию на DPI из
xrdbвыход
Это должно вступить в силу мгновенно (выход из системы показывает больший текст на моей стороне).
Похоже, что решение имитирует то, что приложение Ubuntu'Screen Displays' делает для масштабирования пользовательского интерфейса, когда вы вошли в систему. Я отследил две требуемые настройки. Я создал скрипт для автоматической установки этого значения для моего пользователя, когда я вошел в систему (то есть не для получения единства), но вы можете использовать те же настройки для изменения единства.
У меня есть 2 дисплея 4K, и я хотел, чтобы они оба были установлены с коэффициентом масштабирования 2, вот как выглядит мой скрипт:
#!/usr/bin/env bash
set -e
# Find connected displays, we're assuming that all of the
# connected displays will require scaling.
function createScaleFactor() {
SCREENS=$(xrandr --query | grep " connected" | awk '{ print $1 }')
FACTORS=$(for SCREEN in ${SCREENS}; do printf "'${SCREEN}': 16, "; done)
echo "{${FACTORS::-2}}"
}
# Set both gnome and ubuntu interface scaling.
gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set com.ubuntu.user-interface scale-factor "$(createScaleFactor)"
Прямо в конце вы можете увидеть две настройки, которые нужно изменить. Таким образом, чтобы изменить их на единство (то есть lightdm), вам необходимо войти в систему как lightdm. Вы можете использовать dconf-editor для этого:
$ sudo xhost +SI:localuser:lightdm
$ sudo su -s /bin/bash lightdm
$ dconf-editor
Когда вы увидите dconf-editor, перейдите к двум ключам в приведенном выше скрипте и установите для них нужные вам значения. Если вы запустили этот скрипт выше, вы можете открыть dconf-editor обычным способом, просто взять сгенерированные и установленные вами значения и скопировать их в экземпляр dconf-editor, который работает как lightdm.
Просто, чтобы положить глазурь на торт, это решение также не делает ничего странного. Все это масштабируется правильно, без текста, выглядящего необычно большим для пользовательского интерфейса или чего-то подобного. Некоторые изображения не настолько резкие, как могли бы, но вы можете настроить их, если хотите, и, возможно, они будут обновлены для изображений с более высоким разрешением в будущем.
В идеале, в будущем обновлении либо будет возможность установить это, либо он будет автоматически обнаруживать это (возможно, аналогично тому, как он устанавливает обои пользователя).
Другие ответы в порядке. Однако они будут только масштабировать шрифты. Это приведет к неравномерности между шрифтами и другими элементами. Вы должны масштабировать весь дисплей. Для этого вам нужно запустить скрипт при запуске lightdm и установить масштабирование с помощью xrandr. Вы можете найти подробности здесь: http://evren-yurtesen.blogspot.fi/2017/10/lightdm-and-4k-displays.html